云计算在快速发展过程中逐渐形成了不同的服务模式(Service Model)。根据云计算最终服务的交付形态主要分为3种类型,软件即服务、平台即服务与基础架构即服务。从根源上来说,云计算的服务模式来源于面向服务的架构SOA(Service-Oriented Architecture)。所谓SOA,就是一种架构设计模式,其核心是一切以服务为中心,不同的应用之间通信协议都以某种服务的方式定义和完成。在云中部署应用和服务的微服务架构其本质也是由SOA演变而来。

1、云服务概念及分类

云服务一般主要是指华为云提供商所能提供的云计算服务。从用户的角度来说,主要是指用户通过Internet获取云计算资源的一系列服务。

随着企业数字化、智能化发展的加速,诸如远程办公、在线教育、网上展会、远程医疗等应用数量激增,企业自身数据量爆发式的增长,我国华为云服务步入发展快车道。华为云已逐渐成为云计算的代名词。华为云主要有以下特点。

(1) 完整的云解决方案,只使用一个或多个云供应商的云服务即可完成生产环境部署。

(2) 所有服务(例如业务系统和操作系统)的功能模块都位于云托管环境中。

(3) 支持按需付费,不用关注物理硬件的故障问题,解放生产力。

云服务的类型如图1所示。云计算按服务类型为划分依据,云服务可分为IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务)3种类型。IaaS主要提供计算、存储、网络等基础服务,如弹性云服务器(ECS)等;SaaS主要提供应用运行、开发环境和应用开发组件,如语音识别、数据库服务等;PaaS主要通过Web界面提供软件的相关功能,如Office 365。IaaS和SaaS面向的对象是企业或者是用户,而PaaS面向的对象是开发者。

■ 图1云服务的类型

2、云服务架构

本节以华为云服务为例,介绍云服务的架构。华为云采用基于OpenStack的开源架构,主要分为4个层次,包含物理资源层、虚拟资源层、基础设施服务层和P/S产品层(Platform/Service产品层)。华为云的基础架构如图2所示。

■ 图2华为云的基础架构

(1) 物理资源层:主要包含服务器、存储设备、网络设备、物理设备(如防火墙)。

(2) 虚拟资源层: 将物理资源层的资源大部分虚拟化、逻辑化,主要包含计算虚拟化、存储虚拟化、网络虚拟化。

(3) 基础设施服务层:包含Nova(计算)、Cinder(存储)、Neutron(网络)、Keystone(身份验证)、Glance(镜像)、Swift(对象存储)、Heat(自动化编排)、Ceilometer(监控)、Ironic(裸机部署)等。

(4) P/S产品层:包含关系型数据库、云应用引擎、云容器引擎、开发云、云桌面等。

3、云服务产品

云服务产品作为云服务的核心智能资源和重要驱动引擎,具有带动性极强的“头雁效应”。以华为公司为例,华为云服务全景图如图3所示。华为云作为领先的云服务品牌,致力于提供稳定可靠、安全可信、可持续创新的云服务,主要包括计算服务、存储服务、网络服务、安全服务、数据库服务等。截至2021年1月,华为快速迭代,不断增强服务,华为云服务产品现有18类,近210种云服务产品,共分为基础服务、EI企业智能、开发者、安全、企业应用和IoT物联网六个模块。

■ 图3华为云服务全景图

下面主要演示搭建Web应用。

4、登录修改云服务器环境

本节介绍如何登录Linux云服务器。当前登录Linux服务器的工具有很多,比较常见有的SecureCRT、Putty、Xshell等工具。其中,Xshell是Windows下一款功能非常强大的安全终端模拟软件,支持Telnet、Rlogin、SSH、SFTP、Serial 等协议,可以非常方便地对Linux主机进行远程管理。与SecureCRT相比,Xshell 具有Screen不会闪屏,可以回滚,脚本(Script)的执行顺序可以调整,键盘映射的兼容性比较好等优点。与Putty相比,商用的Xshell软件功能会更强大,但Xshell对个人和学校用户是免费使用的,因此,本节将以Xshell为例说明如何登录弹性云服务器。

1Xshell软件安装

首先可以通过官网下载也可以在本书所附的软件安装包地址下载。在本地主机安装安全终端模拟软件Xshell 6,安装成功并打开Xshell 6,如图4所示。

 ■ 图4 Xshell 6安装成功

2配置Xshell新建会话属性

在图4所示的Xshell界面中单击“新建”按钮,打开“新建会话属性”对话框,如图5所示,进行会话相应的设置,设置选项如下。

(1) 设置会话名称。会话名称可进行自定义。此处取值样例为“华为云”。

(2) 选择登录协议。有Telnet、Rlogin、SSH、SFTP、Serial 等协议可供选择。此处取值样例为SSH。

(3) 输入主机IP地址。主机IP需与ECS的弹性公网IP地址保持一致。此处取值样例为121.36.3.201。

(4) 选择端口号。默认SSH端口设置为22。

(5) 连接至云服务器。单击“连接”按钮,通过Xshell软件即可远程登录ECS。

■ 图5新建会话基本配置

3●删除云服务器环境

(1) 查看云服务器Apache版本号。登录云服务器后,在命令行界面执行命令httpd -v,查看已安装的Apache版本,如图6所示。

■ 图6 查看Apache版本

(2) 删除已安装的Apache版本。在命令行界面执行命令:yum -y remove httpd即可删除已经安装的Apache Web服务器,如图7所示。

■ 图7删除已安装Apache版本

(3) 删除已安装的PHP版本。在命令行界面执行命令:yum -y remove php-common即可删除已经安装的PHP软件,从图8中可以看出,当前安装的PHP版本号为5.6。

 ■ 图8 删除已安装的PHP版本

 

2、安装Nginx Web服务器

Nginx是一款轻量级Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在Internet项目中广泛应用,Nginx占有大约25%的全球Web服务器市场份额。

1获取Nginx软件

用户需要下载对应当前云服务器操作系统版本的Nginx软件包,有两种途径:一种是通过Nginx官网下载,也可以直接在Linux的命令行界面通过wget命令从官网下载,如图9所示。

■ 图9 使用wget下载Nginx软件包

2建立Nginx仓库

建议用户通过wget命令行直接下载Nginx软件包,否则还需要通过WinSCP工具或Linux的lrzsz工具将Windows本地文件上传到远程云服务器。软件下载或上传到远程云服务器后,在命令行界面执行命令rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm,建立Nginx仓库,如图10所示。

■ 图10 建立Nginx仓库

3安装Nginx软件包

在命令行界面下执行命令:yum -y install nginx,安装Nginx软件包,如图11所示。

■ 图11 安装Nginx

4设置Nginx开机自启动

在命令行界面执行命令systemctl start nginx启动Nginx服务器,执行命令systemctl enable nginx设置Nginx为开机自启动,如图12所示。

■ 图12 启动Nginx并设置开机启动

5测试Nginx安装成功

启动完成Nginx服务后,可以在客户端主机利用浏览器访问http://弹性公网IP地址,此处弹性公网IP地址取值样例为121.36.3.201,显示如图13所示的界面,即表示Nginx服务安装成功。

■ 图13 Nginx安装成功

3、安装PHP 7软件环境

1使用Webtatic源安装PHP 7

在建立Webtatic源仓库之前需要首先安装EPEL(Extra Packages for Enterprise Linux)。EPEL是由 Fedora 社区打造,为 RHEL及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目,装上 EPEL,就相当于添加了一个第三方源。

(1) 在命令行界面执行命令:rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm,升级安装epel软件包,如图14 a所示。

(2) 在命令行界面执行命令:rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm建立webtatic仓库,如图14 b所示。

(3) 安装PHP 7及所需扩展。在命令行界面执行命令:yum -y install php70w-tidy php70w-common php70w-devel php70w-pdo php70w-mysql php70w-gd php70w-ldap php70w-mbstring php70w-mcrypt php70w-fpm,安装PHP 7及所需的PHP扩展,如图14 c所示。

■ 图14 通过Webtatic源安装PHP 7及其扩展

2验证PHP的安装版本

在命令行界面执行命令:php -v,验证PHP的安装版本,如图15所示。

■ 图15 验证PHP的安装版本

3设置php-fpm开机启动

php-fpm即php-Fastcgi Process Manager,是 FastCGI 的实现,并提供了进程管理的功能。在命令行界面执行命令:systemctl start php-fpm和systemctl enable php-fpm,启动php-fpm并设置开机启动,如图16所示。

■ 图16 启动Nginx并设置开机启动

4配置Nginx配置文件

(1) 利用vim编辑工具打开配置文件。在命令行界面执行命令:vim /etc/nginx/conf.d/default.conf,打开配置文件default.conf,如图17所示。

■ 图17 打开配置文件default.conf

(2) 修改打开的default.conf配置文件。根据图18方框所示部分修改配置文件,在index处添加index.php首页文件,再去掉Location那段配置代码的注释符号#,并修改fastcgi_para参数,修改为用户存放PHP脚本文件的目录。此处为/usr/share/nginx/html$fastcgi_script_name。在vim编辑模式下,按Esc键可退出编辑模式并进入命令模式;输入:wq可保存配置文件并退出vim编辑软件。

■ 图18 修改配置文件default.conf

5重新载入Nginx的配置文件

在命令行界面执行命令:service nginx reload,重新载入Nginx的配置文件,如图19所示。

■ 图19 重新载入Nginx配置文件

6测试Nginx+PHP安装环境

(1) 创建inof.php测试文件。在命令行界面执行命令:vim /usr/share/nginx/html/info.php,打开并修改编辑info.php的测试文件,编辑文件内容如下:

然后按Esc键退出编辑模式,并输入:wq保存后退出vim编辑软件。

(2) 测试PHP环境。在客户机本地利用浏览器访问http://弹性公网IP地址/info.php,此处弹性公网IP地址取值样例为121.36.3.201,显示如图20所示的界面,表示PHP 7安装成功。

■ 图20 PHP 7安装成功