node.js项目上线部署,nginx反向代理tomcat和express

博主昨天为了部署我的博客项目弄到了凌晨两点太难受了鸭。中间碰到好多坑,索性出一期教程,能为其他人做一分贡献就不算白费。
其实这次部署还不算完整,node.js应该用pm2来部署,为了方便我直接在控制台中用nodemon启动了。下次有空再完善吧
首先看看我们的准备材料

1,一个前后端联调成功的项目
包括,一个web工程,一个node.js工程
2,服务器上有tomcat和node.js以及数据库MYSQL(数据库什么都一样哒,能调通就行)

nginx下载地址
这就是我们的准备工作啦,然后把我的express项目拷贝到服务器上跑通,看看有没有遗漏的插件之类的。
因为某种为学业所迫的原因,我的服务器是windows系统的。和各位大佬的linux格格不入。

express能跑通后,在将web项目放到tomcat中运行。记住,这两个设置的都是localhost端口。外网的访问我们交给nginx,外网访问nginx后,nginx再在本地进行反向代理,web和server。如下图
node.js项目上线部署,nginx反向代理tomcat和express_第1张图片
然后我们开始配置nginx。打开nginx的conf文件中的nginx.conf文件
node.js项目上线部署,nginx反向代理tomcat和express_第2张图片
在nginx.conf中进行反向代理的配置
首先是监听对外端口和域名的修改
node.js项目上线部署,nginx反向代理tomcat和express_第3张图片
监听80端口,绑定博客域名为如下。老哥们可以登录我的博客溜达一下

然后开始配置反向代理web和server
node.js项目上线部署,nginx反向代理tomcat和express_第4张图片
tomcat运行的web项目为localhost:8080
node.js运行的本地端口是localhost:3000

最下面的那个配置是为了避免nginx代理后不能加载样式和图片资源进行的资源地址配置
配置好后,启动nignx就行啦。已经启动的只要在nginx的安装目录下运行指令nginx -s reload就可以啦。
然后就可以通过域名访问啦

以下是参考后觉得挺靠谱的大佬博客

windows下配置nginx反向代理tomcat
Nginx与tomcat组合的简单使用
详解 nginx location ~ .*.(js|css)?$ 什么意思

你可能感兴趣的:(前端)