使用pm2在ngnix环境部署nuxt3项目

###前言:

主要详细讲述了如何通过pm2在ngnix环境上成功部署nuxt3项目,其中包含了pm2的一些常用命令,希望能对首次接触nuxt3项目的友友们有所帮助,若有不足或者错误之处,欢迎指正

、打包nuxt3项目(打包之前检查一下生产环境是否配置)

(1)运行打包命令:

npm run build

(2)查看打包生成的 .output目录 :

二、pm2的安装及配置

(1)安装pm2(安装之前,服务器必须配置node环境)

npm i pm2 -g   //需要管理员权限

(2)查看pm2是否安装及版本

pm2 -v

(3)pm2常见的命令

pm2 list                      # 列表 PM2 启动的所有的应用程序
pm2 monit                     # 显示每个应用程序的CPU和内存占用情况
pm2 show [app-name]           # 显示应用程序的所有信息
pm2 logs                      # 显示所有应用程序的日志
pm2 logs [app-name]           # 显示指定应用程序的日志
pm2 flush                     # 清空所有日志文件
pm2 stop all                  # 停止所有的应用程
pm2 stop 0                    # 停止 id为 0的指定应用程序
pm2 restart all               # 重启所有应用
pm2 reload all                # 重启 cluster mode下的所有应用
pm2 delete all                # 关闭并删除所有应用
pm2 delete 0                  # 删除指定应用 id 0
pm2 startup                   # 创建开机自启动命令
pm2 save                      # 保存当前应用列表

三、文件部署配置

(1)准备一个pm2的配置文件,我这里取名叫——ecosystem.config.js,我这里让该文件和.output目录同级:

(2)将这两个文件放到ngnix环境目录里:

(3)其中ngnix的ngnix.conf文件配置如下:

http {
    include       mime.types;
    default_type  application/octet-stream;
    server {
        listen       3333;
        server_name  localhost;
		server_tokens off;
		location / {
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
			proxy_set_header Host $host;
			proxy_set_header X-Nginx-Proxy true;
			proxy_cache_bypass $http_upgrade;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header X-Forwarded-Proto $scheme;
			# 你的nuxt地址
			proxy_pass	http://127.0.0.1:3000;
		}
		location @router {
		  rewrite ^.*$ /index.html break;
		}
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

若ngnix运行成功如图:

(4)ecosystem.config.js文件配置如下:

module.exports = {
    apps: [
        {
            name: "nuxt3项目", // 启动项目名称,随便取,一般为项目名
            exec_mode: "cluster",
            instances: 1, // 进程数,默认为1,如果该配置文件需要管理多个项目,可根据项目的个数更改进程数
            port: "3000", // 端口,根据需要指定
            script: "./.output/server/index.mjs", // 启动入口,相对于 .output 目录的路径
            args: "start",
            env: {
                MODE: "production"
            }
        }
    ]

四、使用pm2运行项目

(1)运行项目 进入html文件夹(我这里是html)

pm2 start ./ecosystem.config.js

(2)查看项目是否被运行成功

pm2 list  

如下图,若状态为“online”则表示pm2运行项目成功!

(3)使用服务器ip地址进行访问(因为我ngnix上使用的192.168.100.3333这个域名,所以可直接用这个域名进行访问)

http://192.168.18.100:3333

(4)效果图如图:

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值