下面给你一份在 Linux 上部署 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 的通用教程,适用于 CentOS / Rocky / Alma / Ubuntu 常见发行版。你可以按自己系统选择对应方式。
# 更新系统
# CentOS / Rocky
yum update -y
# Ubuntu / Debian
apt update && apt upgrade -y
建议:
yum install -y nginx
systemctl enable nginx
systemctl start nginx
apt install -y nginx
systemctl enable nginx
systemctl start nginx
浏览器访问服务器 IP,看到 Nginx 欢迎页 表示成功。
# CentOS
yum install -y mysql-server
systemctl enable mysqld
systemctl start mysqld
# Ubuntu
apt install -y mysql-server
初始化(CentOS):
mysql_secure_installation
yum install -y mariadb-server
systemctl enable mariadb
systemctl start mariadb
yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-*.rpm
yum module enable php:8.1 -y
yum install -y php php-fpm php-mysqlnd php-gd php-mbstring
apt install -y php-fpm php-mysql php-gd php-mbstring
启动 PHP-FPM:
systemctl enable php-fpm
systemctl start php-fpm
编辑站点配置:
vim /etc/nginx/conf.d/default.conf
示例配置:
server {
listen 80;
server_name your_domain_or_ip;
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;
}
}
Ubuntu 注意:
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
测试并重载:
nginx -t
systemctl reload nginx
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php
访问:
http://服务器IP/info.php
能看到 PHP 信息页即部署成功。
如果你不想手动装,可以用:
wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz
tar zxf lnmp2.0.tar.gz
cd lnmp2.0
./install.sh lnmp
✅ 403 错误 → 检查目录权限
✅ 502 错误 → PHP-FPM 未启动或 sock 路径错误
✅ 无法访问 → 防火墙 / 安全组未放行 80
如果你告诉我:
我可以给你精确到命令的部署方案。