繁体   English   中英

在ubuntu上为多个uwsgi-emperor flask应用程序配置nginx

[英]configuring nginx on ubuntu for multiple uwsgi-emperor flask applications

我有两个烧瓶应用程序,我想在同一台Web服务器上托管。
我已经成功运行了一个或另一个,但是似乎无法同时运行两个。

我使用了来自http://vladikk.com/2013/09/12/serving-flask-with-nginx-on-ubuntu/的设置

我的nginx config和uwsgi ini文件是相同的; 除了我根据应用程序和文件夹结构替换不同的文件夹名称外,例如为其他应用程序使用“ request”或“ demoapp”。

我的请求应用程序的Nginx配置文件是

server {
    listen      80;
    server_name localhost;
    charset     utf-8;
    client_max_body_size 75M;

    location / { try_files $uri @yourapplication; }
    location @yourapplication {
        include uwsgi_params;
        uwsgi_pass unix:/var/www/request/request_uwsgi.sock;
    }
}

而我的uwsgi ini文件是

[uwsgi]
#application's base folder
base = /var/www/request

#python module to import
app = open
module = %(app)

home = %(base)/venv
pythonpath = %(base)

#socket file's location
socket = /var/www/request/%n.sock

#permissions for the socket file
chmod-socket    = 666

#the variable that holds a flask application inside the module imported at line #6
callable = app

#location of log files
logto = /var/log/uwsgi/%n.log

这条线使我的应用程序正常工作

/etc/nginx/sites-enabled$ uwsgi --ini /var/www/request/request_uwsgi.ini


如果我关闭其他应用程序的“请求”,则其他应用程序正常工作。

我的nginx error.log显示,当我在启用站点的两个配置文件中都得到此信息时

2015/05/07 10:03:45 [warn] 7527#0: conflicting server name "localhost" on 0.0.0.0:80, ignored
2015/05/07 10:03:45 [warn] 7527#0: conflicting server name "localhost" on 0.0.0.0:80, ignored
2015/05/07 10:03:46 [warn] 7531#0: conflicting server name "localhost" on 0.0.0.0:80, ignored
2015/05/07 10:03:46 [warn] 7531#0: conflicting server name "localhost" on 0.0.0.0:80, ignored
2015/05/07 10:04:06 [error] 7533#0: *1 connect() to unix:/var/www/demoapp/demoapp_uwsgi.sock failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /login HTTP/1.1", upstream: "uwsgi://unix:/var/www/demoapp/demoapp_uwsgi.sock:", host: "argonaut"
2015/05/07 10:04:08 [error] 7533#0: *1 connect() to unix:/var/www/demoapp/demoapp_uwsgi.sock failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /login HTTP/1.1", upstream: "uwsgi://unix:/var/www/demoapp/demoapp_uwsgi.sock:", host: "argonaut"
2015/05/07 10:30:10 [error] 7788#0: *1 open() "/usr/share/nginx/html/login" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "GET /login HTTP/1.1", host: "argonaut"
2015/05/07 10:31:54 [error] 7833#0: *1 open() "/usr/share/nginx/html/request" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "GET /request HTTP/1.1", host: "argonaut"

“ argonaut”是我的服务器的名称

我找不到任何人运行两个flask应用程序的任何配置示例,甚至找不到如何编写conf文件的很好的解释。

更新我正在考虑放弃并在服务器上设置带有单独的nginx的虚拟机,以托管多个应用程序。

谢谢!

在nginx中,您可以通过更改server_name来重复服务器组件。 可以通过简单的dns A Record或CNAME来操作server_name。 有关完整答案,请参见https://stackoverflow.com/a/27221427/567606/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM