注意:對比package.json代碼修改配置即可,如果2024年5月之后下載的代碼可以直接用命令啟動
服務(wù)器安裝node + pm2 如已安裝跳過此章節(jié)
在 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。
驗證安裝:安裝完成后,運(yùn)行以下命令驗證 Node.js 和 npm 的安裝:
node?-vnpm?-v
如果安裝成功,將顯示 Node.js 和 npm 的版本信息。
安裝 PM2
全局安裝 PM2:
使用 npm 全局安裝 PM2:
sudo?npm?install?-g?pm2
驗證安裝:安裝完成后,運(yùn)行以下命令驗證 PM2 的安裝:
Copy?codepm2?-v
如果安裝成功,將顯示 PM2 的版本信息。
?? 修改 package.json
如上圖在 script 標(biāo)簽中添加
"pm2":?"pm2?start?./ecosystem.config.cjs?--interpreter?babel-node?--env?production",
"bundle":?"rollup?-c"
?? 在根目錄創(chuàng)建 ecosystem.config.cjs 內(nèi)容如下
// 配置pm2
module.exports = {
apps: [
{
name: "JavaMerPcMall",
script: "./.output/server/index.mjs",
args: "start", // 傳遞給腳本的參數(shù)
watch: true, // 開啟監(jiān)聽文件變動重啟
ignore_watch: ["node_modules", "public", "logs"], // 不用監(jiān)聽的文件
exec_mode: "fork",// 自家主機(jī)window cluster_mode 模式下啟動失敗
instances: "1", // max表示最大的 應(yīng)用啟動實(shí)例個數(shù),僅在 cluster 模式有效 默認(rèn)為 fork
autorestart: true, // 默認(rèn)為 true, 發(fā)生異常的情況下自動重啟
max_memory_restart: "1G", // // 最大內(nèi)存限制數(shù),超出自動重啟
error_file: './logs/app-err.log', // 錯誤日志文件
// out_file: './logs/app-out.log', // 正常日志文件
merge_logs: true, // 設(shè)置追加日志而不是新建日志
log_date_format: "YYYY-MM-DD HH:mm:ss", // 指定日志文件的時間格式
min_uptime: "60s", // 應(yīng)用運(yùn)行少于時間被認(rèn)為是異常啟動
env: {
// 環(huán)境參數(shù),當(dāng)前指定為開發(fā)環(huán)境
NODE_ENV: "development",
PORT: "8888",
},
env_production: {
// 環(huán)境參數(shù),當(dāng)前指定為生產(chǎn)環(huán)境
NODE_ENV: "production", //使用production模式 pm2 start ecosystem.config.js --env production
PORT: "60001",
},
env_test: {
// 環(huán)境參數(shù),當(dāng)前為測試環(huán)境
NODE_ENV: "test",
}
}
]
};
?? 根據(jù)如下步驟 執(zhí)行打包 copy 到服務(wù)器對一個目錄
npm?install
npm?run?build
將打包后的如下對應(yīng)文件 復(fù)制到服務(wù)器
如下圖項目啟動成功
本地測試端口訪問成功
根據(jù)配置在用nginx 轉(zhuǎn)發(fā)對應(yīng)端口到域名即可,此處配置省略,普通的 location 配置即可。