Django上线-使用wSGI部署

  1. 下载uwsgi

    pip3 install uwsgi

  2. 确保使用python manager.py runserver可以启动Django项目

  3. 使用uwsgi命令行方式验证项目是否可以启动

    uwsgi --http 127.0.0.1:8800 --file application/wsgi.py

  4. 配置uwsgi配置文件

    [uwsgi]
    #启动uwsgi的用户名和用户组
    uid=centos
    gid=centos
    http = 0.0.0.0:8800  # 所有人都可以访问
    # scoket = 0.0.0.0:8001 # 仅能本机访问
    chdir = /app/pybill/
    wsgi-file = /app/pybill/application/wsgi.py
    socket=/app/script/uwsgi.sock
    pidfile=/app/script/uwsgi.pid
    ​
    master=true
    process = 4  # 开启进程数
    threads = 4 # 开启线程数
    ​
    #自动移除unix socket和pid文件当服务停止的时候
    vacuum=true
    #序列化接受的内容,如果可能的话
    thunder-lock=true
    #启用线程
    enable-threads=true
    #设置自中断时问
    harakiri=30
    #设置缓冲
    post-buffering=4096
    #设置日志目录
    daemonize=/app/script/uwsgi.log
    ​
    ​
    [uwsgi]
    uid=www-data # Ubuntu系统下默认用户名
    gid=www-data # Ubuntu系统下默认用户组
    project=mysite1  # 项目名
    base = /home/user1 # 项目根目录
    
### 部署 Luckysheet Django 主项目 Luckysheet 是一款功能强大的在线电子表格工具,支持多人实时协作编辑。为了成功部署 `luckysheet_django-main` 项目并使其能够在生产环境中稳定运行,需遵循一系列步骤来准备环境、配置应用以及启动服务。 #### 准备工作 确保本地已安装 Python 和 pip 工具,并创建虚拟环境用于隔离依赖包: ```bash python3 -m venv myvenv source myvenv/bin/activate pip install --upgrade pip setuptools wheel ``` 接着克隆仓库到本地机器上: ```bash git clone https://github.com/czasg/luckysheet_django-main.git cd luckysheet_django-main ``` #### 安装依赖项 根据项目的 `requirements.txt` 文件安装所需的Python库: ```bash pip install -r requirements.txt ``` 这一步骤会自动下载并安装所有必要的第三方模块,包括Django框架本身及其扩展组件[^1]。 #### 数据库设置 打开 `settings.py` 文件调整数据库连接参数以匹配实际使用的数据库实例。对于初次使用者来说,默认采用SQLite可能更为简便;而对于正式上线,则建议选用PostgreSQL或MySQL等关系型数据库管理系统。 #### 收集静态文件 为了让Web服务器能够正确提供前端资源(如CSS样式表、JavaScript脚本),需要执行命令收集这些静态资产至指定目录下: ```bash python manage.py collectstatic ``` 此操作将会把应用程序内所有的静态文件复制到STATIC_ROOT所指向的位置,在生产模式下这是必需的操作之一[^2]。 #### 启动Gunicorn WSGI容器 虽然内置的开发服务器适合调试阶段使用,但在真实场景中推荐通过 Gunicorn 来承载 Django 应用程序。可以利用如下指令快速开启服务监听80端口对外提供访问接口: ```bash gunicorn --workers=3 --bind=unix:/tmp/gunicorn.sock your_project_name.wsgi:application ``` 这里假设已经完成了Nginx反向代理的相关设定以便处理HTTP请求转发给后端WSGI进程。 #### Nginx 反向代理配置 最后还需编写一段简单的Nginx站点配置片段实现负载均衡与SSL加密等功能保障线上业务的安全性和性能表现。下面给出一个基本示例供参考: ```nginx server { listen 80; server_name example.com; location / { proxy_pass http://unix:/tmp/gunicorn.sock; 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; } location /static/ { alias /path/to/static/files/; } } ``` 完成上述全部准备工作之后重启Nginx使更改生效即可让外部用户正常浏览和交互于部署完毕后的Luckysheet平台之上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值