亚马逊服务器 EC2 利用Linux搭建WordPress教程

Share

Amazon Elastic Compute Cloud (Amazon EC2) 是一种基于 AWS Web 的一项云服务,特点是可在云中提供大小可调的计算量。它的服务接口非常简单,您可以轻松获取和配置容量,可以完全控制您的计算资源,甚至可以直接挂载他人开发的生物信息学工具集合的镜像,减少部署时间。

Amazon EC2 启动新服务器实例的速度非常快,当您的计算要求发生变化时,您便可以快速扩展计算容量。服务按您实际使用的容量和计算量收费,还为开发人员提供了创建故障恢复应用程序以及排除常见故障情况的工具。总之,非常适合作为计算攻击来分析二代测序获得的大数据量分析。

准备工作

亚马逊云,也就是 AWS (Amazon Web Services)对新用户提供一年的免费试用,其中包含的项目多达十几种,且仍在继续增加中,通过上面提到的文章,我大概规划出了可能用到的这么几项。EC2,S3,EBS,RDS,Cloud Front,Elasticache,Cloud Watch, 还有IAM,VPC 这些基本属于全局的一些管理工具了。好了,决定了要用哪些,就开始真正的着手准备吧。

首先,你需要有一个可以支付美元的信用卡,亚马逊的 AWS 不支持 Paypal一类的第三方工具,连自己的礼品卡都不行,所以这个还是很重要的。最好是有腾讯的国际虚拟卡,后来不能申请了,幸运的是我还有,用这个的好处就是不怕 AWS 乱扣钱,因为扣不到。

然后你需要一个美国的电话号码,看别人的文章,似乎有些不需要验证你的信息,不过还好,我有 Google Voice 提供的号码。既然有网站放在上面,最起码你要有个域名吧,免费的 .tk 或者自行注册的 .com 一类。

AWS 的新客户可免费试用 Amazon EC2。注册后,新 AWS 客户在一年内每个月都将获得以下 EC2 服务:

  1. 750 小时运行 Linux、RHEL 或 SLES t2.micro 实例的 EC2 使用时间
  2. 750 小时运行 Microsoft Windows Server t2.micro 实例的 EC2 使用时间
  3. 750 小时 Elastic Load Balancing 加上 15 GB 数据处理
  4. 30 GB 的 Amazon Elastic Block Storage(以任意方式对通用型 (SSD) 或磁性介质型进行组合),附加 200 万次 I/O(采用磁性介质)和 5. 1 GB 快照存储
  5. 适用于所有 AWS 服务的共计 15 GB 的带宽传出
  6. 1 GB 区域数据传输

简而言之,新注册用户可以获得1年的有限免费使用。如果要偶尔使用的生产Instance,建议选择按按需实例。这样需要计算的时候打开,计算分析完成后关闭实例即可,可以最大程度上节约资源和开销。对于频繁使用的用户,可以申请专用预留实例,通过支付预付金,可以获得一定的折扣来减低成本。

1. 注册申请

首先要去 https://aws.amazon.com/cn/ 注册一个帐号,帐号申请过程中会要求填写一张信用卡,并会电话联系确认卡的有效性。

用新注册帐号登录后,可以看到 Amazon Web Services 页面,上面列出了 Amazon 所有的服务内容。点击Compute & Networking里的EC2,可以进入你的EC2 Dashboard

要注意的一点是,顶部工具栏在用户工具右侧有一个地区选项下拉菜单,可以选择不同区域的服务器。个人使用感受,亚洲的服务器比如东京和新加坡的连接速度最快,但是美国的服务器速度也很不错,比一般的VPS商售卖的要快的多!至于选择哪一个地区,可以根据自己的网络实际情况来选择,但是如果你要使用一些AWS Public Datasets,比如Human genome project或者Genbank之类的数据,需要添加volumesnapshot,这些snapshot往往是限定区域的。比如Genbank数据你只能在us-east区域使用,也就是说你要用这个snapshot,你必须把你的Instance建在US East(N.Virginia)区域。

2. 建立 Instance

EC2 Dashboard左侧列表里点击Instances,然后点击Launch Instance,会弹出如下图所示的一步步配置Instance的界面。

2.1: Choose an Amazon Machine Image (AMI)

在Image界面里选择Ubuntu Server 14.04LTS

亚马逊服务器 EC2 利用Linux搭建WordPress教程

2.2: Choose an Instance Type

Type 选择 t2.micro 是因为这个配置是1年免费的。缺点当然是计算资源比较低,而且当你的计算资源超限额后,会自动把 CPU 性能降低到大概 1/10 左右的情况。要注意的是虽然是免费的,但本质上是1个月720hour的免费计算。如果你同时开了多个 t2.micro Instances,没有在不计算的时候停机stop,仍旧会超出计算时间,被扣美金的。所以如果开了多个Instances,千万别忘了不用的时候关闭。

然后就可以点击review and launch。如果想再定制其他配置可以点击Next: Configure Instance Details。当需要自动加载 docker,或者添加数据Volumes的时候要到后面的步骤里设置。

亚马逊服务器 EC2 利用Linux搭建WordPress教程

2.3: Review Instance Launch`

确认配置无误就点击 Launch,会弹出一个Select an existing key pair or create a new key pair选项窗口。这一步很重要,第一次建立新的 Instance 的话,下拉菜单选择Create a new key pair。然后给 key pair 取个好记的名字,比如bac_ngs,然后点击Download Key Pair,就会下载这个密钥文件到你的电脑上。名字叫bac_ngs.pem。这时候底部的Launch Instance按钮就变成可以点击状态,把你的鼠标按上去,你的Instance就开始初始化了。

3. 访问 Instance并开始安装SSH客户端

如果你的本地电脑操作系统是Linux,可以直接开一个终端程序运行ssh来访问Instance,如果是Windows电脑,推荐使用putty或者是xshell来访问(参考网上教程)。

   一般Mac有自带的终端就可以使用,但是因为首次连接的使用是使用密钥文件进行连接的,所以终端工具不是很方便了,刚才推荐的secureCRT,可以使用密钥对文件转换后的密进行服务器登陆,需要将下载下来的密钥对文件即后缀名为pem的文件转为密钥即可(具体可参考网上教程)。

  • 安装secureCRT,Mac傻瓜式安装;
  • 转换密钥对文件为密钥串:
    • 使用命令:ssh-keygen -y -f XXX.pem > XXX.pem.pub转换为密钥串文件;
    • 使用命令:cat XXX.pem.pub查看密钥串;

4、Linux系统相关配置

大家先把Linux的相关配置装好,比如yum,上传插件,解压插件等,这里就不说了!将下载的 bac-ngs.pem 文件放在一个妥善的位置上,这里放在~/.pem

~/$ mkdir -p .pem
~/$ mv ~/downloads/bac-ngs.pem ~/.pem
~/$ chmod 400 ~/.pem/bac-ngs.pem

现在使用openssh远程访问 AWS Instance 实例。远程的地址可以使用 Dashboard 的 Instance 界面里对应的Public Domain 或者 IP 信息。因为选择的是 ubuntu 操作系统,直接使用 ubuntu 作为用户名,使用 bac-ngs.pem 密钥文件来登录。

~/$ ssh -i ~/.pem/bac-ngs.pem ubuntu@your_public_ip

连接成功的话就能看到 ubuntu 的登录欢迎界面,就可以开始你的生物信息软件配置过程了。

服务器和本地传递数据最方便的方法之一是使用scp命令,如果本地数据要传到服务器的/home/ubuntu/data位置上,可以用下面命令:

~/$ scp -i ~/.pem/bac-ngs.pem ~/data/your_data.fasta ubuntu@your_public_ip:/data

如果是要把服务器上/home/ubuntu/data/001.tar.gz文件传输给本地电脑的话,可以使用以下方式:

~/$ scp  ~/.pem/bac-ngs.pem ubuntu@your_public_ip:/data/001.tar.gz .

5、安装Nginx

因为使用的是ubuntu,则可以直接使用命令进行安装:sudo apt-get install nginx
安装完成后,启动nginx,执行命令:sudo service nginx start
检测nginx在服务器是否安装成功,执行命令:curl http://localhost
如果出现:如下图则表示安装成功。

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

参考文献:https://www.berrythinking.com/2017/01/02/%E6%90%AC%E5%AE%B6%E5%88%B0AWS%E7%A2%B0%E5%88%B0%E7%9A%84%E9%82%A3%E4%BA%9B%E5%9D%91/

https://github.com/indexofire/bac-ngs-book/blob/master/appendix/a2_amazon_ec2.md

    版权声明:

     本网站的所有文字、图片资料,【未注明转载的】均由作者亲自整理创作,任何媒体、网站或个人未经本人同意和授权不得复制、转载、转贴或以其他方式复制发布/发表,请尊重我的劳动成果,侵权必究,谢谢。