当咱们服务器只有一个项目node项目时候,使用pm2启动一个80的端口,可是多个项目的话,一种解决办法就是域名+端口,显然这种方式是不合理。html
咱们的初衷是一个域名的就是一个项目,此时nginx的就能够作到这一点。node
nginx的安装介绍nginx
先登陆本身的服务器,找到nginx.conf的文件,用编辑器打开(若是不知道这个文件在哪里,能够执行 whereis nginx.conf
)缓存
修改nginx.conf的文件 ( 这段代码添加在http里面的#gzip on; 后面一行!! 表示2个端口号,后期配置会使用的2个域名带访问)bash
upstream myjianshu {
#ip_hash;
server 127.0.0.1:1000;
}
upstream myemail {
#ip_hash;
server 127.0.0.1:8081;
}
复制代码
server {
listen 80;
# jianshu 是我域名解析出来的
server_name jianshu.你的域名.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
#location / {
# root html;
# index index.html index.htm;
#}
location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
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_buffering off;
#反向代理的地址(和 upstream 名字对应起来就ok了)
proxy_pass http://myjianshu;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
复制代码
server {
listen 80;
server_name email.你的域名.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
#location / {
# root html;
# index index.html index.htm;
#}
location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
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_buffering off;
#反向代理的地址
proxy_pass http://myemail;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
复制代码
./nginx -s reload
复制代码
1. jianshu.XXX.cn
2. email.XXX.cn
复制代码
以上是代理了2个项目,多个项目就是粘贴复制,域名解析和nginx.conf更改一些参数便可,而后重启,刷新访问服务器