首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mod_wsgi设置apache后面的pico

使用mod_wsgi设置apache后面的pico
EN

Stack Overflow用户
提问于 2014-02-06 09:50:07
回答 1查看 366关注 0票数 2

我试图在一个小项目中使用皮科。使用pico附带的标准服务器可以正常工作,但我无法让它在apache上运行。

我已经阅读了指南,一切都进行得很顺利,所以我知道mod_wsgi配置正确。

我按照WSGI设置了pico上的指令,但这是我访问页面时遇到的错误:

获取localhost/pico/client.js 404 (未找到)

这将导致"pico未定义“引用错误。

我所有的测试代码都位于/var/www/ (我也尝试过其他位置)

pico是使用pip安装的,位于/usr/local/lib/python2.7/dist-packages/pico中(我甚至尝试修改pico中文件的访问权限)。

pico.wsgi位于/var/www/pico/pico.wsgi中。

我的pico.wsgi:

代码语言:javascript
复制
import pico.server
import sys
sys.stdout = sys.stderr # sys.stdout access restricted by mod_wsgi
path = '/var/www/' # the modules you want to be usable by Pico
if path not in sys.path:
    sys.path.insert(0, path)

# Set the WSGI application handler
application = pico.server.wsgi_app

我可能没有按预期使用我的"path“变量,但我看不出它还应该引用什么。

我的httpd.conf:

代码语言:javascript
复制
WSGIScriptAlias /pico /var/www/pico/pico.wsgi

    <Directory /var/www/>
    Order allow,deny
    Allow from all
    </Directory>

我的index.html (位于/var/www/):

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="style.css">
    <script src="http://d3js.org/d3.v3.js"></script>
    <script src="/pico/client.js"></script>
    <script src="picoTest.js"></script>
</head>
<body>
    <div id="container">
        <div id="toolbar"></div>
        <div id="graph"></div>
    </div>
</body>
</html>

最后,sys.path是从pico.wsgi打印出来的:

代码语言:javascript
复制
['/var/www/', '/var/www/pico', '/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/virtualenv-1.9.1-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/distribute-0.6.35-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/numpy-1.7.0-py2.7-linux-x86_64.egg', '/usr/local/lib/python2.7/dist-packages/gevent_websocket-0.3.6-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/South-0.8.1-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/daemon-1.0-py2.7.egg', '/home/kjartan/work/risk/maynard', '/var/www/pico', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol', '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']

一般来说,我是apache和wsgi的新手,所以可能有明显的遗漏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-10 13:07:49

我认为WSGIScriptAlias应该是

代码语言:javascript
复制
WSGIScriptAlias /pico /var/www/pico/pico.wsgi/pico

注意/pico后面的.wsgi

在一段时间前对pico进行了更新之后,这就变得必要了,但我忘了更新维基。对此表示歉意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21599270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档