pm2 管理Nuxt项目,并在日志中加上时间戳
由于编写这篇文章的时候,作者还不会nodejs,内容可能会出现错误或偏差,如出现错误,还望批评指正。
部署Nuxt项目
首先需要安装npm和nodejs
$ sudo apt update
$ sudo apt install nodejs npm
$ sudo npm install pm2 -g
安装完成之后验证安装
$ npm --version
9.2.0
$ nodejs --version
v18.19.1
$ pm2 -v
6.0.6
初始化项目
先创建一个目录,用于部署Nuxt项目
$ mkdir nuxt
$ cd nuxt/
这里我直接使用中文网站的npm create nuxt@latest
,中间所有的选项都选择默认的,其他包管理工具可以去Nuxt中文网站查看
$ sudo npm create nuxt@latest
安装完成之后当前目录会有一个项目
$ ls
nuxt-app
运行项目
现在可以使用npm进行启动了,命令是npm run dev
,但是我们要用pm2,先去到项目路径,构建 Nuxt 应用
$ cd nuxt-app/
$ sudo npm install
$ sudo npm run build
回到上级目录,创建touch ecosystem.config.js
文件,将一下内容填入文件
$ cd ..
$ cat ecosystem.config.js
// ecosystem.config.js
module.exports = {
apps: [
{
name: 'nuxt-app',
script: '.output/server/index.mjs',
interpreter: 'node',
env: {
NODE_ENV: 'production'
}
}
]
}
使用pm2注册并启动
$ pm2 start nuxt-app/
可以看到项目已经在运行了
$ pm2 list
┌────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ nuxt-app │ default │ N/A │ fork │ 27852 │ 0s │ 30 │ online │ 0% │ 43.7mb │ leo │ disabled │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
此时可以使用pm2 logs 查看日志,但是项目日志没有时间戳
时间戳启动(日志、启动时间)
现在,给项目日志和启动时间加上时间戳
$ pm2 set pm2:timestamp true
$ pm2 stop nuxt-app
$ pm2 start nuxt-app --time
现在再次查看logs,发现日志打上时间戳了
$ pm2 logs
参考来源
- ubuntu 22.04安装nodejs和pm2:https://blog.csdn.net/yuyuyu666515/article/details/134597798
- 如何在 Ubuntu 20.04 上安装 Node.js 和 npm:https://developer.aliyun.com/article/760687
- Nuxt中文网站:https://nuxt.com.cn/