Files
ewoooc/deploy_scripts/setup_nginx.sh
ogt 1b4f3a7bbe
Some checks failed
CD Pipeline / deploy (push) Failing after 59s
feat: EwoooC 初始化 — 完整專案推版至 Gitea
- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml)
- 部署模式: rsync Python 檔案至 188 → docker restart (volume mount)
- Dockerfile/requirements 變動時自動重建 Docker image
- 部署通知: Telegram (開始/成功/失敗)
- 健康檢查: https://mo.wooo.work/health (最多 5 次重試)
- 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 01:21:13 +08:00

74 lines
1.9 KiB
Bash

#!/bin/bash
# setup_nginx.sh - 設定 Nginx 反向代理
set -e
echo "=========================================="
echo "設定 Nginx 反向代理"
echo "=========================================="
# 詢問域名或 IP
read -p "請輸入您的域名或 IP 地址 (例如: example.com 或 34.80.1.1): " DOMAIN
echo "📝 建立 Nginx 設定檔..."
sudo tee /etc/nginx/sites-available/momo > /dev/null <<EOF
server {
listen 80;
server_name $DOMAIN;
# 上傳大小限制
client_max_body_size 50M;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto \$scheme;
# WebSocket 支援(如果需要)
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
# 超時設定
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
# 靜態檔案快取
location /static/ {
alias /home/$USER/momo_pro_system/static/;
expires 30d;
add_header Cache-Control "public, immutable";
}
}
EOF
# 建立軟連結
echo "🔗 啟用站點..."
sudo ln -sf /etc/nginx/sites-available/momo /etc/nginx/sites-enabled/
# 移除預設站點
sudo rm -f /etc/nginx/sites-enabled/default
# 測試設定
echo "🧪 測試 Nginx 設定..."
sudo nginx -t
# 重啟 Nginx
echo "🔄 重啟 Nginx..."
sudo systemctl restart nginx
sudo systemctl enable nginx
echo ""
echo "✅ Nginx 設定完成!"
echo ""
echo "您的應用現在可以通過以下網址訪問:"
echo " http://$DOMAIN"
echo ""
echo "如需設定 HTTPS (SSL),請執行:"
echo " sudo apt install certbot python3-certbot-nginx"
echo " sudo certbot --nginx -d $DOMAIN"