在亚马逊 EC2 上部署 Apache 和 Django

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写程序了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。