# 检查 Nginx 是否已安装 if command -v nginx &> /dev/null; then echo "✅ Nginx 已安装,跳过安装步骤" else echo "🚀 安装 Nginx" apt install -y nginx fi # 检查 Certbot 是否已安装 if command -v certbot &> /dev/null; then echo "✅ Certbot 已安装,跳过安装步骤" else echo "🚀 安装 Certbot" sudo apt install -y certbot sudo apt install -y python3-certbot-nginx fi echo "🚀 复制当前目录的配置文件到nginx配置文件目录" cp -r ./easyai-proxy.conf /etc/nginx/conf.d/ echo "🚀 重载nginx" sudo nginx -s reload # 停止 Nginx 服务以释放 80 端口 sudo nginx -s stop echo "🚀 使用certbot 自动配置证书" # 从 Nginx 配置文件中提取所有域名 DOMAINS=$(find /etc/nginx/conf.d/ -name "easyai-proxy.conf" -type f -exec grep "server_name" {} \; | \ grep -v "#" | \ awk '{for(i=2;i<=NF;i++) if($i!=";") print $i}' | \ sed 's/;//g' | \ sort -u | \ tr '\n' ' ') if [ -n "$DOMAINS" ]; then # 停止 Nginx 服务 echo "停止 Nginx 服务..." sudo nginx -s stop # 构建域名参数字符串 DOMAIN_ARGS="" for domain in $DOMAINS; do DOMAIN_ARGS="$DOMAIN_ARGS -d $domain" done # 使用 certbot --nginx 插件安装证书 sudo certbot --nginx \ --non-interactive \ --agree-tos \ --email wangbo@51easyai.com \ --rsa-key-size 2048 \ --preferred-challenges http \ --force-renewal \ $DOMAIN_ARGS # 启动 Nginx 服务 echo "启动 Nginx 服务..." sudo nginx fi