配置 apache 在 EC2 上使用 mod_wsgi 运行金字塔

配置 apache 在 EC2 上使用 mod_wsgi 运行金字塔

我正在尝试在 Amazon EC2 服务器上使用 Apache 设置我的服务器,但目前它无法正常工作。在配置文件中,

在/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>

在我的虚拟环境中,我有:

金字塔.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,而我本应获取我的应用程序。出了什么问题?

答案1

从评论来看,我觉得您的基本设置不起作用。通常,Ubuntu 管理 Apache 设置的模型是使用工具a2a2enmoda2ensite等)而不是编辑基本*.conf文件。这可能需要一段时间才能习惯,但效果很好。

这一页有一个非常好的在 Ubuntu 上运行的设置指南pyramid。它适用于11.04但我认为其中没有任何不适用于较新版本的地方。特别要注意的是,Apache 设置的唯一配置更改是在新站点配置文件中。您无需触碰其余的默认 Apache 配置。

由于您使用的是 EC2,因此最简单的方法可能是启动一个新实例并按照该页面中的说明进行操作。不要忘记配置您的安全组设置以允许访问端口 80。

相关内容