gpt4 book ai didi

python - 使用 mod_wsgi 在 apache 后面设置 pico

转载 作者:行者123 更新时间:2023-12-04 18:34:41 25 4
gpt4 key购买 nike

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

我已经通过this指导,一切顺利,所以我知道 mod_wsgi 配置正确。

我完全按照 pico wiki 上的 WSGI 设置说明进行操作,但这是我在尝试访问我的页面时遇到的错误:

获取 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:

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

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

我的 httpd.conf:
WSGIScriptAlias /pico /var/www/pico/pico.wsgi

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

我的 index.html(位于/var/www/):
<!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>

最后,从 pico.wsgi 打印出 sys.path:
['/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 的新手,所以我可能缺少一些明显的东西。

最佳答案

我认为 WSGIScriptAlias 行应该是

WSGIScriptAlias /pico /var/www/pico/pico.wsgi/pico

注意 /pico.wsgi 之后

这在不久前更新 pico 后变得必要,但我忘了更新 wiki .对此表示歉意。

关于python - 使用 mod_wsgi 在 apache 后面设置 pico,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21599270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com