一、云服务器基础准备
部署前需完成以下操作:
- 购买云服务器并开放80、8000端口的安全组策略
- 安装Python3.9及编译依赖库:
yum install gcc openssl-devel
- 安装MySQL数据库并创建项目专用账户
- 配置SSH密钥登录和防火墙规则
二、项目环境配置
通过Git将本地Django项目上传至服务器后:
- 创建Python虚拟环境:
python3 -m venv /envs/django
- 安装项目依赖:
pip install -r requirements.txt
- 修改settings.py配置:
ALLOWED_HOSTS = ['*']
DEBUG = False
- 执行数据库迁移:
python manage.py migrate
三、uWSGI服务配置
在项目根目录创建uwsgi.ini文件:
[uwsgi] socket = 127.0.0.1:8000 chdir = /project_path module = project.wsgi master = true processes = 4 vacuum = true
通过systemd设置开机自启服务
四、Nginx反向代理配置
修改/etc/nginx/nginx.conf文件:
location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; location /static { alias /project/staticfiles; }
执行nginx -s reload
重启服务
五、部署验证与测试
验证步骤应包括:
- 检查uWSGI进程状态:
systemctl status uwsgi
- 测试8000端口连通性
- 访问公网IP验证页面加载
- 查看错误日志定位问题:
/var/log/nginx/error.log
/project/uwsgi.log
本文完整演示了从服务器初始化到服务上线的全流程部署方案,重点解决了静态文件加载、服务进程管理等常见问题。实际部署时需根据项目规模调整uWSGI线程数和Nginx缓存配置。