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

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

本文详细介绍如何使用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 相关产品和应用

全部下载

专题列表