Linux环境部署node服务并启动详细步骤

 更新时间:2023年05月03日 07:56:14   作者:霍志杰  
最近用node.js开发了一个web项目,下面这篇文章主要给大家介绍了关于Linux环境部署node服务并启动的详细步骤,文中通过图文以及示例代码介绍的非常详细,需要的朋友可以参考下

一、node下载与安装

1、node下载

https://nodejs.org/en/download/

2、通过XFTP把下载下来的包传到服务器上

3、解压包

  • 使用Xshell连接到远程服务器
  • 切换路径到 /usr/local/node 下,可以先ls看一下是否有这个包
  • 存在这个包的话,就解压这个压缩吧
tar xvf node-v18.12.0-linux-x64.tar.xz

解压成功

4、建立软链接

ln -s [源地址] [目标地址]

具体命令:

ln -s /usr/local/node/node-v18.12.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node/node-v18.12.0-linux-x64/bin/npm /usr/local/bin/npm

然后查看一下/usr/local/bin目录,就可以发现npm和node就有了

node -v看一下

现在就完成了node的安装

二、使用PM2启动node

1、为什么要使用PM2

  • PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
  • 对于线上项目,如果直接通过 node app.js 来启动,那么,由于 node 是单线程的,如果报错了可能会使项目直接停止,从而导致整个服务崩溃。☹

优点

  • 后台运行(关掉cmd窗口依然运行)
  • 0 秒停机重载,维护升级时不需要停机
  • 进程守护 (停止不稳定的进程,避免无限循环)
  • 内建负载均衡
  • 实时控制台检测
  • 远程控制和实时的接口API ( nodejs 模块,允许和PM2进程管理器交互 )

2、安装PM2

npm install -g pm2

安装完成

Tip:其实我装的时候,没有这么顺利,遇到了一些错误,详见最后面

3、建立软链接

ln -sf /usr/local/node/node-v18.12.0-linux-x64/bin/pm2 /usr/local/bin/pm2

执行pm2 list 查看进程 ,可以看到如下,就是安装完成了

到目前为止,node环境算是有了 (▽)

可以启动一个程序试试

运行一个mqttserver.js测试

三、使用PM2开机自动启动nodejs程序

#启动这个Nodejs程序
pm2 start mqttserver.js --watch  
#1.保存当前进程状态
pm2 save  
#生成开机自启服务 例如 pm2 startup [centos]
pm2 startup [platform] #不用执行这个
#但是,可能之前用这样;现在,我写上用什么系统,运行不了,所以,直接starup 就可以了
#2.生成开机自启动的命令
pm2 startup  
#3.将步骤2生成的命令,粘贴到控制台进行
systemctl enable pm2-root 

然后重启服务器试试,看看能不能自动启动

经验证,可以做到开机自启,可能稍稍有那么一点点的延迟,无伤大雅 (︶.̮︶✽)

四、安装PM2的时候遇到的问题及解决

单纯是我遇到的错误,解决方法可能不通用,可能是因为我安装的时候开了一下VPN导致的。 gh(^_−)☆

解决:

#代理置为空
npm config set proxy null 
#清理缓存
npm cache clean --force
#设置为原npm地址
npm config set registry http://registry.npmjs.org/

然后运行,结果(ಥ_ಥ)

无意之间尝试:

通过宝塔安装了一下PM2,但是发现现在/usr/local/node/node-v18.12.0-linux-x64/bin下还是没有pm2

于是就又尝试命令安装PM2 ,然后 (✪ω✪)

总结

到此这篇关于Linux环境部署node服务并启动的文章就介绍到这了,更多相关Linux部署node服务并启动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅析nodejs实现Websocket的数据接收与发送

    浅析nodejs实现Websocket的数据接收与发送

    WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术,本文给大家介绍nodejs实现websocket的数据库接收与发送,小伙伴们一起学习吧
    2015-11-11
  • node.js中的fs.truncateSync方法使用说明

    node.js中的fs.truncateSync方法使用说明

    这篇文章主要介绍了node.js中的fs.truncateSync方法使用说明,本文介绍了fs.truncateSync的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • node.js中的path.extname方法使用说明

    node.js中的path.extname方法使用说明

    这篇文章主要介绍了node.js中的path.extname方法使用说明,本文介绍了path.extname的方法说明、语法、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • Nodejs实现多房间简易聊天室功能

    Nodejs实现多房间简易聊天室功能

    本文通过实例代码给大家介绍了Nodejs实现多房间简易聊天室功能,需要的朋友参考下吧
    2017-06-06
  • node.js适合游戏后台开发吗?

    node.js适合游戏后台开发吗?

    这篇文章主要介绍了node.js适合游戏后台开发吗?node.js是不是能代替C++开发游戏后台呢?看完本文我想你会有一定的了解了,需要的朋友可以参考下
    2014-09-09
  • 详解nodejs express下使用redis管理session

    详解nodejs express下使用redis管理session

    本篇文章主要介绍了详解nodejs express下使用redis管理session ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • nvm安装步骤及使用方法

    nvm安装步骤及使用方法

    nvm是一个管理nodejs版本的工具。在实际的开发中,有些项目的开发依赖需要低版本的nodejs运行环境,有些则需要高版本的nodejs,此时我们就需要使用nvm来切换nodejs版本,接下来通过本文给大家讲解nvm安装步骤及使用方法,感兴趣的朋友一起看看吧
    2023-01-01
  • node.js去水印方法实例分析

    node.js去水印方法实例分析

    这篇文章主要介绍了node.js去水印方法,结合实例形式分析了node.js基于第三方平台实现去水印的相关交互与操作技巧,需要的朋友可以参考下
    2023-04-04
  • CentOS 8.2服务器上安装最新版Node.js的方法

    CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 详解nodejs微信公众号开发——1.接入微信公众号

    详解nodejs微信公众号开发——1.接入微信公众号

    本篇文章主要介绍了详解nodejs微信公众号开发——1.接入微信公众号,非常具有实用价值,需要的朋友可以参考下
    2017-04-04

最新评论