专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Django 部署文档

39_1.png


环境准备(依赖)

  • Linux
  • Django 项目
  • Python3
  • Nginx
  • uwsgi

项目准备

  • 安装依赖文件 python3 -m pip install -r requirements.txt
  • 对有依赖服务的服务配置进行修改
    • 如 MySQL
  • 对有模型数据类进行迁移并生成表
  • 启动 python3 manage.py runserver 没有异常数据

uwsgi 准备

在 Django 项目根目录下创建 uwsgi.ini 文件:

# uwsgi.ini file
[uwsgi]

# 服务监听端口
http = :8000

# Django 根目录路径
chdir = xxx

# Django 模块路径
module = web.wsgi

# 启用主进程
master = true

# 开启进程数
processes = 5

# 开启线程数
threads = 5

# 服务停止自动移除 pid 文件
vacuum = true

启动服务

  • 启动 uwsgi --ini uwsgi.ini
  • 重启 wsgi --reload uwsgi.pid
  • 停止 uwsgi --stop uwsgi.pid

如果没有发现 .pid 文件, 那你可以使用 pkill -9 uwsgi 来进行停止。

Nginx 准备

server {
    listen 80;
    # 你的主机地址
    server_name  xxx;
    # 匹配所有的请求
    location / {
        add_header 'Access-Control-Allow-Origin' $http_origin;
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT, web-token, app-token, Authorization, Accept, Origin, Keep-Alive, User-Agent, X-Mx-ReqToken, X-Data-Type, X-Auth-Token, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length, Content-Range';
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Max-Age' 1728000;
            add_header 'Content-Type' 'text/plain; charset = utf-8';
            add_header 'Content-Length' 0;
            return 204;
        }
        root   html;
        # 请求转发的地址
        proxy_pass http://xxx;
          proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_connect_timeout 5;
    }
}

对于中间那一坨请参考Nginx 跨域问题解决方案

Nginx 启动

  • 启动 nginx -c -t /xxx 配置文件路径
  • 重启 nginx -s reload
  • 关闭 pkill -9 nginx

如有更好的方式或者文章错误,请留言,我将第一时间修改,给大家最正确的方式!

未经允许不得转载:搜云库技术团队 » Django 部署文档

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们