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 配置即可。

相关推荐
Van_Moonlight1 天前
RN for OpenHarmony 实战 TodoList 项目:加载状态 Loading
javascript·开源·harmonyos
红目香薰1 天前
GitCode-我的运气的可量化方案-更新v5版本
人工智能·开源·文心一言·gitcode
Van_captain1 天前
rn_for_openharmony常用组件_Divider分割线
javascript·开源·harmonyos
踏浪无痕1 天前
SQLInsight:从JDBC底层到API调用的零侵入SQL监控方案
数据库·后端·开源
程序员iteng1 天前
AI一键图表生成、样式修改的绘图开源工具【easy-draw】
spring boot·开源·node.js
Yeats_Liao1 天前
MindSpore开发之路(二十五):融入开源:如何为MindSpore社区贡献力量
人工智能·分布式·深度学习·机器学习·华为·开源
万岳科技系统开发1 天前
开源外卖系统源码的整体架构设计与核心功能实现
开源
猫头虎1 天前
2025年AI领域年度深度总结:始于DeepSeek R1开源发布,终于Manus天价出海
人工智能·langchain·开源·prompt·aigc·ai编程·编程技术
FIT2CLOUD飞致云1 天前
操作教程|DataEase企业总-分公司数据填报场景搭建实践
数据分析·开源·数据可视化·dataease·bi
踏浪无痕1 天前
JobFlow 负载感知调度:把任务分给最闲的机器
后端·架构·开源