如何正确设置Nginx的非root位置?

时间:2016-08-09 16:57:29

标签: nginx flask uwsgi

我想用uWSGI服务器为Flask应用程序设置Nginx。我已将代理设置在unix socket上,如下所示。

最初的Nginx配置:

    server {
        location / {
            include uwsgi_params;
            uwsgi_pass unix:/tmp/my_app.sock;
        }
    }

uWSGI配置:

    [uwsgi]
    socket = /tmp/my_app.sock
    virtualenv = /home/user/venv/my_app
    chdir = /home/user/apps/my_app
    wsgi-file = index.py
    callable = app
    processes = 4
    threads = 2

这样可行但是当我在Nginx配置中更改位置时,我收到了404 Not Found错误。

    server {
        location /other_location/ {
            include uwsgi_params;
            uwsgi_pass unix:/tmp/my_app.sock;
        }
    }

错误可能来自uWSGI服务器(因为对于其他无效URL,错误页面会写入Nginx版本)。我检查了uWSGI日志,但它只包含有关成功发送错误页面的详细信息。

     => generated 233 bytes in 15 msecs (HTTP/1.1 404) 2 headers in 72 bytes

如何配置Nginx和uWSGI以使用非根位置?

是否有必要在应用程序的源代码中设置应用程序路径?

我更喜欢可以使用未经修改的应用程序代码的解决方案。我喜欢尽可能地分离应用程序开发和部署。

0 个答案:

没有答案