使用mod_wsgi和apache在amazon ec2服务器上进行web.py部署

时间:2013-08-20 22:07:04

标签: amazon-ec2 amazon mod-wsgi wsgi web.py

在过去的三个月里,我一直在使用web.py开发一个网站。在我的机器上成功构建它之后, 我们正试图将它部署在他们的linux ami下的amazon ec2服务器上。但是,我们遇到了运行问题, 所以我们按照你的食谱例子。

我们在Linux AMI上使用Apache 2.2.25和python 2.6.8,因此我们遵循Red Hat部署示例(http://webpy.org/cookbook/mod_wsgi-apache)。

我们没有成功部署我们的网站,所以我们退后一步,尝试部署最简单的程序(上面链接中列出的示例)。 再次,它没有工作。我们尝试过几个教程,但无济于事。 例如: http://theadaptiveweb.org/2011/11/04/how-to-setup-mod_wsgi-on-ec2-amazon-ami/ http://www.thefourtheye.in/2013/03/deploying-webpy-application-in-apache.html

我们已经修改了这些教程,看看我们是否可以让它工作。这些是我们采取的步骤:


设置服务器

0. Set the Time
    sudo rm /etc/localtime
    cd /user/share/zoneinfo
    ln -s /user/share/zoneinfo/America/Edmonton /etc/localtime

1. Get Pip
    wget http://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#md5=62a9f08dd5dc69d76734568a6c040508
    tar -xvf pip*.gz
    cd pip*
    sudo python setup.py install
1.1 Or Easy install
    (Included in directory)

2. Get Web.py
    yum install python-webpy (fedora)
    or: easy_install web.py

    we added a file call app.py into /var/www/html/app.py

3. Get Apache
    sudo yum install httpd httpd-devel

4. Get mod_wsgi
    sudo yum install mod_wsgi

    4.1: Configure mod_wsgi
        sudo vim /etc/httpd/conf/httpd.conf
        Add this: *http://webpy.org/cookbook/mod_wsgi-apache*
LoadModule wsgi_module modules/mod_wsgi.so 
    WSGIScriptAlias /app /var/www/html/app.py
Alias /app/static /var/www/html/static/ 
AddType text/html .py 

<Directory /var/www/html/>
    Order deny,allow 
    Allow from all
     Options Indexes FollowSymLinks Multiviews 
</Directory>            


    4.2 Change Permissions
        cd /var/run
        sudo mkdir wsgi
        sudo chown -R ec2-user wsgi
        sudo chgrp -R ec2-user wsgi
        sudo chmod -R 775 wsgi

        cd /var/www
        sudo chown -R ec2-user html
        sudo chgrp -R ec2-user html
        sudo chmod -R 775 html

5. Run Apache
    sudo /sbin/service httpd start

    5.1 To view error logs
        sudo su 
        cd /var/log/httpd/
        tail -n 300 error_log

当我们运行sudo /sbin/service httpd start时,我们得到Starting httpd: 但没有 [ OK ](如果成功运行,通常会显示)。

* 注意:选项索引FollowSymLinks Multiviews已添加以防止此错误:Options指令禁止的目录索引:/ var / www / html /“

另请注意,我们已将/var/www/html/app.py/更改为/var/www/html/app.py

我们知道apache正在运行。转到http://ec2-54-226-136-215.compute-1.amazonaws.com会显示其标准主页。

但是,转到http://ec2-54-226-136-215.compute-1.amazonaws.com/app只显示“未找到”。

检查错误日志显示没有问题。访问网站只显示“未找到”。  我们迷路了,没有关于如何调试的信息,也没有关于如何继续的信息。

0 个答案:

没有答案