基于uwsgi部署Django项目的完整配置指南

Elena
Elena
发布时间:2026-10-15| 5人浏览过
原创

本文详细讲解如何使用uwsgi服务器部署Django项目。内容涵盖从收集静态资源到配置uwsgi.ini文件的关键步骤,包括安装uwsgi、设置监听端口、指定项目目录及WSGI文件,以及通过命令行启动和停止服务。

一、收集静态资源

首先需要在settings.py中配置静态文件相关参数。设置STATIC_URL为'/static/'作为访问前缀,通过STATICFILES_DIRS指定开发环境下的静态文件目录(通常与BASE_DIR同级),并设置STATIC_ROOT指向收集后的静态文件存放路径,例如项目根目录下的'collect_static/'文件夹。

# 静态资源访问的起始url
STATIC_URL = '/static/'
# 指定静态资源所在的目录
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]
# 设置收集静态资源的路径(部署时使用)
STATIC_ROOT = os.path.join(BASE_DIR, 'collect_static/')

配置完成后,在项目根目录执行命令:python manage.py collectstatic。该命令会将所有应用的静态文件收集到STATIC_ROOT指定的目录中,以便uwsgi或Nginx进行统一处理。

python manage.py collectstatic

二、配置uwsgi

第一步是安装uwsgi。在终端执行pip install uwsgi即可完成安装。

pip install uwsgi

第二步,在项目根目录(与manage.py同级)新建配置文件uwsgi.ini。该文件用于定义uwsgi的运行参数。

[uwsgi]
; 监听的端口
http = :8000

; 指定和nginx进行套接字通信的方式:端口或文件
; socket = 127.0.0.1:8001
; socket = /home/kzzf/project/OfferHelp/OfferHelp.sock

; 项目所在目录,和manage.py同级
chdir = /home/kzzf/project/OfferHelp

; 虚拟环境所在目录
home=/home/kzzf/env/OfferHelp-env
PYTHONHOME = /home/kzzf/env/OfferHelp-env/bin/

; 主应用中的wsgi文件
wsgi-file = OfferHelp/wsgi.py

; 使用路由代理静态资源,但失败了
; static-safe=/home/kzzf/project/OfferHelp/static/
; route = /static/(.*) static:/home/kzzf/project/OfferHelp/static/$1

; 代理静态资源:路径映射
static-map = /static=/home/kzzf/project/OfferHelp/collect_static

; 启动一个master进程,来管理其余的子进程
master=True
processes = 4
threads = 2

; 保存主进程的pid,用来控制uwsgi服务
pidfile=/home/kzzf/project/OfferHelp/uwsgi.pid
; 启动项目  uwsgi uwsgi.ini
; uwsgi --stop/reload xxx.pid  停止/重启uwsgi

; 设置后台运行,保存日志
daemonize=/home/kzzf/project/OfferHelp/log/uwsgi.log
; deamonize=1  ; 用来配置background运行

; 设置每个工作进程处理请求的上限,达到上限时,将回收(重启)该进程。可以预防内存泄漏
max-requests=5000

# 服务停止时自动移除unix Socket和pid文件
vacuum=true

第三步,启动项目。在终端执行命令:uwsgi uwsgi.ini。

uwsgi uwsgi.ini

# 停止
uwsgi --stop uwsgi.pid
pkill -f uwsgi -9

参考:https://blog.csdn.net/xiefeisd/article/details/89502969

到此这篇关于uwsgi启动django项目的实现步骤的文章就介绍到这了,更多相关uwsgi启动django内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。