更新PM2配置并添加相关脚本
This commit is contained in:
@@ -2,12 +2,13 @@ module.exports = {
|
||||
apps: [{
|
||||
name: 'jiebanke-backend',
|
||||
script: './src/server.js',
|
||||
instances: 'max',
|
||||
exec_mode: 'cluster',
|
||||
instances: 1,
|
||||
exec_mode: 'fork',
|
||||
// 环境变量
|
||||
env: {
|
||||
NODE_ENV: 'development',
|
||||
PORT: 3200,
|
||||
WATCH: true
|
||||
WATCH: false
|
||||
},
|
||||
env_production: {
|
||||
NODE_ENV: 'production',
|
||||
@@ -20,14 +21,17 @@ module.exports = {
|
||||
WATCH: false
|
||||
},
|
||||
// 日志配置
|
||||
log_file: '/data/nodejs/jiebanke/logs/combined.log',
|
||||
out_file: '/data/nodejs/jiebanke/logs/out.log',
|
||||
error_file: '/data/nodejs/jiebanke/logs/error.log',
|
||||
log_file: './logs/combined.log',
|
||||
out_file: './logs/out.log',
|
||||
error_file: './logs/error.log',
|
||||
log_date_format: 'YYYY-MM-DD HH:mm:ss',
|
||||
// 性能配置
|
||||
max_memory_restart: '1G',
|
||||
kill_timeout: 3000,
|
||||
wait_ready: true,
|
||||
listen_timeout: 3000,
|
||||
// 重启策略
|
||||
autorestart: true,
|
||||
max_restarts: 10,
|
||||
restart_delay: 4000,
|
||||
// 监控配置
|
||||
watch: false,
|
||||
ignore_watch: [
|
||||
@@ -35,10 +39,6 @@ module.exports = {
|
||||
'logs',
|
||||
'.git',
|
||||
'uploads'
|
||||
],
|
||||
// 重启策略
|
||||
autorestart: true,
|
||||
max_restarts: 10,
|
||||
restart_delay: 4000
|
||||
]
|
||||
}]
|
||||
};
|
||||
@@ -13,7 +13,12 @@
|
||||
"init-test-data": "node scripts/init-test-data.js",
|
||||
"test-api": "node scripts/test-api-endpoints.js",
|
||||
"test-db": "node scripts/test-database-connection.js",
|
||||
"start-scripts": "chmod +x *.sh"
|
||||
"start-scripts": "chmod +x *.sh",
|
||||
"pm2:start": "pm2 start ecosystem.config.js",
|
||||
"pm2:stop": "pm2 stop ecosystem.config.js",
|
||||
"pm2:restart": "pm2 restart ecosystem.config.js",
|
||||
"pm2:status": "pm2 status",
|
||||
"pm2:logs": "pm2 logs"
|
||||
},
|
||||
"keywords": [
|
||||
"mini-program",
|
||||
@@ -45,7 +50,8 @@
|
||||
"swagger-jsdoc": "^6.2.8",
|
||||
"swagger-ui-express": "^5.0.1",
|
||||
"winston": "^3.11.0",
|
||||
"xss-clean": "^0.1.4"
|
||||
"xss-clean": "^0.1.4",
|
||||
"pm2": "^5.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^8.56.0",
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
module.exports = {
|
||||
apps: [{
|
||||
name: 'jiebanke-backend',
|
||||
script: 'server.js',
|
||||
env: {
|
||||
PORT: 3200,
|
||||
NODE_ENV: 'production',
|
||||
},
|
||||
autorestart: true,
|
||||
watch: false,
|
||||
max_memory_restart: '1G',
|
||||
output: 'logs/pm2.log',
|
||||
error: 'logs/pm2-error.log',
|
||||
log: 'logs/pm2-combined.log',
|
||||
pid_file: 'pm2.pid',
|
||||
instances: 1,
|
||||
exec_mode: 'fork'
|
||||
}]
|
||||
};
|
||||
#!/bin/bash
|
||||
|
||||
# 结伴客后端服务启动脚本
|
||||
@@ -202,65 +221,209 @@ main "$@"
|
||||
```
|
||||
```
|
||||
@echo off
|
||||
title 结伴客后端服务启动脚本
|
||||
title 结伴客后端服务PM2启动脚本
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
:: 设置颜色
|
||||
for /f "delims=" %%i in ('echo prompt $E^| cmd') do set "ESC=%%i"
|
||||
|
||||
:: 检查Node.js是否安装
|
||||
:: 显示使用说明
|
||||
if "%1"=="" (
|
||||
call :show_usage
|
||||
goto :eof
|
||||
)
|
||||
|
||||
:: 根据参数执行相应操作
|
||||
if "%1"=="start" (
|
||||
call :start_service
|
||||
) else if "%1"=="stop" (
|
||||
call :stop_service
|
||||
) else if "%1"=="restart" (
|
||||
call :restart_service
|
||||
) else if "%1"=="status" (
|
||||
call :status_service
|
||||
) else if "%1"=="logs" (
|
||||
call :logs_service
|
||||
) else if "%1"=="delete" (
|
||||
call :delete_service
|
||||
) else if "%1"=="list" (
|
||||
call :list_service
|
||||
) else if "%1"=="help" (
|
||||
call :show_usage
|
||||
) else (
|
||||
echo %ESC%[91m未知选项: %1%ESC%[0m
|
||||
call :show_usage
|
||||
)
|
||||
|
||||
goto :eof
|
||||
|
||||
:: 显示使用说明
|
||||
:show_usage
|
||||
echo 用法: %0 [选项]
|
||||
echo 选项:
|
||||
echo start 使用PM2启动后端服务
|
||||
echo stop 停止PM2管理的后端服务
|
||||
echo restart 重启PM2管理的后端服务
|
||||
echo status 查看PM2服务状态
|
||||
echo logs 查看PM2服务日志
|
||||
echo delete 从PM2中删除应用
|
||||
echo list 列出所有PM2应用
|
||||
echo help 显示帮助信息
|
||||
goto :eof
|
||||
|
||||
:: 检查Node.js
|
||||
:check_node
|
||||
echo 检查Node.js环境...
|
||||
node -v >nul 2>&1
|
||||
if %errorlevel% neq 0 (
|
||||
echo %ESC%[91m错误: 未找到Node.js,请先安装Node.js%ESC%[0m
|
||||
pause
|
||||
exit /b 1
|
||||
) else (
|
||||
for /f %%i in ('node -v') do set NODE_VERSION=%%i
|
||||
echo %ESC%[92m✓ Node.js版本: %NODE_VERSION%%ESC%[0m
|
||||
)
|
||||
goto :eof
|
||||
|
||||
:: 检查npm是否安装
|
||||
:: 检查npm
|
||||
:check_npm
|
||||
echo 检查npm环境...
|
||||
npm -v >nul 2>&1
|
||||
if %errorlevel% neq 0 (
|
||||
echo %ESC%[91m错误: 未找到npm,请先安装npm%ESC%[0m
|
||||
pause
|
||||
exit /b 1
|
||||
) else (
|
||||
for /f %%i in ('npm -v') do set NPM_VERSION=%%i
|
||||
echo %ESC%[92m✓ npm版本: %NPM_VERSION%%ESC%[0m
|
||||
)
|
||||
goto :eof
|
||||
|
||||
:: 检查依赖是否安装
|
||||
:: 检查PM2
|
||||
:check_pm2
|
||||
echo 检查PM2环境...
|
||||
pm2 -v >nul 2>&1
|
||||
if %errorlevel% neq 0 (
|
||||
echo %ESC%[93m警告: 未找到PM2,正在安装...%ESC%[0m
|
||||
npm install -g pm2
|
||||
if !errorlevel! neq 0 (
|
||||
echo %ESC%[91m错误: PM2安装失败%ESC%[0m
|
||||
exit /b 1
|
||||
)
|
||||
echo %ESC%[92m✓ PM2安装完成%ESC%[0m
|
||||
) else (
|
||||
for /f %%i in ('pm2 -v') do set PM2_VERSION=%%i
|
||||
echo %ESC%[92m✓ PM2版本: %PM2_VERSION%%ESC%[0m
|
||||
)
|
||||
goto :eof
|
||||
|
||||
:: 检查依赖
|
||||
:check_dependencies
|
||||
if not exist "node_modules" (
|
||||
echo %ESC%[93m警告: 未找到node_modules目录,正在安装依赖...%ESC%[0m
|
||||
npm install
|
||||
if !errorlevel! neq 0 (
|
||||
echo %ESC%[91m错误: 依赖安装失败%ESC%[0m
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo %ESC%[92m✓ 依赖安装完成%ESC%[0m
|
||||
) else (
|
||||
echo %ESC%[92m✓ 依赖已安装%ESC%[0m
|
||||
)
|
||||
|
||||
:: 设置默认端口
|
||||
if "%PORT%"=="" set PORT=3200
|
||||
goto :eof
|
||||
|
||||
:: 启动服务
|
||||
echo %ESC%[92m正在启动结伴客后端服务...%ESC%[0m
|
||||
echo 服务将在端口 %PORT% 上运行
|
||||
echo 日志将输出到 server.log 文件
|
||||
:start_service
|
||||
call :check_node
|
||||
call :check_npm
|
||||
call :check_pm2
|
||||
call :check_dependencies
|
||||
|
||||
npm start > server.log 2>&1
|
||||
echo %ESC%[92m正在使用PM2启动结伴客后端服务...%ESC%[0m
|
||||
pm2 start ecosystem.config.js --env production
|
||||
|
||||
if %errorlevel% equ 0 (
|
||||
echo %ESC%[92m✓ 服务启动成功%ESC%[0m
|
||||
echo %ESC%[92m✓ 服务已通过PM2启动%ESC%[0m
|
||||
echo %ESC%[92m✓ 执行 'pm2 list' 查看运行中的应用%ESC%[0m
|
||||
echo %ESC%[92m✓ 执行 'pm2 logs' 查看应用日志%ESC%[0m
|
||||
) else (
|
||||
echo %ESC%[91m✗ 服务启动失败,请检查日志文件 server.log%ESC%[0m
|
||||
echo %ESC%[91m✗ 服务启动失败%ESC%[0m
|
||||
exit /b 1
|
||||
)
|
||||
goto :eof
|
||||
|
||||
:: 停止服务
|
||||
:stop_service
|
||||
call :check_pm2
|
||||
echo %ESC%[92m正在停止PM2管理的服务...%ESC%[0m
|
||||
pm2 stop ecosystem.config.js
|
||||
|
||||
if %errorlevel% equ 0 (
|
||||
echo %ESC%[92m✓ 服务已停止%ESC%[0m
|
||||
) else (
|
||||
echo %ESC%[93m可能没有正在运行的服务%ESC%[0m
|
||||
)
|
||||
goto :eof
|
||||
|
||||
:: 重启服务
|
||||
:restart_service
|
||||
call :check_pm2
|
||||
echo %ESC%[92m正在重启PM2管理的服务...%ESC%[0m
|
||||
|
||||
:: 检查应用是否在运行,如果未运行则直接启动
|
||||
call :is_app_running
|
||||
if %errorlevel% neq 0 (
|
||||
echo %ESC%[93m应用未在运行,正在启动...%ESC%[0m
|
||||
pm2 start ecosystem.config.js --env production
|
||||
) else (
|
||||
pm2 restart ecosystem.config.js --env production
|
||||
)
|
||||
|
||||
pause
|
||||
if %errorlevel% equ 0 (
|
||||
echo %ESC%[92m✓ 服务已重启%ESC%[0m
|
||||
) else (
|
||||
echo %ESC%[91m✗ 服务重启失败%ESC%[0m
|
||||
exit /b 1
|
||||
)
|
||||
goto :eof
|
||||
|
||||
:: 删除应用
|
||||
:delete_service
|
||||
call :check_pm2
|
||||
echo %ESC%[92m正在从PM2中删除应用...%ESC%[0m
|
||||
|
||||
:: 检查应用是否存在
|
||||
call :is_app_running
|
||||
if %errorlevel% neq 0 (
|
||||
echo %ESC%[93m应用不存在或未在运行%ESC%[0m
|
||||
goto :eof
|
||||
)
|
||||
|
||||
pm2 delete ecosystem.config.js
|
||||
|
||||
if %errorlevel% equ 0 (
|
||||
echo %ESC%[92m✓ 应用已从PM2中删除%ESC%[0m
|
||||
) else (
|
||||
echo %ESC%[93m删除应用时遇到问题%ESC%[0m
|
||||
)
|
||||
goto :eof
|
||||
|
||||
:: 查看服务状态
|
||||
:status_service
|
||||
call :check_pm2
|
||||
echo %ESC%[92mPM2应用状态:%ESC%[0m
|
||||
pm2 list
|
||||
goto :eof
|
||||
|
||||
:: 列出所有应用
|
||||
:list_service
|
||||
call :check_pm2
|
||||
echo %ESC%[92mPM2应用列表:%ESC%[0m
|
||||
pm2 list
|
||||
goto :eof
|
||||
|
||||
:: 查看日志
|
||||
:logs_service
|
||||
call :check_pm2
|
||||
echo %ESC%[92m正在查看应用日志...%ESC%[0m
|
||||
pm2 logs ecosystem.config.js
|
||||
goto :eof
|
||||
|
||||
@@ -1,22 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 结伴客后端服务启动脚本
|
||||
# 用于启动Node.js后端服务
|
||||
# 结伴客后端服务PM2启动脚本
|
||||
# 使用PM2管理Node.js应用程序
|
||||
|
||||
# 设置颜色变量
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 显示脚本使用说明
|
||||
show_usage() {
|
||||
echo "用法: $0 [选项]"
|
||||
echo "选项:"
|
||||
echo " start 启动后端服务"
|
||||
echo " stop 停止后端服务"
|
||||
echo " restart 重启后端服务"
|
||||
echo " status 查看服务状态"
|
||||
echo " start 使用PM2启动后端服务"
|
||||
echo " stop 停止PM2管理的后端服务"
|
||||
echo " restart 重启PM2管理的后端服务"
|
||||
echo " status 查看PM2服务状态"
|
||||
echo " logs 查看PM2服务日志"
|
||||
echo " delete 从PM2中删除应用"
|
||||
echo " list 列出所有PM2应用"
|
||||
echo " help 显示帮助信息"
|
||||
}
|
||||
|
||||
@@ -42,6 +46,22 @@ check_npm() {
|
||||
echo -e "${GREEN}✓ npm版本: ${NPM_VERSION}${NC}"
|
||||
}
|
||||
|
||||
# 检查是否安装了PM2
|
||||
check_pm2() {
|
||||
if ! command -v pm2 &> /dev/null; then
|
||||
echo -e "${YELLOW}警告: 未找到PM2,正在安装...${NC}"
|
||||
npm install -g pm2
|
||||
if [ $? -ne 0 ]; then
|
||||
echo -e "${RED}错误: PM2安装失败${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "${GREEN}✓ PM2安装完成${NC}"
|
||||
else
|
||||
PM2_VERSION=$(pm2 -v)
|
||||
echo -e "${GREEN}✓ PM2版本: ${PM2_VERSION}${NC}"
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查依赖是否已安装
|
||||
check_dependencies() {
|
||||
if [ ! -d "node_modules" ]; then
|
||||
@@ -57,104 +77,111 @@ check_dependencies() {
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查应用是否已在PM2中运行
|
||||
is_app_running() {
|
||||
pm2 list | grep -q "jiebanke-backend"
|
||||
return $?
|
||||
}
|
||||
|
||||
# 启动服务
|
||||
start_service() {
|
||||
# 检查服务是否已经在运行
|
||||
if pgrep -f "node.*server.js" > /dev/null; then
|
||||
echo -e "${YELLOW}警告: 服务已在运行中${NC}"
|
||||
exit 1
|
||||
echo -e "${GREEN}正在使用PM2启动结伴客后端服务...${NC}"
|
||||
|
||||
# 检查应用是否已经在运行
|
||||
if is_app_running; then
|
||||
echo -e "${YELLOW}警告: 应用已在PM2中运行${NC}"
|
||||
echo -e "${BLUE}提示: 使用 'pm2 restart jiebanke-backend' 重启应用${NC}"
|
||||
echo -e "${BLUE}提示: 使用 'pm2 stop jiebanke-backend' 停止应用${NC}"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}正在启动结伴客后端服务...${NC}"
|
||||
# 使用PM2启动服务
|
||||
pm2 start ecosystem.config.js --env production
|
||||
|
||||
# 设置环境变量
|
||||
export NODE_ENV=production
|
||||
export PORT=${PORT:-3200}
|
||||
|
||||
# 启动服务并将其放到后台运行
|
||||
nohup npm start > server.log 2>&1 &
|
||||
SERVER_PID=$!
|
||||
|
||||
# 将PID保存到文件
|
||||
echo $SERVER_PID > server.pid
|
||||
|
||||
# 等待几秒钟让服务启动
|
||||
sleep 3
|
||||
|
||||
# 检查服务是否成功启动
|
||||
if pgrep -f "node.*server.js" > /dev/null; then
|
||||
echo -e "${GREEN}✓ 服务启动成功${NC}"
|
||||
echo -e "${GREEN}✓ PID: ${SERVER_PID}${NC}"
|
||||
echo -e "${GREEN}✓ 日志文件: server.log${NC}"
|
||||
echo -e "${GREEN}✓ 访问地址: http://localhost:${PORT}${NC}"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}✓ 服务已通过PM2启动${NC}"
|
||||
echo -e "${GREEN}✓ 执行 'pm2 list' 查看运行中的应用${NC}"
|
||||
echo -e "${GREEN}✓ 执行 'pm2 logs' 查看应用日志${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ 服务启动失败,请检查日志文件 server.log${NC}"
|
||||
rm -f server.pid
|
||||
echo -e "${RED}✗ 服务启动失败${NC}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 停止服务
|
||||
stop_service() {
|
||||
if [ ! -f server.pid ]; then
|
||||
if pgrep -f "node.*server.js" > /dev/null; then
|
||||
echo -e "${YELLOW}警告: 找到正在运行的服务,但PID文件不存在${NC}"
|
||||
echo -e "${YELLOW}尝试查找并终止服务...${NC}"
|
||||
pkill -f "node.*server.js"
|
||||
sleep 2
|
||||
if pgrep -f "node.*server.js" > /dev/null; then
|
||||
echo -e "${RED}✗ 无法终止服务${NC}"
|
||||
exit 1
|
||||
else
|
||||
echo -e "${GREEN}✓ 服务已终止${NC}"
|
||||
fi
|
||||
else
|
||||
echo -e "${YELLOW}服务未在运行${NC}"
|
||||
fi
|
||||
echo -e "${GREEN}正在停止PM2管理的服务...${NC}"
|
||||
|
||||
# 检查应用是否在运行
|
||||
if ! is_app_running; then
|
||||
echo -e "${YELLOW}应用未在运行${NC}"
|
||||
return 0
|
||||
fi
|
||||
|
||||
pm2 stop ecosystem.config.js
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}✓ 服务已停止${NC}"
|
||||
else
|
||||
SERVER_PID=$(cat server.pid)
|
||||
if ps -p $SERVER_PID > /dev/null; then
|
||||
echo -e "${GREEN}正在停止服务 (PID: ${SERVER_PID})...${NC}"
|
||||
kill $SERVER_PID
|
||||
sleep 3
|
||||
if ps -p $SERVER_PID > /dev/null; then
|
||||
echo -e "${YELLOW}服务未响应,强制终止...${NC}"
|
||||
kill -9 $SERVER_PID
|
||||
fi
|
||||
rm -f server.pid
|
||||
echo -e "${GREEN}✓ 服务已停止${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}PID文件存在但服务未在运行${NC}"
|
||||
rm -f server.pid
|
||||
fi
|
||||
echo -e "${YELLOW}停止服务时遇到问题${NC}"
|
||||
fi
|
||||
}
|
||||
|
||||
# 重启服务
|
||||
restart_service() {
|
||||
echo -e "${GREEN}正在重启PM2管理的服务...${NC}"
|
||||
|
||||
# 检查应用是否在运行,如果未运行则直接启动
|
||||
if ! is_app_running; then
|
||||
echo -e "${YELLOW}应用未在运行,正在启动...${NC}"
|
||||
pm2 start ecosystem.config.js --env production
|
||||
else
|
||||
pm2 restart ecosystem.config.js --env production
|
||||
fi
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}✓ 服务已重启${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ 服务重启失败${NC}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 删除应用
|
||||
delete_service() {
|
||||
echo -e "${GREEN}正在从PM2中删除应用...${NC}"
|
||||
|
||||
# 检查应用是否存在
|
||||
if ! is_app_running; then
|
||||
echo -e "${YELLOW}应用不存在或未在运行${NC}"
|
||||
return 0
|
||||
fi
|
||||
|
||||
pm2 delete ecosystem.config.js
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}✓ 应用已从PM2中删除${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}删除应用时遇到问题${NC}"
|
||||
fi
|
||||
}
|
||||
|
||||
# 查看服务状态
|
||||
status_service() {
|
||||
if [ -f server.pid ]; then
|
||||
SERVER_PID=$(cat server.pid)
|
||||
if ps -p $SERVER_PID > /dev/null; then
|
||||
echo -e "${GREEN}✓ 服务正在运行 (PID: ${SERVER_PID})${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ PID文件存在但服务未在运行${NC}"
|
||||
fi
|
||||
else
|
||||
if pgrep -f "node.*server.js" > /dev/null; then
|
||||
echo -e "${GREEN}✓ 服务正在运行${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}服务未在运行${NC}"
|
||||
fi
|
||||
fi
|
||||
echo -e "${GREEN}PM2应用状态:${NC}"
|
||||
pm2 list
|
||||
}
|
||||
|
||||
# 列出所有应用
|
||||
list_service() {
|
||||
echo -e "${GREEN}PM2应用列表:${NC}"
|
||||
pm2 list
|
||||
}
|
||||
|
||||
# 查看日志
|
||||
tail_logs() {
|
||||
if [ -f server.log ]; then
|
||||
tail -f server.log
|
||||
else
|
||||
echo -e "${RED}日志文件不存在${NC}"
|
||||
fi
|
||||
logs_service() {
|
||||
echo -e "${GREEN}正在查看应用日志...${NC}"
|
||||
pm2 logs ecosystem.config.js
|
||||
}
|
||||
|
||||
# 主逻辑
|
||||
@@ -166,25 +193,33 @@ main() {
|
||||
start)
|
||||
check_node
|
||||
check_npm
|
||||
check_pm2
|
||||
check_dependencies
|
||||
start_service
|
||||
;;
|
||||
stop)
|
||||
check_pm2
|
||||
stop_service
|
||||
;;
|
||||
restart)
|
||||
stop_service
|
||||
sleep 2
|
||||
check_node
|
||||
check_npm
|
||||
check_dependencies
|
||||
start_service
|
||||
check_pm2
|
||||
restart_service
|
||||
;;
|
||||
delete)
|
||||
check_pm2
|
||||
delete_service
|
||||
;;
|
||||
status)
|
||||
check_pm2
|
||||
status_service
|
||||
;;
|
||||
list)
|
||||
check_pm2
|
||||
list_service
|
||||
;;
|
||||
logs)
|
||||
tail_logs
|
||||
check_pm2
|
||||
logs_service
|
||||
;;
|
||||
help)
|
||||
show_usage
|
||||
|
||||
988
package-lock.json
generated
988
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user