贴图太不方便,要查看图文版,请访问
http://note.youdao.com/noteshare?id=3fb19ba1b69c27b2ccd218f5403db0ca&sub=d2826597df2a4dcd997cdaaad4b157d5
============================================================================
阿里云(ecs+rds)部署php+mysql网站初探
一、背景介绍
前段时间,用apache+php+mysql给自己的开发团队开发了一个“计划任务分配和反馈系统”,前端框架是jquery+easyui。
起初系统部署在内网。但很快就发现,出差或在家办公的人无法使用。因此,大家决定在公有云上部署该系统。
刚好最近阿里云在做活动,推出了个人免费套餐,包含云服务器 ecs、负载均衡、云数据库 rds、云数据库 redis 版、弹性公网 ip、对象存储 oss。因此,从来没有用过云环境的我们,决定先申请该套餐试用一下。
二、申请过程
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数据库了
写到这里,我们基于云服务部署网站的工作就大功告成!至于进一步的安全设置、性能调优等工作,还要慢慢摸索。
期待认识更多朋友。