- ssh登录这个主机,安装node。官网有编译好的linux版本,下载下来,配置好路径就可以了。
- 然后把你的代码传到这个主机上,用git也行,用ftp也行。
- 进入工程目录,运行npm install,确保所有依赖的包都安装好了。
- 安装部署工具npm i -g pm2,时情况而定,是否需要sudu。
- 在工程目录,运行sudo pm2 start bin/www
- (可选)配置防火墙,如果是centos,命令类似于firewall-cmd –add-port 3000/tcp。
- 主机一般有两个IP,一个外网IP,一个内网IP,你直接访问外网IP+端口号就能访问你的网站了。例如外网IP为11.22.33.44项目监听的端口为3000则浏览器输入11.22.33.44:3000就行了。
有几个值得注意的
- 一般是创建一个软连接到node,将这个软连接放到path环境变量下。这样node升级的时候,不用修改路径了,直接修改这个符号连接就行了
- 推荐用git。写个脚本就能自动拉取代码,进行部署。
- 根据网络情况,将npm的源更换为淘宝的源
- pm2只是一个工具,可以守护你的应用。如果应用挂了,会0时延重启。还有很多其他的工具,看你喜欢哪个。
- 某些云服务在你开启80端口的时候会进行检查,如果没有备案,你是无法通过80端口访问的。会显示提示备案的网页。如果仅仅向运行起来,就换个别的端口就行。
- 如果你用的是云,内外网端口号一般在主机信息就能查看,是在不行ifconfig也能看。
- 根据情况,设置NODE_ENV。如果你用的是pm2,可以写个启动脚本,在里面设置是否部署为生产。