express - 在服务器中部署node项目

查看:118
本文介绍了express - 在服务器中部署node项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

  1. 这段时间写了个express项目,在本地使用terminal启动没有任何问题

  2. 现在想把它放在linux服务器中进行部署,不是很清楚,

  3. 首先知道需要下载nodejs,安装express,由于没有使用数据库,所以不用安装

  4. 项目使用远程工具导入,但是接下来就不会弄了,怎么启动,

  5. 怎么通过分配的ip地址,在其他电脑上面可以访问

解决方案

假设你有一个主机,VPS、云主机什么的,那么大题步骤如下:

  • 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,可以写个启动脚本,在里面设置是否部署为生产。

题外

  • 高级一旦的可以用docker。不过感觉现在没必要。

  • 最好安装个nginx做代理。

  • ssh这一类的服务要进行安全配置。禁用账号密码,只使用证书登录。

这篇关于express - 在服务器中部署node项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆