服务器部署NODE项目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器部署NODE项目相关的知识,希望对你有一定的参考价值。
参考技术A 1.1 已经在服务器搭建好NODE的环境,若无,可以参考我 前一篇博客 进行搭建。由于此篇博客是在 前一篇博客 基础上进行扩展,如有不明之处,可先看下前一篇博客。1.2 已经写好了一个NODE项目
2.1 因为我是用PM2进行进程管理的,所以先在自己的项目根目录下面写好对应服务器的PM2执行文件:
2.2 在项目根目录下新建一个logs文件夹
2.3 在服务器根目录下把自己的项目拉取下来:
2.4 开放服务器访问安全组
假设你开启项目的端口是3001,打开网页的时候发现打不开访问网址的端口,需要开放服务器访问安全组。
2.4.1 到服务器开通安全组
2.4.2 服务器也要开通设置防火墙
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1.思路
现在如果你的node项目是在3001端口上跑的话,那么你打开网页的地址应该是 http://ip:3000/ ,但是这样的域名不太好看,上线的时候如果可以直接 http://ip/ 这样访问,就好看多了,而且也更加安全,默认开放80端口给外部访问。
2.配置
如果已经配好nginx,则在/etc/nginx/conf.d/下创建一个node反向代理:
然后回到/etc/nginx/下,找到nginx.conf文件:
然后输入 nginx -t -c /etc/nginx/nginx.conf
查看一下是否配置出错,没有错误的话,重启nginx: service nginx restart .
大功告成,去网页看一下,可以通过 http://ip/ 进行访问了。
服务器部署node项目
相信如果做过node项目,在本地应该遇到的问题不会太多,即使遇到问题了自行谷歌也会解决的,但是作为前端程序员,服务器端部署就会遇到一些问题了,参考我写的文章服务器如何安装node http://www.cnblogs.com/caichunbao/p/6744909.html
在本地启动node项目可以直接使用node命令运行一个文件,就可以看到效果,但是在服务器上这样做,你会发现关掉shell之后,你的这个node服务就关闭了,所以在服务器环境下需要换一个思路,我看了一些网上的解释,最终找到了一个我认为比较实用的方法,可以解决这个问题
安装
npm install forever -g
检查
是否安装成功,输入下面的命令如果显示版本号,就说明安装成功了
forever --version
启动 / 停止
启动/停止node项目
forever start app.js
forever stop app.js
显示所有运行的列表
forever list
关于端口占用的问题
window环境下
查看端口占用:win+R运行cmd命令,输入netstat -aon | findstr "端口号"
关闭占用端口:taskkill /F /pid “pid”
linux环境下
查看端口占用:netstat -tunlp | grep "端口号"
关闭占用端口:kill "pid"
以上是关于服务器部署NODE项目的主要内容,如果未能解决你的问题,请参考以下文章