EC2是亚马逊(Amazon.com)提供的弹性云计算服务;
Apache是一个跨平台的Web服务器端软件,可以使Python、PHP、Perl等语言编写的程序运行在服务器上;
Django是一个Web程序框架,应用这个框架,可以使Python Web程序的编写变得更加简单;
Amazon S3是亚马逊提供的云存储服务;
Amazon EC2与Amazon S3结合, 几乎可以提供无限的存储空间和无限的计算能力。
以上这些东西综合在一起,就可以用简单易用的Python做出一个提供海量数据处理功能的网站,感觉这玩意儿应该在高通量测序数据数据处理方面有点用。
下面是在亚马逊EC2上部署Apache和Django的步骤:
0. 首先需要AWS上在建立一个EC2 Instance,使用Ubuntu Linux系统,可以直接在Community AMI中直接选择Ubuntu官方的AMI,ID为ami-cef405a7,EC2 Instance的建立过程并不复杂,这里就不细说了。注意:建好之后用SSH登录的时候,用户名是ubuntu,不是ec2-user,也不是root.
1. 安装apache
sudo apt-get install apache2
2. 下载安装Django
wget http://www.djangoproject.com/download/1.3/tarball/
下载下来的文件名是index.html,改一下名
mv index.html Django-1.3.tar.gz
解压
tar xzvf Django-1.3.tar.gz
安装
cd Django-0.91
sudo python setup.py install
3. 安装 mod_python
apt-get install libapache2-mod-python
4. 重启Apache
/etc/init.d/apache2 start
5. 进入/etc/apache2/sites-available目录,复制default文件并重命名为mysite
编辑mysite文件 将其中的/var/www 替换成 /home/ubuntu
激活mysite
a2ensite mysite
然后运行/etc/init.d/apache2 reload
6. 编辑 /etc/apache2/httpd.conf,添加下面内容
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonPath “[‘/home/ubuntu’, ‘/home/ubuntu/mysite’] + sys.path”
7. 重启Apache
/etc/init.d/apache2 restart
现在,将EC2 的Public DNS(类似这样ec2-xx-xx-xx-xx.compute-1.amazonaws.com)复制到浏览器地址栏里,就可以看到结果了。
如果要通过自己的域名访问将上面的部署,那只需要在域名管理中创建一个CNAME记录,并指向上面那个地址即可。
接下来的任务就是专心用Python写程序了。
转载自:http://www.yelinsky.com/blog/archives/370.html