跳转到主要内容

将uWSGI作为Django管理命令

项目描述

django-pyuwsgi

运行 pyuwsgi (即uWSGI) 作为Django管理命令。


build status pypi pyversions

用法

  1. 安装

    pip install django-pyuwsgi
    
  2. 添加到 INSTALLED_APPS

    INSTALLED_APPS = [
       # ...
       "django_pyuwsgi",
       # ...
    ]
    
  3. 运行

    manage.py pyuwsgi --socket=:8000 ...
    

配置

Pyuwsgi已经知道从Django管理命令环境使用Python解释器和virtualenv(如果适用)。默认情况下,它将使用以下标志(使用settings.WSGI_APPLICATION来确定模块)运行

--strict --need-app --module={derived}

如果您已定义具有本地URL的STATIC_URL,它还将添加由STATIC_URLSTATIC_ROOT派生的--static-map

您可以通过命令行传递uWSGI接受的任何其他参数。

但是,uWSGI有很多标志,其中许多标志,您希望每次运行项目时都使用。对于这种情况,您可以使用可选设置PYUWSGI_ARGS来配置自己的默认值。以下是一个可能对您有帮助的示例

PYUWSGI_ARGS = [
    "--master",
    "--strict",
    "--need-app",
    "--module".
    ":".join(WSGI_APPLICATION.rsplit(".", 1)),
    "--no-orphans",
    "--vacuum",
    "--auto-procname",
    "--enable-threads",
    "--offload-threads=4",
    "--thunder-lock",
    "--static-map",
    "=".join([STATIC_URL.rstrip("/"), STATIC_ROOT]),
    "--static-expires",
    "/* 7776000",
]

别忘了设置类似--socket=:8000--http=:8000的东西,这样您的应用程序就可以监听端口。根据您的设置,通过命令行传递此设置可能比在设置中硬编码它更有意义。

动机

在某些情况下,将Django项目与用于命令行交互的单个入口点一起分发是有益的。当构建Docker容器或与shiv之类的工具一起使用的自包含Python应用程序时,这可能很有用。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

django-pyuwsgi-1.1.1.tar.gz (3.9 kB 查看哈希值)

上传时间

构建分发

django_pyuwsgi-1.1.1-py2.py3-none-any.whl (5.3 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持