node项目自动化部署

Author Avatar
Peipei Wong 9月 13, 2017
  • 在其它设备中阅读本文章

由来

嘤嘤,看到ruby中有一个gem叫做capistrano, 使用它可以实现一键部署到服务器上了。
之前在懵里懵懂的时候,做了一个网站,每次更改后,我都用filezilla将新版本的代码上传,再restart项目,超级费劲。
看到ruby后,于是赶紧去网上搜了搜,pm2可以做这件事。之前也见到过pm2,那时候我在寻求守护进程的module,但是我选择了forever

使用pm2实现自动部署

这个链接对我的帮助很大,基本上按照他的步骤来应该是可以实现自动化部署。

出现的问题

服务器上的node是我很久之前安装的,但是pm2要求使用nvm,于是装了nvm,但是到了“克隆好之后执行安装和启动”,这一步报错:npm 这个命令找不到。去寻找解决办法,有的说将.bashrc文件中的关于nvm的部分放在最上面,还有的说要使用nvm重新安装node,这两个方法都试了,但是都没有解决错误。于是我只能去pm2的目录中的source文件夹,手动去执行npm installpm2 start app.js

等待update得到解决方案:

nginx转发

最暴力的方法就是下面👇的代码:

server{
    listen 80;
    server_name xxx.xxx.xxx;(域名)
    location / {
        proxy_pass http://127.0.0.1:3000
    }
}

目前可以解决我的需要,假如还有其他的端口需要监听该怎么办?