温馨提示×

lnmp如何添加虚拟主机

小樊
65
2026-08-31 19:01:56
栏目: 云计算

在 LNMP(Linux + Nginx + MySQL + PHP) 环境下,“添加虚拟主机”通常指 新增一个 Nginx 站点(Server Block),并绑定域名或端口。下面以 最常见的情况(源码安装或 lnmp.org 一键包) 来说明。


一、如果你使用的是 lnmp.org 一键安装包(推荐新手)

1️⃣ 使用官方命令添加

lnmp vhost add

按提示输入:

  • 域名(如 www.example.com)
  • 是否开启伪静态(如 WordPress)
  • 网站目录
  • 是否开启日志
  • 是否创建数据库

执行完成后:

  • 配置在:/usr/local/nginx/conf/vhost/www.example.com.conf
  • 网站根目录:/home/wwwroot/www.example.com

2️⃣ 重启 Nginx

lnmp nginx reload
# 或
/etc/init.d/nginx reload

二、如果你使用的是 源码 / 官方 Nginx

1️⃣ 创建网站目录

mkdir -p /var/www/example.com
chown -R www:www /var/www/example.com

2️⃣ 创建虚拟主机配置文件

vim /usr/local/nginx/conf/vhost/example.com.conf

示例配置:

server {
    listen 80;
    server_name www.example.com example.com;

    root /var/www/example.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/tmp/php-cgi.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    access_log /var/log/nginx/example.com.log;
}

⚠️ fastcgi_pass 根据你的 PHP 方式调整(sock 或 127.0.0.1:9000)


3️⃣ 引入虚拟主机配置

在 nginx.conf 中确保有:

include vhost/*.conf;

4️⃣ 测试并重载 Nginx

nginx -t
nginx -s reload

三、绑定域名(重要)

如果是服务器公网 IP:

  • 域名解析 → A 记录 → 服务器 IP
  • 本地测试可改 hosts 文件

四、开启 HTTPS(可选)

lnmp vhost add
# 选择 Let's Encrypt

或手动使用:

certbot --nginx

五、常见问题

✅ 403 错误

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

✅ 502 错误

  • PHP-FPM 没启动
  • fastcgi_pass 配置错误

✅ 伪静态失效

  • 使用 lnmp vhost add 时选择对应规则

如果你能告诉我:

  • 是 lnmp.org 一键包 还是 自己编译
  • 系统(CentOS / Ubuntu)
  • 是否需要 HTTPS / 多域名 / 子目录

我可以给你 精确配置示例。

0 踩