Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。它能够通过配置文件实现多个域名的部署,每个域名可以指向不同的项目。
假设我们有两个项目,分别对应 project1.example.com
和 project2.example.com
,并且它们分别运行在不同的端口上(例如,项目1运行在端口3000,项目2运行在端口4000)。
server {
listen 80;
server_name project1.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
server_name project2.example.com;
location / {
proxy_pass http://localhost:4000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
原因:可能是 DNS 配置错误或 Nginx 配置文件中的 server_name
不正确。
解决方法:
server_name
与域名一致。原因:可能是后端服务未启动或端口配置错误。
解决方法:
proxy_pass
地址和端口是否正确。原因:可能是 SSL 证书配置不正确或未安装。
解决方法:
通过以上配置和常见问题解决方法,你应该能够成功部署多个项目并使用不同的域名进行访问。
领取专属 10元无门槛券
手把手带您无忧上云