NUXTJS + pm2 部署开源电商PC商城

为了符合各种服务器场景,使用pm2 部署 PC 商城如下

注意:对比package.json代码修改配置即可,如果2024年5月之后下载的代码可以直接用命令启动

服务器安装node + pm2 如已安装跳过此章节

在 CentOS 上安装 Node.js 和 PM2 的步骤如下:

安装 Node.js 使用 YUM 安装 Node.js:

在 CentOS 中,你可以使用 NodeSource 的 Node.js 安装脚本来安装 Node.js。首先,使用以下命令下载安装脚本:

curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -

然后,安装 Node.js:

sudo yum install -y nodejs

这将安装 Node.js 和 npm。

验证安装:安装完成后,运行以下命令验证 Node.js 和 npm 的安装:

node -v
npm -v

如果安装成功,将显示 Node.js 和 npm 的版本信息。 安装 PM2 全局安装 PM2: 使用 npm 全局安装 PM2:

bash
sudo npm install -g pm2

验证安装:安装完成后,运行以下命令验证 PM2 的安装:

Copy code
pm2 -v

如果安装成功,将显示 PM2 的版本信息。

🚀 修改 package.json

如上图在 script 标签中添加

"pm2": "pm2 start ./ecosystem.config.cjs --interpreter babel-node --env production",
"bundle": "rollup -c"

🔧 在根目录创建 ecosystem.config.cjs 内容如下

// 配置pm2
module.exports = {
    apps: [
        {
            name: "JavaMerPcMall",
            script: "./.output/server/index.mjs",
            args: "start", // 传递给脚本的参数
            watch: true, // 开启监听文件变动重启
            ignore_watch: ["node_modules", "public", "logs"], // 不用监听的文件
            exec_mode: "fork",// 自家主机window cluster_mode 模式下启动失败
            instances: "1", // max表示最大的 应用启动实例个数,仅在 cluster 模式有效 默认为 fork
            autorestart: true, // 默认为 true, 发生异常的情况下自动重启
            max_memory_restart: "1G", //  // 最大内存限制数,超出自动重启
            error_file: './logs/app-err.log', // 错误日志文件
            // out_file: './logs/app-out.log', // 正常日志文件
            merge_logs: true, // 设置追加日志而不是新建日志
            log_date_format: "YYYY-MM-DD HH:mm:ss", // 指定日志文件的时间格式
            min_uptime: "60s", // 应用运行少于时间被认为是异常启动
            env: {
                // 环境参数,当前指定为开发环境
                NODE_ENV: "development",
                PORT: "8888",
            },
            env_production: {
                // 环境参数,当前指定为生产环境
                NODE_ENV: "production", //使用production模式 pm2 start ecosystem.config.js --env production
                PORT: "60001",
            },
            env_test: {
                // 环境参数,当前为测试环境
                NODE_ENV: "test",
            }
        }
    ]
};

🔥 根据如下步骤 执行打包 copy 到服务器对一个目录

npm install
npm run build

将打包后的如下对应文件 复制到服务器

如下图项目启动成功

本地测试端口访问成功
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2d757faf5e364e98bfbbf795a24323fe.png)

根据配置在用nginx 转发对应端口到域名即可,此处配置省略,普通的 location 配置即可。

相关推荐
lsjweiyi19 小时前
极简AI工具箱网站开源啦!
opencv·开源·微信支付·支付宝支付·百度ai·极简ai工具箱·ai图像处理
开源社20 小时前
一场开源视角的AI会议即将在南京举办
人工智能·开源
FreeIPCC20 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
海害嗨20 小时前
阿里巴巴官方「SpringCloudAlibaba全彩学习手册」限时开源!
学习·开源
生命是有光的20 小时前
【开源风云】从若依系列脚手架汲取编程之道(八)
开源
HuggingFace1 天前
Halo 正式开源: 使用可穿戴设备进行开源健康追踪
开源·健康追踪
时光追逐者1 天前
.NET 9 中 LINQ 新增功能实操
开发语言·开源·c#·.net·.netcore·linq·微软技术
檀越剑指大厂1 天前
Linux本地部署开源项目OpenHands基于AI的软件开发代理平台及公网访问
linux·人工智能·开源
胜天半子_王二_王半仙2 天前
c++源码阅读__ThreadPool__正文阅读
开发语言·c++·开源
FIT2CLOUD飞致云2 天前
案例研究|阿特斯的JumpServer分布式部署和多组织管理实践
运维·开源·堡垒机·jumpserver