NodeJS安装(Linux)

1. 安装node&npm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 1.1 安装命令1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
# 1.2 或者安装命令2
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

# 2. 设置配置(一般已默认存在)。打开配置文件bashrc,看配置是否存在
vim ~/.bashrc

# 3. i进入编辑模式,写入配置。如果已自动配置,则输入:q退出
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

# 4. 使用配置
source ~/.bashrc

# 5. 判断nvm是否已经安装成功
nvm -v

# 6. 安装最新版本node
nvm install node

# 7. 使用最新版本的node
nvm use node

# 8. 安装新的node版本并且将全局npm包迁移
nvm install node --reinstall-packages-from=node

2. 安装pm2(nodejs的生产过程管理工具)。可以在后台运行服务。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 # 1. 安装pm2
npm install pm2 -g

# 2. 开机自启动服务
## a. 把要开机自启动的服务开启
## b. 执行以下命令,新建开机自启动服务配置文件
pm2 startup
## c. 保存配置。配置保存于/root/.pm2/dump.pm2。
pm2 save
## d. 查看是否已开启
systemctl status pm2-root.service

# 3. 一些常用的pm2命令
启动script:pm2 start pnpm --watch --name XX -- run script命令
启动:pm2 start demo.js //demo.js是你要启动的app_name|app_id文件
停止:pm2 stop app_name|app_id
删除:pm2 delete app_name|app_id
重启:pm2 restart app_name|app_id
查看所有:pm2 list
查看某个:pm2 show 0
停止所有:pm2 stop all
停止某个:pm2 stop 0
重载所有:pm2 reload all
重载某个:pm2 reload 0
重启所有:PM2 restart all
删除某个:pm2 delete 0
安装最新:npm install pm2@lastest -g
升级:pm2 updatePM2
帮助:pm2 --help
停止所有:pm2 stop all
查看所有的进程:pm2 list
查看所有的进程状态:pm2 status
查看某一个进程的信息:pm2 describe app_name|app_id
参数说明
--watch:监听应用目录源码的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件
-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目,可以弥补node.js缺陷
--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts"
-n --name:应用的名称,查看应用信息的时候可以用到
-o --output <path>:标准输出日志文件的路径,有默认路径
-e --error <path>:错误输出日志文件的路径,有默认路径
--interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python...)
如完整参数命令:
pm2 start demo.js --watch -i 2 //开启2个进程
pm2 start app.js -i max //根据机器CPU核数,开启对应数目的进程