1

在过去的三个月里,我一直在使用 web.py 开发一个网站。在我的机器上成功构建它之后,我们试图将它部署在他们的 linux ami 下的亚马逊 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-应用程序在 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 ](如果你成功运行通常会显示)。

*注意:添加了 Options Indexes FollowSymLinks Multiviews 以防止出现此错误:Directory Index Forbidden by Options directive: /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只显示“未找到”。

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

4

0 回答 0