走啊走
加油

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

服务器价格表

京东云服务器部署Django项目完整指南

结论: 在京东云服务器上部署Django项目需要完成环境配置、代码部署、数据库设置、静态文件处理和Web服务器对接等步骤,最终通过Nginx+Gunicorn实现高效稳定的生产环境部署。

1. 准备工作

  • 购买京东云服务器:选择适合的配置(推荐至少2核4G),安装Ubuntu/CentOS等Linux系统。
  • 配置安全组:开放80(HTTP)、443(HTTPS)、22(SSH)和Django运行端口(如8000)。
  • 域名与SSL证书(可选):如需域名访问,提前解析并申请SSL证书(京东云提供免费证书)。

2. 环境配置

  • 更新系统
    sudo apt update && sudo apt upgrade -y  # Ubuntu
    sudo yum update -y                     # CentOS
  • 安装Python和pip
    sudo apt install python3 python3-pip python3-venv -y
  • 安装依赖库
    sudo apt install build-essential libssl-dev libffi-dev python3-dev

3. 部署Django项目

  • 上传代码:通过Git或SFTP将项目上传到服务器(如/var/www/myproject)。
  • 创建虚拟环境
    python3 -m venv venv
    source venv/bin/activate
  • 安装依赖
    pip install -r requirements.txt
  • 配置数据库
    • 使用MySQL/PostgreSQL时需安装驱动(如pip install mysqlclient)。
    • 修改settings.py中的数据库配置:
      DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.mysql',
          'NAME': 'mydb',
          'USER': 'user',
          'PASSWORD': 'password',
          'HOST': 'localhost',
          'PORT': '3306',
      }
      }

4. 静态文件与媒体文件处理

  • 配置settings.py
    STATIC_URL = '/static/'
    STATIC_ROOT = '/var/www/myproject/static/'  # 收集静态文件路径
    MEDIA_URL = '/media/'
    MEDIA_ROOT = '/var/www/myproject/media/'   # 用户上传文件路径
  • 收集静态文件
    python manage.py collectstatic

5. 使用Gunicorn运行Django

  • 安装Gunicorn
    pip install gunicorn
  • 启动Gunicorn
    gunicorn --workers 3 --bind 0.0.0.0:8000 myproject.wsgi:application
  • 创建Systemd服务(推荐)

    sudo nano /etc/systemd/system/gunicorn.service

    写入以下内容:

    [Unit]
    Description=Gunicorn Django Server
    After=network.target
    
    [Service]
    User=root
    Group=www-data
    WorkingDirectory=/var/www/myproject
    ExecStart=/var/www/myproject/venv/bin/gunicorn --workers 3 --bind unix:/var/www/myproject/myproject.sock myproject.wsgi:application
    
    [Install]
    WantedBy=multi-user.target

    启动服务:

    sudo systemctl start gunicorn
    sudo systemctl enable gunicorn

6. 配置Nginx反向X_X

  • 安装Nginx
    sudo apt install nginx -y
  • 配置站点

    sudo nano /etc/nginx/sites-available/myproject

    写入以下内容(替换域名和路径):

    server {
      listen 80;
      server_name yourdomain.com;
    
      location / {
          proxy_pass http://unix:/var/www/myproject/myproject.sock;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
      }
    
      location /static/ {
          alias /var/www/myproject/static/;
      }
    
      location /media/ {
          alias /var/www/myproject/media/;
      }
    }
  • 启用配置并重启Nginx
    sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
    sudo nginx -t  # 测试配置
    sudo systemctl restart nginx

7. 其他优化与安全

  • 防火墙配置
    sudo ufw allow 80
    sudo ufw allow 443
    sudo ufw enable
  • HTTPS配置:使用京东云SSL证书或Let's Encrypt(推荐Certbot工具)。
  • 定期备份:通过脚本或京东云快照功能备份数据库和代码。

核心要点:

  • 关键步骤: 虚拟环境隔离 + Gunicorn进程管理 + Nginx反向X_X。
  • 性能优化: 静态文件由Nginx直接处理,减轻Django负担,Gunicorn多Worker提升并发能力。

完成以上步骤后,访问服务器IP或域名即可看到部署的Django项目!