在服务器中部署node项目

发布于 2022-09-04 02:22:56 字数 251 浏览 10 评论 0

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

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尐偏执 2022-09-11 02:22:56

假设你有一个主机,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这一类的服务要进行安全配置。禁用账号密码,只使用证书登录。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文