我已经成功地在 nginx + uwsgi 上部署了一个 pylons 应用程序,使用:
uwsgi --paste config:/var/www/sites/helloworld/development.ini --socket :3031 -H /var/www/virtualenv
但是我正在使用 nginx 来虚拟主机 3 个站点。
根据本教程和 unbit 上 uwsgi 主站点的 uwsgi/wiki/DynamicApps 页面,我可以将应用程序动态添加到 uwsgi,而无需为 3 个独立端口上的 3 个主进程创建 3 个独立的 uwsgi init.d 脚本。
我的 nginx 虚拟主机配置的设置就像在教程中一样,但是我遇到了 UWSGI_SCRIPT 值的问题。我将它设置为 app.wsgi(位于 /var/www/sites/helloworld/app.wsgi)。脚本代码为:
from paste.deploy import loadapp
wsgi_app = loadapp('config:/var/www/sites/helloworld/development.ini')
但是我找不到有关此脚本的任何直接信息。它应该被命名为 app_wsgi.py 还是完全不同的代码?它应该位于哪里?当我访问该站点时,我得到:“uWSGI 错误 - 未找到 wsgi 应用程序”,然后我在我的 uwsgi.log 中看到:
interpreter for app 0 initialized.
ImportError: No module named app.wsgi
[pid: 7287|app: -1|req: -1/24] XXX.XXX.XXX.133 () {48 vars in 782 bytes} [Fri Aug 13 18:41:22 2010] GET /page/view/0 => generated 46 bytes in 8 msecs (HTTP/1.1 500) 2 headers in 63 bytes (0 async switches on async core 0)