下面给你一套**在 CentOS 上安装 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)**的主流、稳妥做法。以 CentOS 7/8 为例,推荐使用 官方源 + yum/dnf,适合生产环境。
# 更新系统
yum update -y
# 或 CentOS 8
dnf update -y
# 关闭 SELinux(新手建议,生产可按需配置)
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 防火墙放行端口
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
yum install -y epel-release
yum install -y nginx
dnf install -y nginx
启动并设置开机自启:
systemctl start nginx
systemctl enable nginx
浏览器访问服务器 IP,看到 Nginx 欢迎页即成功。
# 添加 MySQL 官方源
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
yum install -y mysql-community-server
systemctl start mysqld
systemctl enable mysqld
查看初始密码:
grep 'temporary password' /var/log/mysqld.log
安全初始化:
mysql_secure_installation
yum install -y mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
yum install -y epel-release yum-utils
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php74
yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-json
dnf install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml
启动 PHP-FPM:
systemctl start php-fpm
systemctl enable php-fpm
编辑站点配置:
vi /etc/nginx/conf.d/default.conf
示例配置:
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
测试并重载:
nginx -t
systemctl reload nginx
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php
访问:
http://服务器IP/info.php
看到 PHP 信息页即说明 LNMP 安装成功。
如果你不想手动配置,也可以用:
wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz
tar zxf lnmp2.0.tar.gz
cd lnmp2.0
./install.sh lnmp
✅ 手动安装:可控、适合学习/生产
✅ 一键安装:省事、适合快速部署
如果你告诉我:
我可以给你更精确的配置方案。