Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。它能够通过配置文件实现多个项目的部署,并通过不同的域名进行访问。
假设我们有两个项目:project1 和 project2,分别通过 project1.example.com 和 project2.example.com 访问。
sudo apt update
sudo apt install nginx编辑 Nginx 配置文件 /etc/nginx/sites-available/default,添加以下内容:
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;
}
}确保 project1 和 project2 分别在端口 3000 和 4000 上运行。
# 启动 project1
cd /path/to/project1
npm start
# 启动 project2
cd /path/to/project2
npm startsudo systemctl restart nginx问题:访问域名时提示 域名无法解析。
原因:DNS 配置不正确或未生效。
解决方法:
问题:访问域名时提示 502 Bad Gateway。
原因:Nginx 配置错误或后端服务未启动。
解决方法:
问题:需要使用 HTTPS 访问网站。
解决方法:
通过以上配置和解决方法,你可以成功部署多个项目并通过不同域名进行访问。