我用Python编写了一个简单的CMS。它目前运行在Apache上,由/usr/lib/cgi-bin中的一堆python脚本组成。我想让CMS在Nginx工作。我以前从未使用过Nginx,所以我希望熟悉Nginx的人能提供一些帮助。在
我想在不需要修改的情况下运行CMS—理想情况下,我希望能够将CMS与Apache和Nginx一起使用,而且我不想维护两个单独的版本。在
主脚本是/usr/lib/cgi-bin/pyindex.py. 我在/etc/nginx/sites available/default中设置了两个位置:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/dir.html /cgi-bin/pyindex.py?q=$uri;
}
location /cgi-bin/ {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
我安装了uwsgi和uwsgi插件python并设置了/etc/uwsgi/apps/我的域名.com.xml具体如下:
^{pr2}$当我将浏览器指向任何动态页面时,都会看到以下错误消息:
uWSGI Error
Python application not found
所以看起来nginx成功地将请求传递到uwsgi,但是uwsgi设置不正确。在
登录/var/log/uwsgi/app/我的域名.com.log显示出pyindex.py在uwsgi启动时运行,由于QUERY_STRING环境变量不可用而崩溃。当请求从nginx传递到uwsgi时,脚本不会执行。在
有没有办法把它设置成pyindex.py不在启动时执行,而是在uwsgi收到nginx的请求时执行?在
我在Raspbian上使用nginxv1.2.1、uwsgi 1.2.3、python2.7。在
提前谢谢
忘掉uwsgipython插件吧,你不需要它。在
你需要CGI插件:
http://uwsgi-docs.readthedocs.org/en/latest/CGI.html
相关问题 更多 >
编程相关推荐