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服务并启动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • VsCode与Node.js知识点详解

    VsCode与Node.js知识点详解

    在本篇文章中小编给大家分享了关于VsCode与Node.js的相关知识点以及安装等内容,需要的朋友们可以参考下。
    2019-09-09
  • 关于node编写文件上传的接口的坑及解决

    关于node编写文件上传的接口的坑及解决

    这篇文章主要介绍了关于node编写文件上传的接口的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • nodeJs事件循环运行代码解析

    nodeJs事件循环运行代码解析

    这篇文章主要为大家介绍了nodeJs事件循环运行代码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 详解Node.js access_token的获取、存储及更新

    详解Node.js access_token的获取、存储及更新

    本篇文章主要介绍了Node.js access_token的获取、存储及更新 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Node.JS文件系统解析实例详解

    Node.JS文件系统解析实例详解

    这篇文章主要介绍了Node.JS文件系统解析实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • Nodejs中JSON和YAML互相转换方式

    Nodejs中JSON和YAML互相转换方式

    这篇文章主要介绍了Nodejs中JSON和YAML互相转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • Node.js中用D3.js的方法示例

    Node.js中用D3.js的方法示例

    这篇文章主要给大家介绍了在Node.js中用D3.js的方法,文中分别介绍了如何安装模块和一小段简单的示例代码,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • node.js中的emitter.emit方法使用说明

    node.js中的emitter.emit方法使用说明

    这篇文章主要介绍了node.js中的emitter.emit方法使用说明,本文介绍了emitter.emit的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • Node.js中console.log()输出彩色字体的方法示例

    Node.js中console.log()输出彩色字体的方法示例

    这篇文章主要给大家介绍了关于Node.js中console.log()输出彩色字体的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Node.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • node中http模块的使用及执行流程

    node中http模块的使用及执行流程

    http这个模块的职责就是帮你创建编写服务器,接下来通过本文给大家介绍node中http模块的使用及执行流程,感兴趣的朋友一起看看吧
    2021-09-09

最新评论