如何部署WordPress到Amazon云主机

在过去的10年,架设一个大型网站是一个非常艰巨的任务,那可不是非专业人士可以完成的。现在好了,亚马逊开放了他们的服务器架构,一切都改变了。 计算机硬件被移动到了云端,普通站长和开发人员都可以利用亚马逊的硬件和网络资源来运行自己的应用。在本文中,我们将把WordPress博客安装到云端。


介绍

大多数博客和小型企业站点都托管在共享主机上面,通过固定的月租费用来获得预装软件和特定功能的使用。大多数情况下,共享主机是一个完美的解决方案,但是将你的博客安装在Amazon云端有很多好处是值得我们考虑的:

  • 更容易升级更新. 在Amazon云端创建一个新服务器可以在数分钟内完成。使用该服务,你的网站将有能力应付突如其来的流量爆发,比如你的博客文章被推荐到了Digg或者Reddit的首页,你可以添加更多服务器并平衡负载。
  • 经济有效的大规模服务能力. 如果你的站点吸引了大量的用户,并且最终超过了主机的正常伺服能力,Amazon Web Services 将给你一个经济有效的办法来设计一个符合你的需求的网站服务架构,而你并不需要去雇佣一个完整的网络运作团队来安装和管理网络。这也是许多 Facebook开发人员选择Amazon云服务器的原因。
  • 完善的安装与设置. 在运行WordPress时,这一点可能不是太重要,但如果你想使用PHP和MySQL之外的一些东西来建设你的下一个项目,则没有必要请求主机公司的帮助,你可以就像在你自己的服务器上一样安装你所需要的软件。

是否把WordPress站点放到亚马逊云端由你的博客流量决定,并且你可以根据你的实际需求来决定服务器配置。通过下面的指南,你可以了解到怎样迅速的在Amazon Cloud上设置和运行服务器。 Continue reading 如何部署WordPress到Amazon云主机

PuTTY Secure Copy client

之前介绍pscp的文章已经很多了,这里纯属废话一遍,总之呢,简单的说,pscp就是putty套件中一个使用sftp和scp来远程拷贝文件的工具,也就是PuTTY Secure Copy client,由于大家坚信AES-256的牢不可破(其实说不定美国那几爷子早就有了破解算法故意不告诉大家),所以这个Secure还是比较有意义的,既然是远程copy,大家肯定已经了解了这个工具的使用范围,可以用于上传数据:关键性主机的数据更新(因为不允许未加密的数据传输嘛),可以用于推送数据:远程数据备份,之所以这个不叫下载而叫推送,是因为这是主机在上传,不是客户机在上传,也不是客户机在下载。

也许有人更喜欢用通过ssh隧道转发只对本地开放的ftp来 传输文件,毕竟用惯了Windows的人去敲命令行那简直不如让他去死,这种方法在上传数据的时候没有什么不同,可用,而且广泛可用,但在远程数据备份这块,就毫无意义可言了。没有人工干涉的远程备份一般有以下几个原因:

1,服务器所在地没有备份主机(备份主机硬盘满同理,汗),远程有备份主机。
2,需要备份的主机是Ghost host,额,也就是说,它的IP在变动。
3,需要备份的文件是随机生成的,备份主机无从知晓它生成了什么东西……汗。

远程备份数据是一个很折衷的办法,合理的网络布局应该把所有的服务器放在一个机房,而中国特色的网络利益人为分割,导致了广州到北京的距离比广州到美国还要远,当然大家理解为崇洋媚外也没什么问题,花大力气建设中美海底光纤而不花大力气建设国内互联互通的光纤,不是崇洋媚外是什么?扯得太远了,下面以hnair.com域的备份脚本来解释一下pscp的应用:
——
#!/bin/sh
cd /home/ken/babyken
tar –exclude=hnair.com/files/media -cf hnair.com.tar hnair.com
bzip2 -9 hnair.com.tar
mv hnair.com.tar.bz2 hnair.com.$(date +%Y%m%d-%H%M%S).tar.bz2
mv *.bz2 /home/ken/babyken/backup
cd /home/ken/babyken/backup
/usr/local/bin/pscp -i priv_key.ppk *.bz2 [email protected]:/disk3/backup/node68
rm -f hnair*.bz2
——
首先呢自然是切入网站根目录上级,进行打包操作,由于这个MP3文件太大,我就不备份音乐了,在tar的时候把文件夹exclude,可以减少百分之八十的数据总量,也就是说,网站程序和日志大概只有接近两百兆的样子,打包完成后呢就进行压缩操作,使用bz2进行压缩级别最高的压缩……但是我发现文件似乎也小不了多少,回头用7zip压缩看看,接下来把压缩好的文件按照当前日期和时间重新进行命名,也就是那串(date +%Y%m%d-%H%M%S),Unix shell中的时间格式比Windows cmd中的时间格式清晰明白多了,然后呢,就是把已经压缩好并且按照时间命名的文件推送到远程服务器上去,这个命令是:
pscp -i priv_key.ppk *.bz2 [email protected]:/disk3/backup/node68
这个命令的意思呢,就是把当前目录的bz2文件全部推送到主机node66.hnair.com上的/disk3/backup/node68目录中去,使用的登录验证方式是密钥对验证,登录用户名字是ken,密钥的名字是priv_key.ppk,当然,你也可以用密码来验证,考虑到用户密码定期会进行更改,定期去修改这个脚本中的用户密码是一个很重复的工作,使用密钥对就很简单了,甚至可以分发十几个密钥下去给不同的用户,不需要用户的时候直接在备份主机上删除密钥对就可以(似乎和密码登录也差不多……)。

当然了,这一切的前提是你必须先安装了putty,因为putty在*inx操作系统中不是标准配置,如果需要推送文件到不同的主机,你甚至可以调用putty-agent,将密钥对全部装进去。

下面简要的介绍一下另外一个小工具,plink,这个小工具看起来似乎没什么用处,但其实用处大着呢,很早之前我们讲过使用ssh隧道转发可以突破移动WAP网关对于浏览器的封锁,不久之前我们讲过很多管理员喜欢在Windows下使用ssh隧道端口转发来访问只对本地开放的ftp服务器以便传输文件,这个小工具就可以满足在*nix下进行端口转发的需求,更准确的说,plink就是*nix下的putty,当然了,没人会在*nix下去刻意使用putty,NND不是脑子进水嘛,只讲一下Windows下的使用,只需要一行命令,就可以实现端口转发,使用代理服务器或者传输文件啦!

plink -i priv_key.ppk [email protected] -L localhost:3128:localhost:3128

这个命令的意思是,用户ken使用密钥对priv_key.ppk登录到主机node66.hnair.com,并将服务器上只对本地开放的3128端口转发到我的电脑上来,然后我们设置浏览器的代理服务器为本地的3128端口,就可以通过服务器去进行访问啦,当然你可以转发其它的端口,诸如ftp呀,www呀,如果你在电信,访问联通的服务器速度奇慢,而这台服务器是多线,你甚至可以将联通服务器的SSH端口转发到本地来,以便快速的管理,而命令自然不会是-L了,而是-R。

不要忘记第一次连接主机的时候存储fingerprint哦~