保姆级阿里云ESC服务器安装nodejs和服务器node服务管理工具PM2安装使用

一、安装Node到服务器

1. 创建node文件夹

默认 /opt 下边 /opt/node
也可建到其他地方,如/usr/local/node 等
创建后切换到文件夹下
cd /opt/node

cd /opt/node

2. 下载node并解压

使用命令下载node
wget https://nodejs.org/dist/v18.12.0/node-v18.12.0-linux-x64.tar.xz

wget https://nodejs.org/dist/v18.12.0/node-v18.12.0-linux-x64.tar.xz

或者到node官网下载tar包到本地然后上传到node所在位置
上传 scp命令为
scp node-v18.12.0-linux-x64.tar.xz root@0.0.0.0:/opt/node

scp node-v18.12.0-linux-x64.tar.xz root@0.0.0.0:/opt/node

也可使用FTP工具手动上传

SCP命令的基本用法
scp [option] /path/to/source/file user@server-ip:/path/to/destination/directory
/path/to/source/file – 这是打算复制到远程主机的源文件。
user@server-IP: – 这是远程系统的用户名和 IP 地址。请注意 IP 地址后面加冒号":"。
/path/to/destination/directory – 这是文件将复制到的远程系统上的目标目录。

scp命令常用的几个选项
-C - 这会在复制过程中压缩文件或目录。
-P - 如果默认 SSH 端口不是 22,则使用此选项指定 SSH 端口。
-r - 此选项递归复制目录及其内容。
-p - 保留文件的访问和修改时间。

3. 解压文件

解压命令:
tar -c 创建包, –x 释放包, -v 显示命令过程, –z 代表压缩包, -f 表示文件名
使用:
tar xvf node-v18.12.0-linux-x64.tar.xz

tar xvf node-v18.12.0-linux-x64.tar.xz

注意:需要在压缩包所在位置,按照上方操作默认为/opt/node

4. 创建软链接,使node和npm命令全局有效

1. 命令创建软链接(建议采用)

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

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

创建node
ln -s /opt/node/node-v18.12.0-linux-x64/bin/node /usr/local/bin/node

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

创建完成后校验node和npm
node -v npm -v

node -v
npm -v

如需yarn或pnpm可全局安装后,用命令配置软链接
安装yarn(pnpm操作相同)
npm install yarn -g

npm install yarn -g

配置软链接
ln -s /opt/node/node-v18.12.0-linux-x64/bin/yarn /usr/local/bin/yarn

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

校验yarn
yarn -v

yarn -v

看到这里应该发现了命令的规则,后边安装pnpm或者其他将命令中yarn改为对应的即可
ln -s 源文件 目标文件

ln -s 源文件 目标文件

目标文件一般为 /usr/local/bin 下边 如yarn为 /usr/local/bin/yarn

2. 手动配置软链接

使用vi/vim工具打开配置文件进行编辑,如果对下方命令比较生疏的情况,建议采用第一种命令方式
打开配置文件命令

vi  /etc/profile

增加node配置信息(注意空格和标点符号比较容易出错的地方)

# node config
export NODE_HOME="/opt/node/node-v18.12.0-linux-x64"
export PATH="$NODE_HOME/bin:$PATH"

配置完成后保存后执行命令
source /etc/profile

source /etc/profile

执行命令可如果有报错可以百度,也可留言看到后会尽快回复

配置完成后校验npm和node命令
node -v npm -v

node -v
npm -v

手动配置软链接的方式比较通用,后续使用npm全局安装yarn或pnpm也可直接使用

其他方式

安装nvm后使用nvm安装node,这也是一种安装方式,但是服务器中建议采用第一种方式,这一种就不做多阐述了。

二、PM2配置在服务器中关闭窗口能继续正常运行的Node环境

在整理前边的步骤后,感觉还是把这一部分加上,不然就像是有了子弹没有枪,要一直打开着窗口不敢动了。
为了处理Nodejs在服务器中运行后,关闭窗口就断掉的问题,我们需要引入一个工具pm2。

PM2 是一个守护进程管理工具,帮助您管理和守护您的应用程序。它以简单直观的 C​​LI 命令行方式进行工作。

这是官网的描述,也可以到官网文档了解更多,pm2中文文档连接:https://pm2.fenxianglu.cn/docs/startpm2英文文档连接:https://pm2.keymetrics.io/docs/usage/quick-start/

本文简单描述安装以及运行的简单步骤,复杂的或者想深入了解的还是到文档里全一点。

1. 安装pm2

在上边安装node后的基础上,直接采用node命令进行安装
npm install pm2@latest -g

npm install pm2@latest -g
# or
yarn global add pm2

2. 创建pm2软链接

这里跟上边node配置一样,有命令创建和手动创建,如果上边node采用手动创建,这里就不需要配置了直接生效,如果是命令配置的这里需要运行下边的命令
ln -s /opt/node/node-v18.12.0-linux-x64/bin/pm2 /usr/local/bin/pm2

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

创建完成后运行下边命令校验
pm2 list

pm2 list

操作后会显示如下
在这里插入图片描述

3. 用pm2运行npm/yarn/pnpm服务

这个可以直接运行Nextjs、Nuxtjs或默认nodejs等服务
pm2 start -n demo npm – run dev

pm2 start -n demo npm -- run dev

警告:上面这种方式仅适用到 linux 系统,window 系统无效且报错
windows用pm2运行的方式,这里不做介绍,有用到的同学可以移步到文档中查看 pm2启动-npmyarnpnpm-应用

demo 为自己启动项目的唯一标识,后边操作暂停、删除、重启等操作的name
项目的运行也要在对应项目中进行,比如项目为/opt/test-app就要再其路径下运行(个人操作习惯),暂停、删除等操作则在全局

4. pm2管理应用

上边介绍的为安装和运行,运行pm2要在对应的项目中,但是pm2对应用的管理则在全局,根据自己运行时候所定的唯一标识name进行操作,管理应用的操作如下:
$ pm2 restart app_name 重启app_name 项目
$ pm2 reload app_name 重载app_name 项目
$ pm2 stop app_name 停止app_name 项目
$ pm2 delete app_name 删除app_name项目

pm2 restart app_name
pm2 reload app_name
pm2 stop app_name
pm2 delete app_name
pm2 restart和pm2 reload 区别

pm2 restart 为重启项目,该命令会停止Node.js应用程序的所有进程,并重新启动它们
如果你的应用程序正在处理请求,它们将被中断,直到新的进程启动并开始处理请求。这种方式可能会导致一些请求失败或者丢失,但是可以确保所有进程都使用最新的代码运行。
pm2 reload为重载项目,该命令会在不停止Node.js应用程序的情况下重新加载代码
如果你的应用程序正在处理请求,它将继续处理这些请求,而不会中断服务。pm2 reload命令会重新启动Node.js应用程序的所有进程,并在重新加载代码后将请求路由到新的进程。这种方式可以避免中断服务,但是可能会导致一些请求失败或者丢失。

虽然restart和reload都可以用来作为代码更新操作,但是reload可以做到0秒宕机加载新的代码,restart则是重新启动,生产中经常采用reload进行代码更新的操作。

5. 其他pm2命令

列出应用程序
pm2 list
查看日志
pm2 logs
指定行数日志

例如200行

pm2 logs --lines 200

最后,以上就是pm2常用的操作,基础的node安装和pm2运行项目按照上边的步骤就都没问题了,如果需要什么负载均衡、docker集成、监控等操作的,可以到pm2官方文档中查看,如果本文对您有所帮助欢迎点赞留言,如果有什么疑问也可留言,在看到后会第一时间回复。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值