首页 > 开发 > NodeJS > 正文

怎样使用node作为多个项目的服务器?

2017-09-08 17:34:09  来源:网友分享

我现在有这样的需求:

当前有projectAprojectB,将来可能还会有projectC等等,这些项目都是由node.js开发的。现在我需要通过localhost/projectBlocalhost/projectB的方式来分别访问到projectAprojectB

整理:

1.projectAprojectB都是node项目
2.localhost/projectA访问projectAlocalhost/projectB访问projectB

请问要怎么样才能做到?谢谢!

解决方案

在你nginx的conf.d中分别创建两个文本文件:projectA.confprojectB.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