mode增加自动启动网站的选项

This commit is contained in:
jingrow 2025-08-15 17:01:26 +08:00
parent 8a52c54ddb
commit 3f5729ac58

View File

@ -201,6 +201,8 @@ while [[ $# -gt 0 ]]; do
echo " status 查看网站状态"
echo " list 列出所有网站"
echo " logs 查看网站日志"
echo " autostartup 配置网站自动启动"
echo ""
echo "基础配置:"
echo " --site-name NAME 项目名称 (默认: jingrow)"
@ -241,6 +243,9 @@ while [[ $# -gt 0 ]]; do
echo " $0 --mode stop --site-name myproject"
echo " $0 --mode status --site-name myproject"
echo " $0 --mode list"
echo " # 配置自动启动"
echo " $0 --mode autostartup --site-name myproject"
exit 0
;;
*)
@ -2175,6 +2180,37 @@ show_site_logs() {
"
}
# 配置网站自动启动
autostartup_site() {
log_info "配置网站 $SITE_NAME 自动启动..."
# 检查网站是否存在
if ! check_site_exists "$SITE_NAME"; then
log_error "网站 $SITE_NAME 不存在,请先创建网站"
return 1
fi
# 确保PM2已安装并配置开机自启
log_info "配置PM2开机自启..."
su - jingrow -c "
export NVM_DIR=\"\$HOME/.nvm\"
[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"
pm2 startup 2>/dev/null || true
"
# 保存当前PM2配置
log_info "保存PM2配置..."
su - jingrow -c "
export NVM_DIR=\"\$HOME/.nvm\"
[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"
pm2 save
"
log_success "网站 $SITE_NAME 自动启动配置完成"
log_info "服务器重启后,网站将自动启动"
log_info "如需禁用自动启动,请使用: pm2 unstartup"
}
# ========================================
# 主函数
# ========================================
@ -2336,9 +2372,14 @@ main() {
show_site_logs
;;
"autostartup")
# 配置网站自动启动
autostartup_site
;;
*)
log_error "不支持的mode: $MODE"
echo "支持的mode: deploy, create, create_and_start, delete, build, start, stop, restart, status, list, logs"
echo "支持的mode: deploy, create, create_and_start, delete, build, start, stop, restart, status, list, logs, autostartup"
exit 1
;;
esac