Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。通过配置 Nginx,可以将不同的域名或子域名绑定到同一台服务器上的不同目录,实现虚拟主机功能。
假设我们有一个域名 example.com
,并且希望将 www.example.com
指向 /var/www/html/www
目录,将 blog.example.com
指向 /var/www/html/blog
目录。
首先,确保 DNS 记录已经正确配置,将 www.example.com
和 blog.example.com
指向你的服务器 IP 地址。
编辑 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
),添加以下内容:
server {
listen 80;
server_name www.example.com;
root /var/www/html/www;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name blog.example.com;
root /var/www/html/blog;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
保存配置文件后,重启 Nginx 使配置生效:
sudo systemctl restart nginx
问题:访问域名时提示 Server not found
或 DNS lookup failed
。
原因:DNS 记录未正确配置或未生效。
解决方法:
nslookup
或 dig
命令检查域名解析是否正常。问题:访问域名时提示 502 Bad Gateway
或 404 Not Found
。
原因:Nginx 配置文件有误或目录权限问题。
解决方法:
nginx -t
命令进行检查。/var/log/nginx/error.log
)以获取更多错误信息。问题:访问 HTTPS 站点时提示 SSL connection error
。
原因:SSL 证书配置不正确或未安装。
解决方法:
通过以上步骤,你应该能够成功地将二级目录绑定到不同的域名,并解决常见的配置问题。
领取专属 10元无门槛券
手把手带您无忧上云