我现在有这样的需求:
当前有projectA
和projectB
,将来可能还会有projectC
等等,这些项目都是由node.js
开发的。现在我需要通过localhost/projectB
、localhost/projectB
的方式来分别访问到projectA
和projectB
。
整理:
1.projectA
、projectB
都是node
项目
2.localhost/projectA
访问projectA
,localhost/projectB
访问projectB
请问要怎么样才能做到?谢谢!
解决方案
在你nginx的conf.d
中分别创建两个文本文件:projectA.conf
和projectB.conf
vim projectA.confvim projectB.conf
在你的projectA.conf
中:
server { listen 80; server_name projectA.example.org; access_log /var/log/nginx/projectA.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header Connection ""; proxy_http_version 1.1; proxy_pass http://localhost:3000; }}
在你的projectB.conf
中:
server { listen 80; server_name projectB.example.org; access_log /var/log/nginx/projectB.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header Connection ""; proxy_http_version 1.1; proxy_pass http://localhost:3001; }}
假设你的projectA应用监听端口为3000,projectB应用监听端口为3001