温馨提示×

LNMP环境如何添加站点

小樊
40
2026-08-06 01:35:10
栏目: 编程语言

LNMP 环境(Linux + Nginx + MySQL/MariaDB + PHP) 中“添加站点”,通常指 新增一个 Nginx 虚拟主机(Server Block),并对应一个网站目录和(可选)数据库。下面按 最常用做法 给你一套完整流程。


一、准备条件

假设你已经安装好 LNMP,例如:

  • Nginx 已运行
  • PHP-FPM 已运行
  • MySQL / MariaDB 已运行
  • 域名已解析到服务器 IP(如 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 确认)


三、创建 Nginx 虚拟主机配置文件

1️⃣ 新建配置文件

vim /etc/nginx/conf.d/example.com.conf

2️⃣ 基础配置(PHP 站点)

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 路径注意

  • CentOS / Rocky / Alma:/run/php-fpm/www.sock
  • Ubuntu / Debian:/run/php/php8.1-fpm.sock(版本不同)

四、检查并重载 Nginx

nginx -t
systemctl reload nginx

浏览器访问:

http://example.com

✅ 看到 phpinfo() 说明成功


五、配置 HTTPS(强烈推荐)

1️⃣ 安装 Certbot

# CentOS
yum install certbot python3-certbot-nginx -y

# Ubuntu
apt install certbot python3-certbot-nginx -y

2️⃣ 申请证书

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 一键包(如你用的是 lnmp.org)

如果你用的是 lnmp.org 一键包,可以直接:

lnmp vhost add

按提示输入:

  • 域名
  • 网站目录
  • 是否启用 MySQL
  • 是否启用 SSL

✅ 它会自动生成 Nginx 配置 + SSL + rewrite 规则


八、常见问题排查

❌ 403 Forbidden

  • 目录权限不对
  • index 文件不存在

❌ 502 Bad Gateway

  • PHP-FPM 没启动
  • 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

如果你愿意,可以告诉我:

  • ✅ 系统版本(CentOS / Ubuntu)
  • ✅ 是否使用 lnmp.org 一键包
  • ✅ 静态站 / PHP / WordPress / Laravel

我可以给你 完全贴合你环境的配置模板

0