贴图太不方便,要查看图文版,请访问
http://note.youdao.com/noteshare?id=3fb19ba1b69c27b2ccd218f5403db0ca&sub=D2826597DF2A4DCD997CDAAAD4B157D5
============================================================================
阿里云(ECS+RDS)部署PHP+MySQL网站初探
一、背景介绍
前段时间,用Apache+PHP+MySQL给自己的开发团队开发了一个“计划任务分配和反馈系统”,前端框架是Jquery+EasyUI。
起初系统部署在内网。但很快就发现,出差或在家办公的人无法使用。因此,大家决定在公有云上部署该系统。
刚好最近阿里云在做活动,推出了个人免费套餐,包含云服务器 ECS、负载均衡、云数据库 RDS、云数据库 Redis 版、弹性公网 IP、对象存储 OSS。因此,从来没有用过云环境的我们,决定先申请该套餐试用一下。
二、申请过程
1、打开 www.aliyun.com ;
2、可以新注册一个账号;也可以用自己的淘宝账号登录;
3、打开 “最新活动”,选择“阿里云35+产品6个月免费”;
4、申请成功后,会有短信提示。
5、申请的套餐主要配置如下:
1)ECS
2)RDS
三、建站软件准备
推介使用WAMP建站。WAMP将Apache+PHP+MySQL打包在一起,运行在Windows环境上,比较适合初学者使用。
特别提示:我们申请的ECS是Windows Server 2012 R2 数据中心版本,WAMP是最新的WAMPServer 64 BITS(X64) 3.0.6版本。该版本的WAMP需要Visual C++的运行环境,否则安装时就会出现“丢失MSVCR110.dll”的错误。
1、下载 WAMP:http://www.wampserver.com/en/#download-wrapper
2、下载Visual C++的运行环境:https://www.microsoft.com/zh-cn/download/details.aspx?id=53587
四、开始建站
1、登录阿里云
2、进入控制台
3、查看ECS的外网IP
4、接下来,就要进入ECS安装软件了
5、打开本地电脑的“远程桌面连接”,输入刚才看到的ECS外网IP,连接ECS
6、安装Visual C++的运行环境vc_redist.x64.exe
7、安装WAMP
8、启动WAMP
重点来了:在当前ECS的配置下,WAMP很可能启动失败。这是因为MySQL需要分配内存过高,启动不了。如何解决呢?有两种方案。
方案1:分配windows的虚拟内存。
打开ECS的控制面板,再打开“系统à调整系统外观和性能”,给系统加上虚拟内存,再启动WAMP,应该就OK
方案2:将MySQL移至RDS,这是最好的方案。具体步骤在后面描述。
五、调整外网访问权限
(一)调整WAMP的配置文件
1、打开C:\wamp\bin\apache\apache2.4.9\conf\ httpd.conf
2、修改文件
<Directory />
AllowOverride none
Require all granted
</Directory>
3、保存
4、重启WAMP
(二)调整ECS的外网访问权限
1、打开控制台,选择 “网络和安全à安全组”
2、选择“配置规则”
3、选择“入方向à添加安全组规则”
4、填写规则项目
1)授权策略:允许
2)协议类型:全部
3)授权对象:0.0.0.0/0
5、保存
6、OK!现在应该能从外网访问网站页面了。
六、将MySQL移至RDS
将MySQL移至RDS,一方面可以减少ECS的负载,提高访问性能;另一方面,可以利用RDS对数据库的优化配置,提高数据处理效率,这应该是最好的方案。具体步骤如下:
(一)删除ECS上的MySQL服务
1、点击WAMP的图标
2、选择 MySQLàServiceàRemove Service
3、OK!ECS上的MySQL服务已删除。
(二)在RDS上建立数据库
1、打开控制台
2、找到RDS实例,选择“管理”
3、选择“登录数据库”
如果是第一次登录数据库,控制台会提示你设置用户名和密码
4、输入用户名和密码登录
5、进入DMS数据操作界面,建立数据库、数据表,完成数据初始化操作。
(三)开通ECS访问RDS的网络权限
这里分两种情况:一是ECS与RDS在同一内网;二是ECS与RDS不在同一内网。
提示:判断ECS与RDS是不是在同一内网的方法,就是看ECS和RDS的实例在哪里。从控制台可以看出,我们的ECS在华北2区,RDS在华东2区,不在一个内网。
1、选择RDS实例,点击“管理”
2、选择”数据安全性”
3、点击”设置白名单”
4、点击”添加白名单分组”
如果ECS与RDS在同一内网,在”组内白名单”中加入ECS的内网地址;
如果ECS与RDS不在同一内网,在”组内白名单”中加入ECS的外网地址;
5、点击”添加白名单分组”
6、如果ECS与RDS不在同一内网,还要选择”数据库连接”,申请”外网地址”。
7、OK!
(四)修改PHP的数据库连接
1、打开ECS上的PHP数据库连接文件
2、填写'MySQL数据库地址'、'MySQL数据库用户名'、'MySQL数据库密码'
注意:如果ECS与RDS在同一内网,在” MySQL数据库地址”中写入RDS的内网地址;
如果ECS与RDS在不同一内网,在” MySQL数据库地址”中写入RDS的外网地址;
3、保存文件
4、OK!ECS上的PHP文件应该能访问RDS上的MySQL数据库了
写到这里,我们基于云服务部署网站的工作就大功告成!至于进一步的安全设置、性能调优等工作,还要慢慢摸索。
如果你对本文有兴趣,或想与作者交流。请发邮件至 33205280@qq.com
期待认识更多朋友。