Web服务概述
Web服务简介
当今人们获取和传播信息的主要方式之一。
Web服务提供的资源多种多样,可能是简单的文本,也可能是图片、音频和视频等多媒体数据。
常用的浏览器有Chrome、Internet Explorer,以及Firefox等。
手机等移动设备成为Web服务的主要入口。
Web服务工作过程
客户机/服务器模式,运行于 TCP 协议之上。
工作过程
连接过程:浏览器和Web服务器之间建立TCP连接。
请求过程:浏览器向Web服务器发出资源查询请求。
应答过程:Web服务器根据URL把相应的资源返回给浏览器,浏览器则以网页的形式
把资源展示给用户。
关闭连接:应答过程完成以后,浏览器和Web服务器之间断开连接。
Web相关技术
HTTP
超文本传输协议(HyperText Transfer Protocol,HTTP):浏览器和Web服务器通信时所使用的应用层协议。
规定浏览器和Web服务器之间可以发送什么类型的消息、每种消息的语法和语义、收发消息的顺序等内容。
HTTP是一种无状态协议,即Web服务器不会保留与浏览器之间的会话状态。这种设计可以减轻Web服务器的处理负担,加快响应速度。
HTTP规范定义了9种请求方法,每种请求方法规定了浏览器和服务器之间不同的信息交换方式,最常用的请求方法是GET和POST。
HTML
超文本标记语言(Hypertext Markup Language,HTML):由一系列标签组成的一种描述性语言。
主要用来描述网页的内容和格式。网页上的不同内容,如文字,图形、动画、声音、表格、超链接等,都可以用HTML标签来表示。
“超文本”是一种组织和管理信息的方式,通过超链接将文本中的文字、图表与其他信息关联。
通过超文本这种方式可以将分散的资源整合在一起,方便用户浏览、检索信息。
Web服务端配置
Web安装与启停
软件名称:httpd
后台守护进程:httpd
rpm -qa | grep httpd //先检查是否安装了Apache软件
httpd-2.4.6-88.el7.centos.x86_64
httpd-tools-2.4.6-88.el7.centos.x86_64
yum install httpd -y // 安装Apache软件
yum install firefox -y // 安装Firefox浏览器
systemctl start | stop | restart | status | enable httpd
Web安装后验证
在Firefox浏览器中输入如下地址:
http://127.0.0.1
Web服务主配置文件
/etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd" <== 单行指令
Listen 80
……
<Directory /> <== 配置段AllowOverride noneRequire all denied
</Directory>
……
DocumentRoot "/var/www/html"
……
安装后大部分说明行或空行
注释以“#”开头
配置前先对文件进行备份,过滤掉所有的说明行,只保留有效配置
包含一些单行的指令和配置段
指令的语法是“参数名 参数值”
配置段是用一对标签表示的选项
cd /etc/httpd/conf
mv httpd.conf httpd.conf.bak
对httpd.conf.bak文件进行操作,将不以'#'开头的行输出到httpd.conf文件中。
grep -v '^#' httpd.conf.bak > httpd.conf
cat httpd.conf
主配置文件参数
ServerRoot:设置Apache的服务目录,默认是/etc/httpd。
DocumentRoot:网站数据的根目录,一般来说,除了虚拟目录,Web服务器上存储的网站资源都 在这个目录下,默认值是/var/www/html。
Listen:指定Apache的监听IP地址和端口,默认工作端口是80。
User和Group:指定运行Apache服务的用户和组,默认都是apache。
ServerAdmin:指定网站管理员的邮箱。
ServerName:指定Apache服务器的主机名。
Error Log:指定Apache的错误日志文件,默认是logs/error_log。
CustomLog:指定Apache的访问日志文件,默认是logs/access_log。
LogLevel:指定日志信息级别,也就是在日志文件中写入哪些日志信息。
TimeOut:网页超时时间,Web客户端在发送和接受数据时,如果连线时间超过这个时间,就自动 断开连接,默认是300秒。
Directory :设置服务器上资源目录的路径、权限及其他相关属性。
DirectoryIndex:指定网站的首页,默认的首页文件是index.html。
MaxClients:指定网站的最大连接数,即Web服务器可以允许多少客户端同时连接。
配置虚拟主机
虚拟主机概述
主要功能:在一台物理主机上搭建多个网站
减少搭建Web服务器的硬件投入,降低网站维护成本
基于IP地址的虚拟主机:为Web服务器设置多个IP地址,通过IP地址访问网站
基于域名的虚拟主机:为Web服务器设置多个域名,通过域名区分
基于端口号的虚拟主机:虚拟主机之间通过不同的端口号区分
基于IP地址的虚拟主机
例:为Web服务器分配两个IP地址,分别为 192.168.100.100 和 192.168.100.101
第1步:为服务器分配两个IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR0=192.168.100.100
PREFIX0=24
GATEWAY0=192.168.100.2
IPADDR1=192.168.100.101
PREFIX1=24
GATEWAY1=192.168.100.2
DNS1=192.168.100.100
systemctl restart network
第2步:为两台虚拟主机分别创建文档根目录和首页文件,并修改权限
mkdir -p /siso/www1
mkdir -p /siso/www2
chmod o+rx /siso/www1
chmod o+rx /siso/www2
echo "we're now in www1's homepage..." > /siso/www1/index.html
echo "we're now in www2's homepage..." > /siso/www2/index.html
第3步:新建虚拟机配置文件,指定虚拟机文档根目录
vim /etc/httpd/conf.d/vhost.conf
<Virtualhost 192.168.100.100>DocumentRoot /siso/www1<Directory />AllowOverride noneRequire all granted</Directory>
</Virtualhost>
# 第2台虚拟机类似
第4步:重启Web服务,在浏览器中验证
基于域名的虚拟主机
例:虚拟机IP地址为 192.168.100.100,配置基于域名的虚拟主机,两个域名分别是 www1.siso.edu.cn 和 www2.siso.edu.cn
第1步:配置DNS服务,添加两个域名,重启DNS服务
vim /var/named/zone.siso.edu.cn
www1 IN A 192.168.100.100
www2 IN A 192.168.100.100
第2步:为两台虚拟主机分别创建文档根目录和首页文件,并修改权限。与上例完全相同
第3步:修改虚拟机配置文件相关内容
vim /etc/httpd/conf.d/vhost.conf
<Virtualhost 192.168.100.100>DocumentRoot /siso/www1ServerName www1.siso.edu.cn
</Virtualhost><Virtualhost 192.168.100.100>DocumentRoot /siso/www2ServerName www2.siso.edu.cn
</Virtualhost>
第4步:重启Apache服务,检查防火墙和SELinux的设置,在浏览器中验证
基于端口的虚拟主机
例:虚拟机IP地址为 192.168.100.100,配置基于端口的虚拟主机,端口分别是8080 和 8090,文档根目录分别是 /siso/www8080 和 /siso/www8090
第1步:为两台虚拟主机分别创建文档根目录和首页文件、修改权限
mkdir -p /siso/www8080
mkdir -p /siso/www8090
chmod o+rx /siso/www8080
chmod o+rx /siso/www8090
echo "www8080's homepage..." > /siso/www8080/index.html
echo "www8090's homepage..." > /siso/www8090/index.html
第2步:在Apache主配置文件中,启用8080和8090两个监听端口
vim /etc/httpd/conf/httpd.conf
Listen 8080
Listen 8090
第3步:修改虚拟机配置文件相关内容
vim /etc/httpd/conf.d/vhost.conf
<Virtualhost 192.168.100.100:8080>DocumentRoot /siso/www8080
</Virtualhost><Virtualhost 192.168.100.100:8090>DocumentRoot /siso/www8090
</Virtualhost>
第4步:重启Apache服务,检查防火墙和SELinux的设置,在浏览器中验证
案例:搭建 Web 服务器
本任务案例选自 2022 年全国职业院校技能大赛网络系统管理赛项试题库,稍做了修改。
某集团总部为了促进总部和各分部间的信息共享,需要在总部应用服务器安装 Apache 软件,向总部和各分部提供 Web 服务。Apache 服务器安装了 CentOs 7.6 操作系统,具体要求如下。
(1)使用本地 YUM 源安装 Apache 软件。
(2)Apache 服务器IP 地址为 192.168.100.100,使用域名 www.chinaskills.cn 进行访问。
(3)网站根目录为/data/webdata。
(4)网站首页为index.html,内容是“Welcome to 2022 Computer Network Application Contest!”
以下是完成本任务的操作步骤。
第1步,设置虚拟机 IP 地址为 192.168.100.100,安装 Apache 软件。
第2步,参照任务 7.4 配置 DNS 服务,建立 192.168.100.100和 www.chinaskills.cn 的对应关系
确保域名解析正确,如例 7-35.1所示。
例 7-35.1:搭建 Apache 服务器--配置 DNS 服务
vim /var/named/zone.chinaskills.cn
www IN A 192.168.100.100
systemctl restart named
nslookup www.chinaskills.cn
结果如下:
Server: 192.168.100.100
Address: 192.168.100.100#53Name: www.chinaskills.cn
Address: 192.168.100.100
第3步,创建网站根目录和首页文件并修改权限,如例 7-35.2所示。
例 7-35.2:搭建 Apache 服务器--创建网站根目录和首页文件并修改权限
mkdir -p /data/webdata
chmod o+rx /data/webdata
vim /data/webdata/index.html
Welcome to 2019 Computer Network Application Contest!<== 添加这一行内容
第4步,修改 Apache 服务的主配置文件,添加或修改以下内容,如例 7-35.3 所示。
例 7-35.3:搭建 Apache 服务器--修改 Apache 服务的主配置文件
vim /etc/httpd/conf/httpd.conf
Listen 80
ServerName www.chinaskills.cn
DocumentRoot "/data/webdata"
<Directory "/data/webdata">AllowOverride NoneRequire all grantedDirectoryIndex index.html
</Directory>
第5步,重启 Apache 服务,检查防火墙和 SELinux 的设置。
第6步,在浏览器的地址栏中输入“http://www.chinaskills.cn",验证页面如下图所示。