uwsgi与Nginx部署Django项目的完整配置指南

林见深
林见深
发布时间:2026-10-13| 5人浏览过
原创

本文详细介绍如何使用uWSGI和Nginx部署Django项目。内容涵盖uWSGI的安装与基础测试、Django项目创建、uWSGI配置文件(uwsgi.ini)的关键参数设置,以及Nginx反向代理配置。通过具体命令示例,指导开发者完成从启动应用到配置静态文件的完整流程,确保服务稳定运行。

本文提供基于uWSGI和Nginx部署Django项目的具体操作示例,供读者参考学习。

uWSGI概述

uWSGI是一个功能完整的HTTP服务器,能够将HTTP协议转换为语言支持的网络协议。

安装uWSGI

可通过pip工具直接进行安装。

pip install uwsgi

安装完成后,建议进行功能测试。

#vim test.py
def application(env, start_response):
  start_response('200 OK', [('Content-Type','text/html')])
  return [b"Hello World"]

执行以下命令进行测试:

uwsgi --http :9090 --wsgi-file test.py

随后访问 ip:9090,若页面显示“Hello World”,则表明安装成功。

创建一个Django项目。

django-admin.py startproject hello

项目目录结构如下所示:

hello / ├── hello │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py

确保Django应用能够正常启动。

配置uWSGI配置文件(uwsgi.ini)。

#] vim /etc/uwsgi.ini #此文件可放在其它地方
[uwsgi]
chdir=/work/hello/ #项目目录
uid=root #可换成其它用户和组
gid=root
module=hello.wsgi:application
socket=/work/hello/uwsgi.sock
master=true
workers=5
pidfile=/work/hello/uwsgi.pid
vacuum=true
thunder-lock=true
enable-threads=true
harakiri=30
post-buffering=4096
daemonize=/work/hello/uwsgi.log

uWSGI相关管理命令。

启动uWSGI服务:uwsgi --ini /path/uwsgi.ini 停止uWSGI服务:uwsgi --stop /path/uwsgi.pid 重新加载配置:uwsgi --reload /path/uwsgi.pid

Nginx配置。

server {
  listen 8080;
  location /static {
    alias /work/hello/static; #Django project's static files
  }
  location / {
    include uwsgi_params;
    uwsgi_connect_timeout 30;
    uwsgi_pass unix:/work/hello/uwsgi.sock;
  }
}

先启动uWSGI,再启动Nginx,即可完成一个简单的Nginx + uWSGI + Django部署。

希望本文所述内容对大家基于Django框架的Python程序设计有所帮助。

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

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 算法库。