Files
diary-system/deploy.sh
maoshen b273789ae8 Initial commit: 日记系统
完整的日记记录系统
- Django 后端 (diary app)
- 前端页面
- 部署脚本 (本地 + 云端)
- Nginx 配置
- 数据迁移和同步工具
2026-04-14 10:07:27 +00:00

87 lines
2.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 日记系统 - 自动部署脚本
set -e
echo "🚀 开始部署日记系统..."
# 1. 安装依赖
echo "📦 安装 Python 依赖..."
cd /root/.openclaw/workspace/diary-system/backend
pip3 install -r requirements.txt --break-system-packages -q
# 2. 数据库迁移
echo "🗄️ 执行数据库迁移..."
python3 manage.py makemigrations diary --noinput
python3 manage.py migrate --noinput
# 3. 收集静态文件
echo "📁 收集静态文件..."
mkdir -p /root/.openclaw/workspace/diary-system/backend/static
python3 manage.py collectstatic --noinput
# 4. 创建 Gunicorn 服务
echo "⚙️ 创建 Gunicorn 服务..."
cat > /etc/systemd/system/diary-system.service << EOF
[Unit]
Description=Diary System Gunicorn Service
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/root/.openclaw/workspace/diary-system/backend
ExecStart=/usr/bin/gunicorn --access-logfile - --workers 3 --bind 127.0.0.1:8002 diary_system.wsgi:application
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable diary-system
systemctl start diary-system
# 5. 配置 Nginx
echo "🌐 配置 Nginx..."
cat > /etc/nginx/sites-available/diary-system << 'EOF'
server {
listen 8001;
server_name _;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
alias /root/.openclaw/workspace/diary-system/backend/static/;
}
location /api/ {
proxy_pass http://127.0.0.1:8002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
root /root/.openclaw/workspace/diary-system/frontend;
index index.html;
try_files $uri $uri/ /index.html;
}
}
EOF
ln -sf /etc/nginx/sites-available/diary-system /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
# 6. 同步日记数据
echo "📊 同步日记数据..."
python3 /root/.openclaw/workspace/diary-system/sync_diary.py
echo ""
echo "✅ 部署完成!"
echo ""
echo "📍 访问地址http://cssc.datalibstar.com:8001"
echo "📍 API: http://cssc.datalibstar.com:8001/api/"
echo "📍 Admin: http://cssc.datalibstar.com:8001/admin"