贴图太不方便,要查看图文版,请访问
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
数据库了
写到这里,我们基于云服务部署网站的工作就大功告成!至于进一步的安全设置、性能调优等工作,还要慢慢摸索。
如果你对本文有兴趣,或想与作者交流。请发邮件至
33205280@qq.com
期待认识更多朋友。