diff --git a/TOOLS.md b/TOOLS.md index f862a0c..3690589 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -43,13 +43,20 @@ Add whatever helps you do your job. This is your cheat sheet. ## Git 配置 -### 城市手册项目 +### 城市手册项目 - 内网仓库 - **仓库**: http://10.2.0.100:8989/mashen/chengshishouce.git - **用户名**: mashen - **密码**: 825670@MashenClaw - **邮箱**: mashen@datalibstar.com +### 城市手册项目 - 外网仓库 + +- **仓库**: https://xjp.datalibstar.com/mashen/chengshouse.git +- **用户名**: mashen +- **密码**: 825670@MashenClaw +- **邮箱**: mashen@datalibstar.com + ## PostgreSQL 数据库 ### 城市手册项目 diff --git a/city-manual/backend/city_manual/settings.py b/city-manual/backend/city_manual/settings.py index 1c4faf3..a8763d6 100644 --- a/city-manual/backend/city_manual/settings.py +++ b/city-manual/backend/city_manual/settings.py @@ -86,17 +86,18 @@ WSGI_APPLICATION = 'city_manual.wsgi.application' import os -DATABASE_URL = os.environ.get('DATABASE_URL', '') +# 数据库配置 - 支持 PostgreSQL 和 SQLite +DB_ENGINE = os.environ.get('DB_ENGINE', '') -if DATABASE_URL.startswith('postgres'): +if DB_ENGINE == 'django.db.backends.postgresql': DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', - 'NAME': DATABASE_URL.split('/')[-1].split('?')[0], - 'USER': DATABASE_URL.split('@')[0].split('/')[-1].split(':')[0], - 'PASSWORD': DATABASE_URL.split('@')[0].split(':')[-1], - 'HOST': DATABASE_URL.split('@')[1].split(':')[0], - 'PORT': DATABASE_URL.split('@')[1].split(':')[-1].split('?')[0], + 'NAME': os.environ.get('DB_NAME', 'cssc'), + 'USER': os.environ.get('DB_USER', 'coder'), + 'PASSWORD': os.environ.get('DB_PASSWORD', ''), + 'HOST': os.environ.get('DB_HOST', 'localhost'), + 'PORT': os.environ.get('DB_PORT', '5432'), } } else: diff --git a/city-manual/scripts/deploy-via-rsync.sh b/city-manual/scripts/deploy-via-rsync.sh index ee24f02..d136ccb 100755 --- a/city-manual/scripts/deploy-via-rsync.sh +++ b/city-manual/scripts/deploy-via-rsync.sh @@ -77,7 +77,7 @@ python manage.py migrate --noinput python manage.py collectstatic --noinput echo "⚙️ 创建 Gunicorn 服务..." -sudo cat > /etc/systemd/system/city-manual.service << 'EOF' +sudo bash -c 'cat > /etc/systemd/system/city-manual.service << EOF [Unit] Description=City Manual Gunicorn Service After=network.target @@ -86,23 +86,19 @@ After=network.target User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu/city-manual/backend -ExecStart=/home/ubuntu/city-manual/backend/venv/bin/gunicorn \ - --access-logfile - \ - --workers 3 \ - --bind unix:/run/city-manual.sock \ - city_manual.wsgi:application +ExecStart=/home/ubuntu/city-manual/backend/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/run/city-manual.sock city_manual.wsgi:application Restart=always [Install] WantedBy=multi-user.target -EOF +EOF' sudo systemctl daemon-reload sudo systemctl enable city-manual sudo systemctl start city-manual echo "🌐 配置 Nginx..." -sudo cat > /etc/nginx/sites-available/city-manual << 'EOF' +sudo bash -c 'cat > /etc/nginx/sites-available/city-manual << "EOF" server { listen 80; server_name cssc.datalibstar.com; @@ -124,15 +120,15 @@ server { location / { include proxy_params; proxy_pass http://unix:/run/city-manual.sock; - 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; + 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; } client_max_body_size 10M; } -EOF +EOF' sudo ln -sf /etc/nginx/sites-available/city-manual /etc/nginx/sites-enabled/ sudo nginx -t