configurationApache以使用EC2上的mod_wsgi运行金字塔

我试图设置我的服务器与亚马逊EC2服务器上的Apache,但现在它不能正常工作。 在configuration文件中,

在/ etc / apache2中,我有:

httpd.conf中:

LoadModule wsgi_module modules/mod_wsgi.so WSGIPythonHome /home/ubuntu/www/env 

modwsgi.conf:

 WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On WSGIDaemonProcess pyramid user=Wiz group=admin threads=4 python-path=/home/ubuntu/www/env/lib/python2.7/site-packages WSGIScriptAlias /Visus /home/ubuntu/www/env/pyramid.wsgi <Directory /home/ubuntu/www/env> WSGIProcessGroup pyramid Order allow,deny Allow from all </Directory> 

在我的virtualenv,我有:

pyramid.wsgi:

 from pyramid.paster import get_app, setup_logging ini_path = '/home/ubuntu/www/env/Wiz/production.ini' setup_logging(ini_path) application = get_app(ini_path, 'main') 

而当我去基地网站,默认的apache网页出现,说服务器正在运行,但是当我去example.com/Visus,我得到一个404,当我得到我的应用程序。 怎么了?

从评论看来,你的基地设置不起作用。 通常,用于pipe理Apache设置的Ubuntu模型是使用a2工具( a2enmoda2ensite等)而不是编辑base *.conf文件。 这可能需要一段时间才能习惯,但工作正常。

这个页面在设置pyramid运行在Ubuntu 上有非常好的演练。 这是11.04但我没有看到任何不正确的更新的版本。 特别是,请注意Apache设置的唯一configuration更改是如何在您的新站点configuration文件中。 您不要触及默认的Apacheconfiguration的其余部分。

由于您正在使用EC2,因此启动新实例并遵循该页面中的说明可能是最简单的方法。 不要忘记将您的安全组设置configuration为允许访问端口80。