AWS EC2+RDS 搭建WordPress教程
AWS是亚马逊提供的云服务,而且提供了免费1年的试用期。网上已经有了很多关于利用AWS搭建各种网站的教程,但是都过于老旧了,有些也写的不是很详细。在这里把我的经验分享一下,如何利用AWS来搭建WordPress博客。我写这篇文章的目的也就是能让更多站长顺利的利用AWS这个平台来搭建自己的网站。
现在的免费套餐中的EC2服务器的配置t2.micro比以前的t1.micro有所提高。具体配置为 1 GiB 的内存、32 位和 64 位平台支持,30GB的SSD存储空间,以及其他服务。可以说配置是非常不错的了。具体介绍可点击链接查看 http://aws.amazon.com/cn/free/ 。
需要格外提醒的是,该免费套餐并不是绝对的免费,而是给了一定的使用额度。一旦超出了免费额度就会扣费,不过对于一般的小站来说,基本不会出现超出额度的情况,一般多关注以下几个方面即可:
1、Amazon EC2免费套餐规定不管是Linux或者Windows,每个月都只有750个小时的运行时间,而一个月即便算31天也只有744个小时,也就是说一般在运行时长上面是不会扣钱的。
2、唯一导致你可能在Amazon EC2的运行时长上扣钱的应该是你创建了一个以上的实例。如果只是创建了唯一一个实例,每个月都不用担心运行时长。
3、750个小时负载均衡器使用时间,流量是15GB,一般用在你开多个实例的时候出现,如果用超了就要付钱了。
4、Amazon EC2部分服务是收费的,这些我们在创建实例时就可以看到,要特别小心。创建实例时会有明显的提示,如果选择的服务不符合免费政策,那么就会在页面左侧提醒你,一定要瞪大眼睛看好。
最后还要提醒下,一定要养成定时查看流量、硬盘读写、运行时长的好习惯,具体页面在 https://console.aws.amazon.com/billing/ 。
下面就是注册账户了。进入 http://aws.amazon.com/cn/free/ 页面,点击右上角的创建免费账户,下面的注册流程就很简单了,这里就不再啰嗦。
特别提醒两点:
1、电话要填写真实的号码,因为亚马逊会打电话过来让你输入网页上显示的验证码来验证信息,这个电话里说的是英语,不过不用管,等她说完了,你把页面上显示的几位数字在电话上按出来就OK了,然后你的网页就会自动显示验证通过了。
2、信用卡信息要填写正确,因为会自动扣掉1美元来验证你的账户信息是否可用。
首先进入EC2的控制面板,点击“启动实例”,一共有7个步骤,最好把7步都填写,不要直接点审核和启动。
1、选择AMI,注意左边有个“仅免费套餐”,最好勾选上。在右边的列表中也会有“符合条件的免费套”字样。一般选快速启动里的 Ubuntu Server 14.04 LTS (HVM), SSD Volume Type ,用的人多,出问题也更好解决。
注:在这里也可以选择“AWS Marketplace”里的免费AMI。比如搜索wordpress会出现很多诸如“WordPress powered by ***”之类的AMI,这里基本都是已经把PHP,MySQL,Apache等组件配置好了,会省去很多以后配置的烦恼。特别注意这里面也要选择有“符合免费的条件套”字样的AMI。不过这里面很多都预装了MySQL,我是不想在EC2里装数据库,而是想利用AWS里提供的RDS数据库,所以选择纯净系统自己配置环境了,毕竟EC2的资源有限,能省则省,少运行个程序就能更稳定一点吧。且RDS也是免费的,EC2+RDS依然免费,好用。
2、实例类型默认就是t2.micro,下面有“符合条件的免费套餐”字样,继续下一步配置实例详细信息。
3、步骤3默认即可。
4、添加存储,默认8GiB,最大可选到30GiB。只要不超过30就可免费。卷类型选“通用型(SSD)”。
5、标签实例随便写吧,反正就是个名字而已。
6、配置安全组这里要注意一下,创建一个新安全组,然后把常用的规则都添加进来,不然可是没法使用的哦。如HTTP、SSH、HTTPS、21端口都要开放。另外等实例创建完成后还要在安全组里再增加一个3306端口,为了以后的RDS连接使用,这个端口后面的来源要填写实例完成创建后显示的私有 IP地址。
7、最后点击审核和启动,稍等片刻即可。
实例下面的描述中公有DNS就是外部访问地址,等网站搭建好后直接浏览器里输入这个地址就可以访问了。也可以在你的域名管理面板中做个CNAME,值写这个公有DNS即可使用你自己的域名来访问了。
我使用了PuTTY这个工具来连接服务器。
1、打开PuTTY 密钥生成器,点击“载入”,选择刚才下载下来的密钥文件,然后转换成PuTTY格式的。
2、打开PuTTY,主机名称填EC2的公有DNS地址,连接类型SSH。然后点击菜单“连接”—“SSH”–“认证”,选择刚才转换后的PPK格式认证私钥文件。
3、回到“会话”菜单,保存个名字方便以后登录。
4、打开后出现界面:login as: ubuntu
5、输入:sudo su 进入root账户。
6、更新源信息: apt-get update 。(顺带说一下,这个黑色的界面是可以粘贴的,复制好信息后点右键就可以粘贴到里面了,省的不小心输入错误还得重来。)
7、安装 Apache:输入 apt-get install apache2 。安装完成后在浏览器中输入EC2的公有DNS地址就会出现Apache的默认页面了。
8、安装PHP:输入 apt-get install php5
9、让PHP支持MySQL。输入:
apt-get install libapache2-mod-auth-mysql
apt-get install php5-mysql
apt-get install php5-gd
10、重启Apache。输入: service apache2 restart
11、测试PHP,建立一个探针文件。输入: vi /var/www/html/info.php 然后输入
<?php phpinfo(); ?>
输入完成后按ESC键退出编辑模式,切换成大写模式,双击两次Z键即可保存退出。之后就可在浏览器中查看了。
12、安装 XCache 优化缓存。输入: apt-get install php5-xcache 然后重启Apache。
下面开始配置FTP。
1、安装vsftp。
全新安装:apt-get install vsftpd
重新安装:apt-get –reinstall install vsftpd
卸载并清除配置文件:apt-get -purge remove vsftpd
安装后vsftp默认会创建一个名为ftp的用户,用户目录在/srv/ftp,好像匿名用户也会使用这个设置。
2、启动、停止vsftp
启动vsftp:输入 service vsftpd start
3、创建ftp用户组和目录
1)创建FTP用户组ftp-user。输入 groupadd ftp-users
2)修改权限。输入 chmod 777 /var/www
3)指定文件夹归属用户和用户组。输入ftp-users /var/www 。如果只是自己使用也可以输入ftp-users /
输入:useradd -g ftp-users -d / yourname
输入:passwd yourname
Enter new UNIX password:(输入密码,屏幕上不显示)
Retype new UNIX password:(重复一次密码,屏幕上不显示)
passwd: password updated successfully
输入:service vsftpd restart
此时在FTP软件中连接服务器会提示530Login incorrect,这是因为ubuntu
启用了PAM,
所在用到vsftp
时需要用到 /etc/pam.d/vsftpd
这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。所以只要删除了就可以了。
输入: rm /etc/pam.d/vsftpd
此时即可登陆到FTP服务器了。
上一篇谈了EC2和FTP的环境配置,这一篇具体分享下RDS的设置,这个简单。特别提醒注意左边的“您的当前选择适用免费套餐”字样。
1、进入RDS控制面板,右上角选好你所需要的区域。然后点击启动数据库实例。
2、步骤1,选择引擎:选MySQL。
3、步骤2,此时注意要选择“否,此实例将在生产环境之外或在RDS免费试用套餐下试用”,下一步。
4、步骤3、制定数据库详细信息。注意数据库实例类要选择“db.t2.micro–1 vCPU, 1 GiB RAM”。多可用区域部署选择“否”。分配的存储空间小于20GB都是免费的。
5、配置高级设置。VPC安全组选择你创建EC2时创建好的安全组即可。注意安全组里要有第(二)篇第6条里说的增加3306端口,不然是连不到EC2的哦。下面数据库选项自己写。
6、最后启动实例,稍等几分钟即可。
远程连接MySQL我使用的是Navicat for MySQL这个软件,目前用起来还是比较方便的。软件的使用也很简单,打开软件后,点击文件–新建连接。连接名自己写一个。主机名就写RDS实例详细信息里的“终端节点”就可以。端口3306,用户名和密码就是你在RDS创建时自己写的。之后就可以登录了。如果不能登录,打开安全组,在安全组里“入站规则”中添加规则:类型选MYSQL/Aurora,来源选“我的IP”保存即可。
安装WordPress没啥说的,主要分享下使用wget命令。
1、进入 http://cn.wordpress.org/ 获取下载链接,现在的最新版本是4.3.1。
登陆服务器后输入: wget https://cn.wordpress.org/wordpress-4.3.1-zh_CN.tar.gz
如果想制定下载路径的话我是经常先进入到相应目录再使用wget,感觉这样简单点。比如想下载到/var/www/目录中,可先输入: cd /var/www 定位到该目录后,再使用wget命令下载到此目录中。
解压该文件 tar zxvf wordpress-4.3.1-zh_CN.tar.gz (如果没切换到root账号,直接在命令前加sudo空格也可临时提升到root权限)
注:这样操作的好处是“快”。从EC2服务器直接下载要比自己下载后用FTP上传上去要快多了。通常网速都在MB/s级别,真是飞快。
之后在浏览器中输入网址即可进入到安装界面。接下来就是常规安装了。大家都会,就不再多说了。
1、连接上FTP后,移动或者上传、删除文件时出现“550 Permission denied”。
原因一:vsftp默认配置不允许上传文件。
解决办法:修改 /etc/vsftpd.conf 文件。将“write_enable=YES”前面的#取消。然后重启vsftp服务器。
具体操作:输入 vi /etc/vsftpd.conf,进入文件后输入 /write 回车定位到该语句。点击键盘上“i”键,进入编辑模式,取消该语句前的“#”,然后按ESC键退出编辑模式,双击两次大写Z键退出保存即可。
原因二:用户权限原因。
解决办法:更改所有者。输入: chown –R 用户 目录
另:更改权限输入的是: chmod –R 755 目录
2、修改WordPress中上传附件2M大小限制
查看info.php页面中php.ini文件的位置。然后搜索搜索:memory_limit、post_max_size、upload_max_filesize、max_execution_time。
一般默认的设置值为:
memory_limit=128M //相当于单个脚本可调用内存大小
post_max_size=8M //上传文件大小上限
upload_max_filesize=2M //默认上传文件大小,这个就是2M的限制!
max_execution_time=30 //最大执行时间,页面等待时间
然后自己更改成想要的限制就可以了。然后重启apache。
其他错误逐渐增加。