nginx 实现转发
服务器外网没开放 3000 端口, 只开放了 80 端口, 但是 80 无法访问
使用 nginx 把外网的 80 端口转发到内网 3000 端口上, 这样访问外网 80 端口跟访问 内网 3000 一样.
nginx 除了端口转发之外, 还有负载均衡, 静态文件开 gzip
- 安装 nginx
- 配置 nginx
ubuntu 环境
apt-get install nginx
nginx -t //告诉配置文件位置,并检测是否正常
vim 打开文件
server {
listen: 80; //监听 80 端口
server_name 自己起名;
location / { //根节点
proxy_pass http://127.0.0.1:3000; //转发到内网 3000 端口
}
}
nginx -t //语法检查一下
service nginx reload //让配置生效
然后这样外网虽然没开 3000 端口,但是依然可以访问内网的程序了
PM2 管理进程
- 安装 pm2
- 使用 pm2 启动, 停止, 重启, 重载程序
- 使用 pm2 的日志, 环境变量管理功能
ssh 用户名@ip
输入密码连接服务器
npm i pm2 -g //全局安装 pm2
pm2 start app //使用 pm2 启动程序
pm2 stop app // 关掉 pm2 进程
pm2 restart app //重启(瞬间断掉)
pm2 reload app //不间断重启
NODE_ENV=production pm2 start app --update-env //在生产环境下启动