0

我将使用 web.py 进行一些工作,我不知道在使用 uwsgi 部署时如何处理两个应用程序。下面是我的工作。

我的目录树,两个最简单的应用程序:

├── index
│   └─── index.py   
└── index2
    └─ index2.py

和我原来的uwsgi.ini:

[uwsgi]
plugin = python27
http = :8080
master = true
module = index

当只处理一个应用程序时,我可以在'index'目录中cp uwsig.ini,然后运行“uwsgi ./uwsgi.ini”,这样我就可以访问端口8080上的应用程序,但是如果有两个或更多怎么办应用程序,有什么例子吗?

index.py 和 index2.py 几乎相同。

索引.py:

# -*- coding: UTF-8 -*-
import web

urls = (
    '/index', 'Index',
)

class Index:
    def GET(self):
        return 'index'

app = web.application(urls, globals())
application = app.wsgifunc()

索引2.py:

# -*- coding: UTF-8 -*-
import web

urls = (
    '/index2', 'Index',
)

class Index:
    def GET(self):
        return 'index2'

app = web.application(urls, globals())
application = app.wsgifunc()

谢谢 !

4

1 回答 1

0

我建议为此目的使用 webpy 的子应用程序。

看看这里:http ://webpy.org/cookbook/subapp

您的另一个选择是通过让几个 uwsgi 进程在不同的套接字上侦听并让 nginx 管理请求的去向来配置反向代理 (nginx)。在 nginx conf 中是这样的:

location /index {
    uwsgi_pass  unix:/path/to/uwsgi1.sock;
    include uwsgi_params;
}
location /index2 {
    uwsgi_pass  unix:/path/to/uwsgi2.sock;
    include uwsgi_params;
}
于 2013-04-17T11:05:53.687 回答