1.安装nodejs:
apt install nodejs
正常安完了就有npm了
查看nodejs版本
node -v
查看npm版本
npm -v
如果出现nodejs版本低且npm由于依赖问题无法安装的情况则直接去官网下载安装包进行安装
官网:
为了安装pm2需要选择最新版本
本次测试Linux Binaries (x64)版本:
node-v20.8.0-linux-x64.tar.xz
百度云盘下载:
链接: https://pan.baidu.com/s/1t-W0oBkDOk-K_4dCRBNVYA
提取码:1111
复制到服务器
解压:
tar xf node-v20.8.0-linux-x64.tar.xz
建文件夹:
sudo mkdir /usr/local/nodejs
改名为nodejs:
sudo mv node-v20.8.0-linux-x64/* /usr/local/nodejs
建立软链接:
sudo ln -s /usr/local/nodejs/bin/node /usr/local/bin
sudo ln -s /usr/local/nodejs/bin/npm /usr/local/bin
如果已存在则覆盖软链接:
sudo ln -sf /usr/local/nodejs/bin/node /usr/local/bin/node
sudo ln -sf /usr/local/nodejs/bin/npm /usr/local/bin/npm
2.安装pm2
npm install -g pm2
根据提示升级npm:
npm install npm@latest -g
报错:npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
查看所有可用的pm2和uuid版本:
npm view pm2 versions
npm view uuid versions
查看当前安装的pm2和uuid版本
npm ls pm2 -g
npm ls uuid -g
可以到/usr/local/nodejs/lib下删除pm2和uuid重新安装:
rm -rf pm2
rm -rf uuid
安装固定版本uuid:
npm install uuid@7.0.3 -g
添加pm2软链接:
sudo ln -s /usr/local/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin
3.pm2命令:
pm2 list 查看所有进程
pm2 show 0 查看进程详细信息,0为PM2进程id
pm2 stop all 停止PM2列表中所有的进程
pm2 stop 0 停止PM2列表中进程为0的进程
pm2 reload all 重载PM2列表中所有的进程
pm2 reload 0 重载PM2列表中进程为0的进程
pm2 delete 0 删除PM2列表中进程为0的进程
pm2 delete all 删除PM2列表中所有的进程
4.打包项目:
使用build命令打包nust3项目,结果为.output文件夹,复制.output文件夹重命名为xxx传到服务器
需要修改pm2部署端口号的项目需要增加ecosystem.config.js:
module.exports = {
apps: [
{
name: 'xxx',
port: '3001',
instances: '1',
script: './xxx/server/index.mjs',
max_memory_restart: '50M', // 当内存使用超过50MB时,自动重启
}
]
}
5.启动nust3项目:
pm2 --name=xxx start /root/xxx/server/index.mjs
需要修改pm2部署端口号的项目:
pm2 start /root/xxx/ecosystem.config.js
6.可修改启动端口号:
window下临时环境变量:
set port=3001,设置process.env.NITRO_PORT
set port= //删除port环境变量
在dos命令输入` node` ,然后在node命令下输入 `process.env.PORT` 查看
linux下临时环境变量:
export NITRO_PORT=3001
检查是否存在echo $NITRO_PORT
删除unset NODE_ENV
显示所有环境变量env
7.限制内存
可以通过设置max_memory_restart属性来限制应用程序的内存使用。
设置了内存使用限制为50MB:
module.exports = {
apps : [{
name: 'your-app',
script: 'app.js',
max_memory_restart: '50M', // 当内存使用超过50MB时,自动重启
env: {
NODE_ENV: 'development',
},
env_production: {
NODE_ENV: 'production',
}
}],
};
在这个配置文件中,max_memory_restart属性被设置为'50M'。这意味着当你的应用程序使用超过50MB的内存时,PM2会重启它。
8.其他命令
netstat -tunlp // 用于查看端口号的进程情况
netstat -tunlp |grep 3000 查看3000端口的情况