Skip to content

PM2部署

步骤 1:构建.output.tar程序包

项目开发完成后,使用命令 pnpm run build:prod 完成.output运行包的构建。将其打包成服务器支持的.tar文件形式上传至服务器。这里我使用的7-zip压缩工具进行压缩。 image

步骤 2:解压.output.tar程序包

进入服务器正确目录下,使用命令 tar -xvf output.tar 完成.output.tar压缩包的解压。

步骤 3:服务器预装node环境并安装pm2

使用命令 npm i -g pm2 安装pm2。

步骤 4:准备ecosystem.config.cjs配置文件

在项目根目录下创建ecosystem.config.cjs文件,写入如下内容:

bash
module.exports = {
  apps: [{
    name: 'nuxtpro',             
    script: '.output/server/index.mjs', 
    exec_mode: 'cluster',             
    env_production: {                 
	  NODE_ENV:'production',
	  NUXT_PUBLIC_ENV:'production',
	  PORT:3000,
	  NUXT_PUBLIC_BASE_URL:'https://替换成你的nuxtpro服务部署网址',
	  NUXT_STRIPE_SECRET_KEY:'替换成你的stripe密钥',
	  NUXT_PUBLIC_STRIPE_PUBLISHABLE_KEY:'替换成你的stripe公钥',
	  NUXT_STRIPE_WEBHOOK_SECRET:'替换成你的stripe webhook密钥',
	  NUXT_CREEM_API_KEY:'替换成你的creem API 密钥',
	  NUXT_PUBLIC_CREEM_URL:'https://api.creem.io',
	  NUXT_CREEM_WEBHOOK_SECRET:'替换成你的creem webhook密钥',
	  NUXT_PAYPAL_URL:'替换成你的paypal链接地址',
	  NUXT_PAYPAL_CLIENT_ID:'替换成你的paypal客户端id',
	  NUXT_PAYPAL_CLIENT_SECRET:'替换成你的paypal密钥',
	  NUXT_PUBLIC_BAGELPAY_URL:'替换成bagelPay链接地址',
	  NUXT_BAGELPAY_API_KEY:'替换成你的bagelPay密钥',
	  NUXT_BAGELPAY_WEBHOOK_SECRET:'替换成你的bagelPay的webhook密钥',
	  NUXT_RESEND_API_KEY:'替换成你的resend密钥',
	  NUXT_PUBLIC_PLAUSIBLE_DOMAIN:'替换成你的plausible上注册的nuxtpro项目域名',
	  NUXT_PUBLIC_PLAUSIBLE_API_HOST:'https://替换成你的plausible域名地址',
	  DATABASE_URL:'mysql://数据库账户名:密码@访问地址:端口/数据库名',
	  IPINFO_TOKEN:'替换成你的ipinfo 密钥',
	  PAYMENT_METHOD: 替换成你选择的支付方式, # select your payment:1、stripe;2、paddle;3、creem 4、paypal
	  BETTER_AUTH_SECRET:'替换成你的better auth 密钥',
	  BETTER_AUTH_URL:'替换成你的better auth请求nuxtpro项目地址',
	  GOOGLE_CLIENT_ID:'替换成你的google授权登录id',
	  GOOGLE_CLIENT_SECRET:'替换成你的google授权登录密钥',
	  GITHUB_CLIENT_ID:'替换成你的github授权登录id',
	  GITHUB_CLIENT_SECRET:'替换成你的github授权登录密钥',
	  GOOGLE_SEARCH_CONSOLE_VERIFICATION_CODE:'替换成你的gsc验证码',
	  OPENAI_FORMAT_API_KEY:'替换成你的openai格式请求密钥',
	  OPENAI_FORMAT_API_URL:'替换成你的openai服务请求地址'
    }
  }]
};

步骤 5:准备程序启动脚本

在项目根目录下创建start.sh文件,写入如下内容:

bash
pm2 start ecosystem.config.cjs --env production

步骤 6:执行启动脚本部署程序

使用命令 sh start.sh 启动程序。

步骤 7:查看pm2部署情况

使用命令 pm2 list 查看pm2部署情况。

image

步骤 8:查看nuxtpro程序部署情况

使用命令 pm2 logs nuxtpro 查看nuxtpro程序部署情况。

查看到日志记录上显示 Listening on http://[::]:你的部署端口 既程序部署成功。