No Data

linux安装pm2部署nuxt3项目

原创  作者:斩雪碎光阴  发布于:2023年06月15日  阅读量:296
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
  分类:  标签:

1.安装nodejs:

apt install nodejs

正常安完了就有npm了


查看nodejs版本

node -v

查看npm版本

npm -v


如果出现nodejs版本低且npm由于依赖问题无法安装的情况则直接去官网下载安装包进行安装

官网:

https://nodejs.org

为了安装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端口的情况

相关文章