如何使用uwsgi部署两个web.py应用程序?

时间:2013-04-17 08:53:46

标签: python web.py uwsgi

我打算用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几乎相同。

index.py:

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

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

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

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

index2.py:

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

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

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

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

thx!

1 个答案:

答案 0 :(得分:0)

为了这个目的,我建议使用webpy的子应用程序。

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

您的另一个选择是配置反向代理(nginx),方法是让几个uwsgi进程侦听不同的套接字并让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;
}