如何在apache + mod_wsgi上运行金字塔应用程序

时间:2013-06-26 21:33:11

标签: python apache mod-wsgi pyramid

我正在尝试遵循如何在apache + mod_wsgi上运行金字塔应用程序的基本教程,并且遇到了很多麻烦。

以下是我正在遵循的教程:

http://docs.pylonsproject.org/projects/pyramid/en/1.0-branch/tutorials/modwsgi/index.html

我在已经安装了apache和mod_wsgi的centos机器上做这个教程。

我认为我遇到的问题是httpd.conf文件。我将网址http://nodeline.com指向服务器,因此我尝试配置虚拟主机,以便在您访问nodeline.com时加载金字塔应用。

这就是我在httpd.conf文件中的内容。

<VirtualHost *:80>
        ServerName nodeline.com

        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        WSGIDaemonProcess pyramid user=main group=main processes=1 \
           threads=4 \
           python-path=/home/main/modwsgi/env/lib/python2.6/site-packages
        WSGIScriptAlias /myapp /home/main/modwsgi/env/pyramid.wsgi

        <Directory /home/main/modwsgi/env>
          WSGIProcessGroup pyramid
          Order allow,deny
          Allow from all
        </Directory>
</VirtualHost>

教程很奇怪,因为它似乎教你如何在本地机器上进行设置。它没有说明那里的虚拟主机。有什么我想念的吗?或者,也许有人可以指出我正确的方向。我真的很感激别人的帮助。

1 个答案:

答案 0 :(得分:3)

WSGIScriptAlias /myapp /home/main/modwsgi/env/pyramid.wsgi

应该是

WSGIScriptAlias / /home/main/modwsgi/env/pyramid.wsgi

试试这个:

<VirtualHost *:80>
        ServerName nodeline.com
        DocumentRoot /home/main/modwsgi/env
        <Directory />
            Options Indexes FollowSymLinks Includes ExecCGI
            AllowOverride None
        </Directory>

        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        WSGIDaemonProcess pyramid user=main group=main processes=1 \
           threads=4 \
           python-path=/home/main/modwsgi/env/lib/python2.6/site-packages
        WSGIScriptAlias / /home/main/modwsgi/env/pyramid.wsgi

        <Directory /home/main/modwsgi/env>
          WSGIProcessGroup pyramid
          Order allow,deny
          Allow from all
        </Directory>
</VirtualHost>

$ sudo a2ensite金字塔
$ sudo a2dissite默认
$ sudo /etc/init.d/apache2 restart