没有虚拟环境的uwsgi和nginx简单设置

时间:2013-04-30 06:39:08

标签: nginx wsgi

是否有任何步骤使用简单的wsgi python脚本使用nginx设置uwsgi。我看到的大多数地方只有django和烧瓶以及其他框架正在设置中。另外我需要提供静态文件的步骤..有没有..?

1 个答案:

答案 0 :(得分:0)

显然有两个步骤:uwsgi配置和nginx配置。

最简单的uwsgi配置如下(uwsgi接受许多不同的配置格式,在本例中我使用xml):

<uwsgi>
    <chdir>/path/to/your/script/</chdir>
    <pythonpath>/path/to/your/script/</pythonpath>
    <processes>2</processes>
    <module>myscript.wsgi:WSGIHandler()</module>
    <master/>
    <socket>/var/run/uwsgi/my_script.sock</socket>
</uwsgi>

这里唯一棘手的选择是module,它应该指向你的WSGI处理程序类。

另外,请确保/var/run/uwsgi/my_script.sock对于uwsgi和nginx都是可读和可写的。

相应的nginx配置如下所示:

server {
    listen 80;

    server_name my.hostname;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/var/run/uwsgi/my_script.sock;
    }
}

如果您需要提供静态文件,最简单的方法是将以下代码添加到server子句中:

location /static/ {
    alias /path/to/static/root/;
    gzip on;
    gzip_types text/css application/x-javascript application/javascript;
    expires +1M;
}

此示例已包含gzip压缩和对浏览器缓存的支持。