小编gee*_*des的帖子

uWSGI:如何安装粘贴部署(金字塔)应用程序?

是)我有的:

我有一个Pyramid应用程序,它是由一个Paste ini构建的,由uWSGI提供,由nginx代理.它很棒.这是nginx配置:

server {
    listen 80;
    server_name localhost;
    access_log /var/log/myapp/nginx.access.log;
    error_log /var/log/myapp/nginx.error.log warn;

    location / {
        uwsgi_pass localhost:8080;
        include uwsgi_params;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是uWSGI ini配置:

[uwsgi]
socket = 127.0.0.1:8080
virtualenv = /srv/myapp/venv
die-on-term = 1
master = 1
logto = /var/log/myapp/uwsgi.log
Run Code Online (Sandbox Code Playgroud)

此配置位于Pyramid的production.ini中,因此我使用以下命令为应用程序提供服务:

uwsgi --ini-paste-logged production.ini
Run Code Online (Sandbox Code Playgroud)

所有这一切都很好.

我想做的事:

一个简单的改变.我想将此应用程序作为子文件夹而不是作为根目录提供.http://localhost我希望从中提供服务,而不是从中提供服务http://localhost/myapp.

现在一切都破了.

如果我将nginx location指令更改//myapp/myapp/,我得到404,因为WSGI应用程序接收所有前缀的uris /myapp.

uWSGI解决方案似乎是将WSGI callable挂载到子文件夹上,然后传递--manage-script-name选项,此时uWSGI应该从uri中神奇地剥离子文件夹前缀并修复问题.

但是,我发现的文档和所有其他资源只给出了表单的示例:

mount = /myapp=myapp.py
Run Code Online (Sandbox Code Playgroud)

我没有包含WSGI可调用的myapp.py,因为我的可调用是由PasteDeploy构建的.

那么, …

nginx uwsgi pyramid

5
推荐指数
1
解决办法
913
查看次数

标签 统计

nginx ×1

pyramid ×1

uwsgi ×1