nuxtjs3.11.2启动配置和步骤说明以及部署
·
package.json 、ecosystem.config.js、nuxt.config.ts文件-- 注意端口号,必须保持一致
【第1步:生产级进程守护(PM2 + ecosystem.config.js)-package.json】
"name": "nuxt-app",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev --port 3010",
"start": "set PORT=3010 && node .output/server/index.mjs",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare",
"pm2:start": "pm2 start ecosystem.config.cjs",
"pm2:stop": "pm2 stop ecosystem.config.cjs",
"pm2:restart": "pm2 restart ecosystem.config.cjs",
"pm2:logs": "pm2 logs nuxt-app"
},
【第2步:生产-ecosystem.config.js】
ecosystem.config.js文件 线上部署的时候需要复制一个后缀改成 ecosystem.config.cjs
module.exports = {
apps: [
{
name: 'productName',
port: '3010',
exec_mode: 'cluster',
instances: 1,
script: './.output/server/index.mjs',
autorestart: true
},
],
}
【第3步:生产-nuxt.config.ts】
export default defineNuxtConfig({
devtools: { enabled: true },
srcDir: 'src/',
modules: ['@nuxt/ui', '@vueuse/nuxt', '@nuxt/image', '@pinia/nuxt', "@pinia-plugin-persistedstate/nuxt", '@element-plus/nuxt'],
postcss: {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
},
pinia: {
autoImports: [
'defineStore', // import { defineStore } from 'pinia'
],
},
imports: {
dirs: [
// 扫描顶级模块
'composables',
// ... 或扫描带有特定名称和文件扩展名的一级嵌套模块
'composables/*/index.{ts,js,mjs,mts}',
// ... 或扫描给定目录中的所有模块
'composables/**'
]
},
devServer: {
host: '0.0.0.0',
port: 3010
},
hooks: {
'pages:extend' (routes) {
routes.push({
path: '/:pathMatch(.*)',
redirect: '/',
});
}
},
plugins: [
// '@/plugins/lazyload.js',
'@/plugins/sharethis.client.ts'
],
nitro:{
logLevel:'debug',
},
routeRules: {
'/': { ssr: false }, // 只对首页禁用 SSR,改为客户端渲染
},
compatibilityDate: '2024-11-05'
})
【第4步:运行测试】
npm install # 安装 cross-env
npm install --legacy-peer-deps # 如果仍然遇到 peer 警告(但通常不会阻断),可以使用 --legacy-peer-deps 临时绕过:
npm run build # 构建生产版本
npm run start # 监听 3010 端口
【第5步:部署步骤】
npm install
npm run build
创建日志目录(可选)
mkdir -p logs
启动 PM2 进程
pm2 start ecosystem.config.cjs #注意这个文件的后缀
保存当前进程列表(开机自启)
pm2 save
设置 pm2 开机启动(需执行一次)
pm2 startup
常用 PM2 运维命令
pm2 list # 查看进程状态
pm2 monit # 实时监控 CPU/内存
pm2 logs nuxt-app # 查看日志
pm2 restart nuxt-app # 重启应用
pm2 reload nuxt-app # 零停机重载
pm2 delete nuxt-app # 删除进程
常见操作
第1步:初始化项目依赖
npm install --legacy-peer-deps
第2步:编译项目
npm run build
注意事项:注意 node版本号
第3步:启动站点
pm2 start ecosystem.config.cjs
第4步:查看站点启动日志 ,500是最后500行日志记录
pm2 logs stiteName --err --lines 500
第5步:根据站点id查看占用的端口号
pm2 env 25 | findstr PORT
第6步:根据站点id删除站点
pm2 del 25
第7步:查看列表
pm2 ls
更多推荐
所有评论(0)