售前咨询400-838-0503

怎样在云服务器上运行Django项目?

技术文档 2025-04-08 20:01

手把手教你如何在云服务器上部署Django项目

2023年10月15日 阅读时间:8分钟

在数字化时代,将Django项目部署到云服务器已成为开发者必备技能。本文将用最通俗易懂的方式,带你从零开始完成整个部署流程,包括环境配置、项目上传、数据库设置等关键步骤。

一、云服务器准备阶段

首先需要选择适合的云服务商(如阿里云、腾讯云等),建议选择Ubuntu 20.04 LTS系统:

  1. 购买云服务器后,通过SSH连接服务器
  2. 更新系统软件包:sudo apt update && sudo apt upgrade -y
  3. 安装必要工具:sudo apt install -y python3-pip python3-dev libpq-dev nginx

💡 专业建议:使用ufw配置防火墙规则,开放必要端口(22/80/443)

二、Python环境配置

建议使用虚拟环境避免依赖冲突:

sudo pip3 install virtualenv
mkdir ~/django_project
cd ~/django_project
virtualenv venv
source venv/bin/activate

安装Django和其他依赖:

pip install django gunicorn psycopg2-binary

三、项目上传与配置

推荐两种项目上传方式:

方式 适用场景
Git克隆 项目已在版本控制中
SFTP上传 本地开发环境直接迁移

关键配置步骤:

  1. 修改settings.py中的ALLOWED_HOSTS
  2. 配置数据库连接(推荐PostgreSQL)
  3. 执行python manage.py collectstatic

四、Gunicorn+Nginx配置

创建Gunicorn服务文件/etc/systemd/system/gunicorn.service:

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/django_project
ExecStart=/home/ubuntu/django_project/venv/bin/gunicorn \
    --access-logfile - \
    --workers 3 \
    --bind unix:/home/ubuntu/django_project/django.sock \
    project_name.wsgi:application

[Install]
WantedBy=multi-user.target

Nginx配置示例:

server {
    listen 80;
    server_name your_domain.com;
    
    location /static/ {
        root /home/ubuntu/django_project;
    }
    
    location / {
        include proxy_params;
        proxy_pass http://unix:/home/ubuntu/django_project/django.sock;
    }
}

⚠️ 常见问题:遇到502错误时,检查socket文件权限和Nginx用户组配置

五、HTTPS安全配置(可选但推荐)

使用Let's Encrypt免费证书:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com

六、运维监控建议

  • 配置日志轮转(logrotate)
  • 设置自动化备份策略
  • 使用Supervisor管理进程

通过以上步骤,你的Django项目已经成功部署到云服务器。记住定期更新依赖包和安全补丁,如需更复杂的部署架构,可以考虑Docker容器化方案。

常见问题解答

Q:静态文件加载失败怎么办?
A:检查Nginx配置中的static路径,确保collectstatic已执行

Q:如何提高并发性能?
A:增加Gunicorn worker数量(建议2-4倍CPU核心数),启用Nginx缓存

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单