天天看点

阿里云(ECS+RDS)部署PHP+MySQL网站初探

贴图太不方便,要查看图文版,请访问

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数据库了

写到这里,我们基于云服务部署网站的工作就大功告成!至于进一步的安全设置、性能调优等工作,还要慢慢摸索。

期待认识更多朋友。