部署实战

Django 教程 · 第 8 章 · 8 次浏览

Django 部署比 Flask 多几个环节:静态文件收集、数据库、Gunicorn + Nginx、环境变量管理。

部署清单

  1. settings.py:DEBUG=False、ALLOWED_HOSTS 配域名、SECRET_KEY 用环境变量
  2. python manage.py collectstatic 收集静态文件到 STATIC_ROOT
  3. 数据库换 MySQL/PostgreSQL,配置连接
  4. Gunicorn 起服务,Nginx 反代 + 服务静态文件
  5. 宝塔面板可视化配置更省事

代码示例

# settings.py 生产配置
# DEBUG = False
# ALLOWED_HOSTS = ["example.com"]
# SECRET_KEY = os.environ["DJANGO_SECRET_KEY"]

# 收集静态文件
python manage.py collectstatic --noinput
python manage.py migrate

# Gunicorn 启动
pip install gunicorn
gunicorn mysite.wsgi:application -w 4 -b 127.0.0.1:8000

# Nginx 反代 + 静态文件
# location / {
#     proxy_pass http://127.0.0.1:8000;
# }
# location /static/ {
#     alias /path/mysite/static/;
# }
📚 Shell 命令速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
写法 / 语法作用
ls / ls -la列出文件(-la 显示隐藏和详情)
cd 目录切换目录
pwd显示当前目录
mkdir -p 目录创建目录(-p 自动建父级)
touch 文件创建空文件
cp -r 源 目标复制(-r 递归复制目录)
mv 源 目标移动 / 重命名
rm -rf 目录删除(危险,慎用)
cat 文件查看文件内容
less 文件分页查看文件(q 退出)
grep "关键词" 文件按关键词搜索
find . -name "*.php"按名称查找文件
chmod 755 文件修改权限
ps aux查看进程
kill 进程号结束进程
top实时资源监控
df -h / free -m磁盘 / 内存占用
tar -czf a.tar.gz 目录打包压缩
tar -xzf a.tar.gz解压
curl 网址请求网址(测试接口)
wget 网址下载文件
ssh 用户@主机远程登录
scp 文件 用户@主机:/路径远程传文件
sudo 命令以管理员执行
crontab -e编辑定时任务