售前咨询400-838-0503

云服务器如何部署Django项目?

发布:2025-04-16 08:00

云服务器部署Django项目全攻略:从零到上线

在当今数字化时代,部署Django项目到云服务器已成为开发者必备技能。本文将详细介绍如何在主流云服务器上部署Django应用,包含环境配置、安全设置和性能优化等关键环节。

一、准备工作

1.1 选择合适的云服务商

阿里云、腾讯云、AWS等主流云平台都提供完善的云服务器产品。建议选择:

  • CPU:至少2核
  • 内存:4GB以上
  • 操作系统:Ubuntu 20.04 LTS
  • 带宽:按预估流量选择

1.2 基础环境配置


# 更新系统包
sudo apt update && sudo apt upgrade -y

# 安装基本工具
sudo apt install -y git curl wget

二、部署环境搭建

2.1 Python环境配置

推荐使用pyenv管理多版本Python:


# 安装依赖
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

# 安装pyenv
curl https://pyenv.run | bash

2.2 数据库安装

MySQL/PostgreSQL安装示例:


# PostgreSQL安装
sudo apt install -y postgresql postgresql-contrib
sudo -u postgres psql -c "CREATE DATABASE myproject;"

三、Django项目部署

3.1 项目文件传输

推荐使用rsync同步代码:


rsync -avz --exclude='.git/' --exclude='__pycache__/' ./ user@server_ip:/path/to/project

3.2 虚拟环境配置


python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

3.3 Gunicorn配置

创建/etc/systemd/system/gunicorn.service:


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

[Service]
User=www-data
Group=www-data
WorkingDirectory=/path/to/project
ExecStart=/path/to/venv/bin/gunicorn --workers 3 --bind unix:/tmp/gunicorn.sock project.wsgi:application

[Install]
WantedBy=multi-user.target

四、Nginx配置与HTTPS

4.1 Nginx反向代理


server {
    listen 80;
    server_name yourdomain.com;

    location / {
        include proxy_params;
        proxy_pass http://unix:/tmp/gunicorn.sock;
    }
}

4.2 SSL证书配置

使用Let's Encrypt免费证书:


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

五、安全与监控

5.1 基础安全设置

  • 禁用SSH密码登录
  • 配置UFW防火墙
  • 定期更新系统补丁

5.2 性能监控

推荐工具:

  • Prometheus + Grafana
  • New Relic
  • Datadog

总结

通过以上步骤,您已经完成了Django项目在云服务器上的完整部署。实际部署中可能会遇到环境差异问题,建议:

  • 做好部署文档记录
  • 使用Docker简化环境配置
  • 建立CI/CD自动化流程

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单