【发布时间】:2012-06-05 03:01:55
【问题描述】:
我在 virtualenv 中有一个金字塔应用程序,我想使用 apache+uwsgi 部署它,但我不知道如何连接 apache、uwsgi 和金字塔。谁能提供一个 apache.conf 和 production.ini 的例子?
在许多示例中,您应该创建一个初始化脚本来管理 uWSGI 进程,但是 apache 可以启动 uwsgi 进程吗?
【问题讨论】:
我在 virtualenv 中有一个金字塔应用程序,我想使用 apache+uwsgi 部署它,但我不知道如何连接 apache、uwsgi 和金字塔。谁能提供一个 apache.conf 和 production.ini 的例子?
在许多示例中,您应该创建一个初始化脚本来管理 uWSGI 进程,但是 apache 可以启动 uwsgi 进程吗?
【问题讨论】:
对于 Apache 方面的事情我无能为力,但这是我的 uwsgi config.ini,它适用于您的情况。 Apache 不支持本机 uwsgi 协议,因此您需要将 uwsgi 配置为使用 http,如下所示。然后,需要将 Apache 配置为将请求代理到后端 http 服务器。
http = 127.0.0.1:33932 ;也可以使用unix文件socket
主人 = 1
workers = 5 ;CPU 数量 + 1
harakiri = 30 ;seconds = 请求超时长度
缓冲区大小 = 32768 ;实验发现。您的应用可以在更少或更多的情况下正常工作。
chdir = /path/to/your/uwsgi_webapp
module = your_module
callable = your_wsgi_app
virtualenv = /path/to/your/uwsgi_webapp/env
daemonize = /path/to/your/uwsgi_webapp/log/uwsgi.log
pidfile = /path/to/your/uwsgi_webapp/uwsgi_fuzzy.pid
请注意,不推荐使用 Apache 作为前端网络服务器。启动一个完整的 Apache 进程只是为了代理到另一个 http 服务器将导致性能相当差。因此,首选像 nginx 这样的轻量级服务器或像 Varnish 这样的 http 代理。
【讨论】: