在 LNMP 环境(Linux + Nginx + MySQL/MariaDB + PHP) 中“添加站点”,通常指 新增一个 Nginx 虚拟主机(Server Block),并对应一个网站目录和(可选)数据库。下面按 最常用做法 给你一套完整流程。
假设你已经安装好 LNMP,例如:
example.com)mkdir -p /var/www/example.com
放一个测试页面:
echo "<?php phpinfo(); ?>" > /var/www/example.com/index.php
生产环境记得修改目录权限
chown -R nginx:nginx /var/www/example.com
chmod -R 755 /var/www/example.com
(用户可能是 www-data,用 ps aux | grep nginx 确认)
vim /etc/nginx/conf.d/example.com.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
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;
}
location ~ /\. {
deny all;
}
}
✅ PHP-FPM sock 路径注意
/run/php-fpm/www.sock/run/php/php8.1-fpm.sock(版本不同)nginx -t
systemctl reload nginx
浏览器访问:
http://example.com
✅ 看到 phpinfo() 说明成功
# CentOS
yum install certbot python3-certbot-nginx -y
# Ubuntu
apt install certbot python3-certbot-nginx -y
certbot --nginx -d example.com -d www.example.com
Certbot 会自动修改 Nginx 配置并配置 HTTPS。
mysql -uroot -p
CREATE DATABASE example_db CHARACTER SET utf8mb4;
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
如果你用的是 lnmp.org 一键包,可以直接:
lnmp vhost add
按提示输入:
✅ 它会自动生成 Nginx 配置 + SSL + rewrite 规则
index 文件不存在fastcgi_pass 路径错误systemctl status php-fpm
nginx -t
ss -lntp | grep 80
1. 创建网站目录
2. 新建 Nginx vhost 配置
3. 配置 PHP-FPM
4. nginx -t && reload
5. 可选:创建数据库
6. 可选:配置 HTTPS
如果你愿意,可以告诉我:
我可以给你 完全贴合你环境的配置模板。