在过去的三个月里,我一直在使用 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只显示“未找到”。
检查错误日志显示没有问题。访问该网站仅显示“未找到”。 我们迷路了,没有关于如何调试的信息,也不知道如何继续。