gpt4 book ai didi

python - 使用 mod_wsgi 运行 wsgi 应用程序时惨遭失败

转载 作者:太空宇宙 更新时间:2023-11-03 19:20:38 26 4
gpt4 key购买 nike

为了调试 Bottle.py 应用程序,我正在尝试部署到 openshift (我怀疑有一个问题与 mod_wsgi 连接 - 这个 open question )我正在尝试在我的 linux 站上运行 mod_wsgi 。正如标题所述 - 我惨败了。

我根据mod_wsgi wiki中的说明下载并安装了编译为python2.6的mod_wsgi。

运行 apache2ctl -M 我验证了 mod_wsgi(shared) 位于结果列表中,所以我想我已经正确地理解了该部分

我在/etc/apache2/sites-availble 中编写了一个 appname 文件,其中包含:

<VirtualHost *:8051> #also tried with * or *:80 or myappname
# ServerName 127.0.0.1:8051 #also tried to uncomment
ServerAlias wikimen #also tried without

# WSGIDaemonProcess wikimen user=myusername group=myusername threads=5 #also tried to uncomment
WSGIScriptAlias / /home/myusername/workspace/myapp/wsgi/application
DocumentRoot /home/myusername/workspace/myapp/wsgi

<Directory /home/myusername/workspace/myapp/wsgi>

# WSGIProcessGroup myapp
# WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

运行后:

sudo a2ensite

检查它是否在启用站点的目录中相应创建并运行:

sudo service apacha2 reload

当我转到浏览器并尝试时:localhost:8051 或 localhost/appname/routename 或 localhost:8051/routename 或 localhost:8051/appname 或我刚刚得到的它们之间的任何其他组合(也在将 localhost 更改为 127.0.0.1 时):

unable to connect

wsgi 句柄文件(名为“应用程序”)包含:

#!/usr/bin/python

import os
here = os.path.dirname(os.path.abspath(__file__))


try:

os.environ['PYTHON_EGG_CACHE'] = os.path.join(os.environ['OPENSHIFT_APP_DIR'],'virtenv/lib/python2.6/site-packages')

except:
os.environ['PYTHON_EGG_CACHE'] = os.path.join(here,'..','data/virtenv/lib/python2.6/site-packages')

print ('python egg cache set to: %s' % os.environ['PYTHON_EGG_CACHE'])
try:

virtualenv = os.path.join(os.environ['OPENSHIFT_APP_DIR'],"virtenv/bin/activate_this.py")
except:
virtualenv = os.path.join(here,'..',"data/virtenv/bin/activate_this.py")

print ('virtualenv is in:%s' % virtualenv)
try:
execfile(virtualenv, dict(__file__=virtualenv))
print ('executed')

except IOError:
pass

from myappname import application

但正如我所说,它在 openshift 服务器中确实有效(还调用了一些奇怪的 Bottle.py 错误),所以我想这不是问题,我也很高兴被反驳

也许我应该提到 wsgi“应用程序”文件,因为应用程序的其余部分位于 virtualenv 目录中

我不太擅长apache(我们的生产服务器是使用反向代理和 native python服务器的cherokee,而不是mod_wsgi),所以也许我错过了一些基本的东西

如果我直接使用 wsgi 句柄运行它,基本的 Bottle.py 就会运行我很高兴获得任何帮助

使用:ubunto 11、apache2.2、当前的 mod_wsgi 版本、python 2.6(我也有 python 2.7,但应用程序根据 openshift 服务器在 python2.6 的 virtualenv 中运行)

跟踪 apache2 错误日志没有显示任何有用的内容(也杀死它并重新开始):

> [Sat Mar 24 15:45:10 2012] [notice] Apache/2.2.20 (Ubuntu)
> PHP/5.3.6-13ubuntu3.6 with Suhosin-Patch mod_wsgi/3.3 Python/2.6.7
> configured -- resuming normal operations [Sat Mar 24 21:19:24 2012]
> [notice] caught SIGTERM, shutting down [Sat Mar 24 21:19:54 2012]
> [notice] Apache/2.2.20 (Ubuntu) PHP/5.3.6-13ubuntu3.6 with
> Suhosin-Patch mod_wsgi/3.3 Python/2.6.7 configured -- resuming normal
> operations [Sat Mar 24 21:36:30 2012] [notice] Apache/2.2.20 (Ubuntu)
> PHP/5.3.6-13ubuntu3.6 with Suhosin-Patch mod_wsgi/3.3 Python/2.6.7
> configured -- resuming normal operations [Sat Mar 24 21:40:48 2012]
> [notice] caught SIGTERM, shutting down [Sat Mar 24 21:41:18 2012]
> [notice] Apache/2.2.20 (Ubuntu) PHP/5.3.6-13ubuntu3.6 with
> Suhosin-Patch mod_wsgi/3.3 Python/2.6.7 configured -- resuming normal
> operations [Sat Mar 24 23:47:11 2012] [notice] Apache/2.2.20 (Ubuntu)
> PHP/5.3.6-13ubuntu3.6 with Suhosin-Patch mod_wsgi/3.3 Python/2.6.7
> configured -- resuming normal operations [Sun Mar 25 22:20:22 2012]
> [notice] Apache/2.2.20 (Ubuntu) PHP/5.3.6-13ubuntu3.6 with
> Suhosin-Patch mod_wsgi/3.3 Python/2.6.7 configured -- resuming normal
> operations [Sun Mar 25 22:34:12 2012] [notice] caught SIGTERM,
> shutting down [Sun Mar 25 22:34:24 2012] [notice] Apache/2.2.20
> (Ubuntu) PHP/5.3.6-13ubuntu3.6 with Suhosin-Patch mod_wsgi/3.3
> Python/2.6.7 configured -- resuming normal operations

最佳答案

如果您在浏览器中遇到“无法连接”的情况,那么与 mod_wsgi 无关,您的浏览器甚至无法连接到服务器。使用您在 Apache 错误日志中找到的任何错误消息修改您的问题?由于配置文件错误,您的 Apache 甚至可能无法启动。

关于python - 使用 mod_wsgi 运行 wsgi 应用程序时惨遭失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9855901/

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