华为云从入门到实战 | 云服务概述与华为云搭建Web应用

本文涉及的产品
公网NAT网关,每月750个小时 15CU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 云计算在快速发展过程中逐渐形成了不同的服务模式(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面向的对象是开发者。

image.png


2、云服务架构


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

image.png

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

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

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

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


3、云服务产品


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

image.png


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


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


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


1●Xshell软件安装

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

image.png

■ 图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。

image.png


3●删除云服务器环境

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

image.png


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

image.png


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

image.png


2、安装Nginx Web服务器


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


1●获取Nginx软件

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

image.png


2●建立Nginx仓库

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

image.png


3●安装Nginx软件包

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

image.png


4●设置Nginx开机自启动

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

image.png


5●测试Nginx安装成功

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

image.png


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所示。

image.png


2●验证PHP的安装版本

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

image.png


3●设置php-fpm开机启动

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

image.png


4●配置Nginx配置文件

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

image.png


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

image.png


5●重新载入Nginx的配置文件

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

image.png


6●测试Nginx+PHP安装环境

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

image.png

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


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

image.png


相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
18天前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
31 3
|
23天前
|
移动开发 开发者 HTML5
构建响应式Web界面:Flexbox与Grid的实战应用
【10月更文挑战第22天】随着互联网的普及,用户对Web界面的要求越来越高,不仅需要美观,还要具备良好的响应性和兼容性。为了满足这些需求,Web开发者需要掌握一些高级的布局技术。Flexbox和Grid是现代Web布局的两大法宝,它们分别由CSS3和HTML5引入,能够帮助开发者构建出更加灵活和易于维护的响应式Web界面。本文将深入探讨Flexbox和Grid的实战应用,并通过具体实例来展示它们在构建响应式Web界面中的强大能力。
34 3
|
18天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
107 45
|
5天前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
|
8天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
13天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
29 1
|
16天前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
35 1
|
19天前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
17 3
|
19天前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
31 2
|
19天前
|
前端开发 JavaScript API
前端框架新探索:Svelte在构建高性能Web应用中的优势
【10月更文挑战第26天】近年来,前端技术飞速发展,Svelte凭借独特的编译时优化和简洁的API设计,成为构建高性能Web应用的优选。本文介绍Svelte的特点和优势,包括编译而非虚拟DOM、组件化开发、状态管理及响应式更新机制,并通过示例代码展示其使用方法。
33 2