在Ubuntu VPS上启动首个Django项目的相关技术咨询
问题解答与操作指南
1. Ubuntu上启动Django项目的常规做法
- 环境准备
- 安装Python及相关工具:
sudo apt update && sudo apt install python3 python3-pip python3-venv - 创建并激活虚拟环境:
python3 -m venv myenv,随后执行source myenv/bin/activate
- 安装Python及相关工具:
- 项目部署
- 上传或克隆Django项目代码到VPS指定目录
- 在虚拟环境内安装依赖:
pip install -r requirements.txt - 修改
settings.py:设DEBUG=False,添加VPS的IP/域名到ALLOWED_HOSTS,配置数据库信息(若用PostgreSQL/MySQL,需先安装对应服务和驱动) - 执行数据库迁移:
python manage.py makemigrations,再运行python manage.py migrate - 收集静态文件:确保
STATIC_ROOT已在settings中配置,执行python manage.py collectstatic
- 服务配置与启动
- 安装Gunicorn:
pip install gunicorn,测试启动命令:gunicorn --bind 0.0.0.0:8000 你的项目名.wsgi:application - 配置Nginx反向代理:新建Nginx配置文件,将请求转发到Gunicorn端口,同时配置静态、媒体文件的访问路径
- 设置systemd服务:创建Gunicorn的systemd配置文件,实现开机自启与进程管理,启动并启用服务:
sudo systemctl start gunicorn、sudo systemctl enable gunicorn
- 安装Gunicorn:
2. 本地VSCode编写代码后部署到Ubuntu VPS
完全可行,常用方式有三种:
- Git同步:本地用Git管理代码,推送到代码仓库,VPS端克隆仓库;每次本地提交后,VPS拉取最新代码,重新安装依赖、迁移数据库、重启服务即可
- VSCode SFTP插件:安装SFTP插件,配置VPS的SSH连接信息,直接在VSCode中右键上传修改的文件,适合小范围改动
- 脚本自动化部署:编写shell脚本,整合代码拉取、依赖更新、服务重启等步骤,本地通过SSH执行脚本完成部署
3. 静态/媒体文件存储选择
- 存在VPS上:适合访客量小、预算有限的场景,操作简单,只需配置
MEDIA_ROOT和MEDIA_URL,通过Nginx提供访问即可,但要定期备份VPS数据,避免文件丢失 - 对接AWS(如S3):适合有流量增长需求、需要高可用性的场景,S3提供稳定存储与CDN加速能力,还能配合CloudFront优化访问速度,但需额外配置AWS账号、存储桶,修改Django的存储后端,成本高于VPS存储
此类项目的常规操作步骤清单
- 前期准备
- 购买并初始化Ubuntu VPS,配置SSH密钥登录(禁用密码登录提升安全性)
- 本地安装VSCode、Python、Git,搭建Django开发环境
- 开发阶段
- 本地创建Django项目,完成博客发布、图片上传/展示等核心功能
- 本地测试所有功能,确保静态、媒体文件访问正常
- 部署阶段
- 在VPS上配置Python虚拟环境,安装项目依赖
- 上传代码到VPS,修改settings配置(DEBUG、ALLOWED_HOSTS、数据库、存储路径等)
- 执行数据库迁移,收集静态文件
- 配置Gunicorn和Nginx,启动服务并测试访问
- 若有域名,完成域名解析,申请Let's Encrypt SSL证书开启HTTPS
- 维护阶段
- 定期备份VPS数据库与文件
- 本地开发新功能后,按流程部署到VPS
- 监控VPS资源使用情况,按需调整配置
- 定期更新系统与依赖包,保障安全性
内容的提问来源于stack exchange,提问作者David Henson
相关产品推荐
相关产品推荐

