直接安装官方nginx并配置双域名虚拟主机:关闭防火墙与selinux,通过官方源安装,用nginx -t验证、systemctl启动;为site-a.com和site-b.com分别建目录与conf.d独立配置文件,修改hosts测试;支持热重载与基础http认证。

直接上手,不绕弯——从安装到跑通两个不同域名的网站,全程可控、可验证。
安装与基础启动
先确保系统干净:关闭防火墙(systemctl stop firewalld)和 SELinux(临时设为 permissive 或永久禁用)。用官方源安装最新稳定版 Nginx,避免系统默认旧版本带来的配置兼容问题。
- Ubuntu/Debian:导入 GPG 密钥 + 添加 nginx.org 官方源,再 apt install nginx
- CentOS/RHEL:添加 nginx.repo 到 /etc/yum.repos.d/,运行 yum install nginx
安装后执行 nginx -t 验证语法,再 systemctl start nginx 启动。用 curl http://localhost 或浏览器访问服务器 IP,看到 “Welcome to nginx!” 即表示基础服务已就绪。
基于域名的虚拟主机(最常用)
这是生产环境首选方式,靠 HTTP 请求头里的 Host 字段区分站点。关键在 server_name 和独立根目录。
- 创建两个网站目录:mkdir -p /var/www/site-a /var/www/site-b
- 写测试页:echo "
Site A
" > /var/www/site-a/index.html,同理建 site-b - 在 /etc/nginx/conf.d/ 下新建两个配置文件(如 site-a.conf 和 site-b.conf),每个含一个 server 块
- 示例配置:listen 80;、server_name www.site-a.com;、root /var/www/site-a;、index index.html;
别忘了本地测试时修改 /etc/hosts,把 www.site-a.com 和 www.site-b.com 指向服务器 IP,然后分别访问验证。
配置分离与热重载
不要硬改主配置文件 nginx.conf。推荐把每个虚拟主机单独成文件,放在 /etc/nginx/conf.d/ 目录下(该目录默认被 include 进主配置)。这样结构清晰、易维护、不易误操作。
- 每次改完配置,必须执行 nginx -t 检查语法是否正确
- 确认无误后,用 nginx -s reload 平滑重载(不中断已有连接)
- 查看日志排查问题:tail -f /var/log/nginx/error.log
加个基础安全层(可选但实用)
对管理后台或测试环境,快速加上用户名密码保护,无需额外服务。
- 安装 httpd-tools(含 htpasswd 工具)
- 生成密码文件:htpasswd -c /etc/nginx/.htpasswd admin
- 在对应 server 或 location 块里加两行:auth_basic "Restricted"; 和 auth_basic_user_file /etc/nginx/.htpasswd;
重启后访问该站点,浏览器会弹出认证框,输入账号密码即可进入。











