用Nginx反向代理Node.js的方法

本文详细介绍了如何使用Nginx作为反向代理服务器来为Node.js应用程序提供服务,包括安装pm2、配置Nginx以及设置开机启动等步骤,确保Node.js应用稳定运行。

本篇文章主要介绍了用Nginx反向代理Node.js的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文介绍了用Nginx反向代理Node.js的方法,分享给大家,具体如下:

安装pm2

npm install pm2 -gln -s /home/download/node-v8.11.1-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2
修改package.json

“scripts”: { “test”: “echo “Error: no test specified” && exit 1”, “pm2”: “/home/download/node-v8.11.1-linux-x64/lib/node_modules/pm2/bin/pm2 start /web/mazey.cn/server/app.js”}
or

“scripts”: { “test”: “echo “Error: no test specified” && exit 1”, “pm2”: “pm2 start app.js”}
启动pm2

npm run pm2
开机启动pm2

pm2 savepm2 startup centos
注意

若 pm2 startup centos 失败,可尝试 pm2 startup 。

PM2 detected systemv but you precised centos Please verify that your choice is indeed your init system If you arent sure, just run : pm2 startup
修改Nginx配置

vim /etc/nginx/conf.d/.confupstream nodejs { server 127.0.0.1:3000; keepalive 64;}server { listen 80; server_name domain.cn; root /web/mazey.cn; index index.html index.htm; # 网站切到/server下时走nodejs location /server { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host KaTeX parse error: Expected 'EOF', got '}' at position 107: …http://nodejs; }̲ location ~ .*\… { expires 30d; } location ~ ..(js|css)?$ { expires 1h; }}搜索引擎大全
相应的 app.js :

const express = require(‘express’)const app = express()let hi = ‘hi’app.get(’/server’, (req, res, next) => { hi = Hello Mazey!\n next()}, (req, res) => { res.send(${hi} ${req.method}\n ${req.originalUrl}\n ${req.query.id}\n)})const server = app.listen(3000, function () { let host = server.address().address let port = server.address().port console.log(‘Example app listening at http://%s:%s’, host, port)})
注意

若报错 Cannot GET /xxx 说明 Express 的路由没配好。

同一ip(都是80端口)可以绑定无数个域名 配置简单 里面包含一个配置文档:配置文档.doc 看一遍 大部分人都会设置了。 内容如下: NGNIX配置文档 1.解压文件到相应文件夹下(我解压到D:/下) (这里是图片) 目录结构如上 2.在D:\nginx\目录下用记事本新建一个文本文档改名为 proxy.conf。 proxy.conf里面的内容格式如下: server { listen 80; server_name www.*****.com; location / { proxy_pass http://192.168.45.1:8045; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } (完整拷贝上面的内容server_name www.*****.com; 这里面的域名即是来访域名 proxy_pass http://192.168.45.1:8045; 这里面的域名(http://192.168.45.1:8045)即是内部跳转的地址,将该内容拷贝多份实现不同来访域名的跳转) 如下: 3.找到D:\nginx\conf下nginx.conf文件用记事本打开 在文段末尾大括号前加上 include proxy.conf;(就是加载刚刚新建的那个文件(注意路径)) 4.进入cmd 进入D盘: d: 进到nginx文件夹下:cd nginx 启动nginx.exe:start nginx Cmd窗口会闪一下 进程里面会多了个 浏览器里面输入:http://127.0.0.1 将出现: Nginx的欢迎界面。 注: nginx -s stop // 停止nginx nginx -s reload // 重新加载配置文件 nginx -s quit // 退出nginx nginx-1.3.9.zip(这个版本) (1分钟搞定只是夸张说法啦,给你增加信心的啦,真正的操作起来,因人而异,没搞定的耐心再试试,自己xp系统亲测成功,不喜欢的无拍砖哦,实在搞不定的加我qq852208555 一起研究下 谢谢!)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值