3-5HTTP基础服务

本文详细介绍了在Linux环境下如何搭建和配置HTTP服务,包括独立WEB主机的设置,如修改HTTP服务根目录、访问控制、端口号和起始页文件。此外,还讲解了虚拟WEB主机的概念和配置,包括基于域名和端口的虚拟主机搭建,并通过修改配置文件和hosts文件实现了不同站点的区分与访问。
摘要由CSDN通过智能技术生成

简介

本章节主要是介绍WEB服务中的HTTP服务的基本搭建,虚拟WEB主机的搭建,以及一些基本的设置。

3.5.1独立WEB主机

一、WBE基本通信概念
-基于B/S架构的网页服务
-服务端提供网页
-浏览器下载并显示网页

Hyper Text Markup Language(HTML):超文本标记语言
Hyper Text Transfer Protocol(HTTP):超文本传输协议

二、Linux中的WEB服务
软件包: httpd
系统服务: httpd
默认配置:
-Listen:监听地址:端口(80)
-ServerName:本站点注册的DNS名称(空缺)
-DocumentRoot:网页根目录(/var/www/html)
-DirectoryIndex:起始页/首页文件名(index.html)

在这里插入图片描述

三、独立站点的快速部署
1.环境设置

虚拟A
[root@srv7 ~]# firewall-cmd --set-default-zone=trusted #将防火墙的默认区域设置为trusted
[root@srv7 ~]# firewall-cmd --get-default-zone  #查看默认区域是否设置成功
[root@srv7 ~]# setenforce 0  #调整selinux为宽松模式
[root@srv7 ~]# getenforce   #查看selinux的状态

虚拟机B
[root@pc207 ~]# firewall-cmd --set-default-zone=trusted #将防火墙的默认区域设置为trusted
[root@pc207 ~]# firewall-cmd --get-default-zone #查看默认区域是否设置成功
[root@pc207 ~]# setenforce 0 #调整selinux为宽松模式
[root@pc207 ~]# getenforce  #查看selinux的状态

2.部署http服务

虚拟机A
[root@srv7 ~]# yum -y install httpd #安装httpd软件包
[root@srv7 ~]# systemctl start httpd #启动http服务
[root@srv7 ~]# systemctl enable httpd #设置http服务开机自启动
[root@srv7 ~]# vim /var/www/html/index.html #编写首页配置文件
NSD 2005 WEB
:wq

3.验证服务

虚拟机B
[root@pc207 ~]# curl http://192.168.4.7 #测试http服务
NSD 2005 WEB

四、配置http服务器
http服务主配置文件:/etc/httpd/conf/httpd.conf
1.修改http服务的根目录

虚拟机A
[root@srv7 ~]# vim /etc/httpd/conf/httpd.conf 
119 DocumentRoot "/var/www/myweb"  #修改http服务的根目录
:wq
[root@srv7 ~]# mkdir /var/www/myweb
[root@srv7 ~]# echo wo shi myweb > /var/www/myweb/index.html #编写起始页
[root@srv7 ~]# systemctl restart httpd #重启服务

虚拟机B
[root@pc207 ~]# curl http://192.168.4.7 #访问验证
wo shi myweb

2.httpd服务的访问控制:针对存放网页文件路径
-子目录的访问控制,会继承父目录的访问控制
-除非针对子目录有单独的访问控制
<Directory /var/www> #针对/var/www实行访问控制
Require all denied #拒绝所有客户端访问

虚拟机A
[root@srv7 ~]# vim /etc/httpd/conf/httpd.conf 
119 DocumentRoot "/webroot"
129 <Directory "/webroot">  #重新添加这5行配置 ,针对/webroot实行访问控制
130     AllowOverride None
131     # Allow open access:
132     Require all granted  #允许所有人访问
133 </Directory>
:wq

[root@srv7 ~]# mkdir /webroot
[root@srv7 ~]# echo wo shi webroot > /webroot/index.html #编写起始页
[root@srv7 ~]# systemctl restart httpd

虚拟机B
[root@pc207 ~]# curl http://192.168.4.7 #访问验证
wo shi webroot

3.网络路径和实际路径
网络路径:浏览器输入的路径
实际路径:存放网页的绝对路径

[root@srv7 ~]# mkdir /webroot/abc
[root@srv7 ~]# echo wo shi abc > /webroot/abc/index.html
[root@srv7 ~]# curl http://192.168.4.7/abc/
wo shi abc
网络路径://192.168.4.7/abc/
实际路径:/webroot/abc

4.端口号
**端口定义:**数字编号,标识协议或者程序(http协议默认端口:80)
流程:
客户端:curl http://192.168.4.7:80 ——》服务端192.168.4.7——》监听的80端口 http程序处理——》DocumentRoot “/webroot”——》index.html

1)修改http的端口

[root@srv7 ~]# vim /etc/httpd/conf/httpd.conf 
42 Listen 8000 #将端口号修改为8000
:wq

[root@srv7 ~]# systemctl restart httpd #重启httpd服务
[root@srv7 ~]# curl http://192.168.4.7:8000  #访问192.168.4.7的8000端口
wo shi webroot

2)添加多个端口

[root@srv7 ~]# vim /etc/httpd/conf/httpd.conf 
 42 Listen 80
 43 Listen 8000
:wq

[root@srv7 ~]# systemctl restart httpd #重启httpd服务
[root@srv7 ~]# curl http://192.168.4.7:8000  #访问192.168.4.7的8000端口
wo shi webroot
[root@srv7 ~]# curl http://192.168.4.7  #浏览器默认补充80端口,所以不用手动添加
wo shi webroot

5.起始页文件
DirectoryIndex:起始页文件(index.html)强烈建议不修改

3.5.2虚拟WEB主机

一、虚拟主机概述
1.虚拟WEB主机的作用
-由同一台服务器提供多个不同的web站点

2.虚拟WEB主机的区分方式
-基于域名的虚拟主机
-基于端口的虚拟主机
-基于IP地址的虚拟主机

二、配置虚拟站点
1.配置文件路径
-/etc/httpd/conf/httpd.conf#主配置文件
-/etc/httpd/conf.d/*.conf #调用配置文件

2.基于域名的虚拟主机

虚拟机A
[root@srv7 ~]# vim /etc/httpd/conf.d/nsd01.conf #建立调用配置文件
<VirtualHost *:80>  #本机的所有地址都监听80端口
 ServerName www.qq.com    #指定网站名称
 DocumentRoot /var/www/qq #指定存放网页路径
</VirtualHost>
<VirtualHost *:80>
 ServerName www.baidu.com
 DocumentRoot /var/www/baidu
</VirtualHost>
:wq

[root@srv7 ~]# mkdir /var/www/qq /var/www/baidu  #创建qq和baidu的网页存放目录
[root@srv7 ~]# echo wo shi qq > /var/www/qq/index.html #qq的页面
[root@srv7 ~]# echo wo shi baidu > /var/www/baidu/index.html #编写baidu的页面
[root@srv7 ~]# systemctl restart  httpd #重启http服务

虚拟机B
[root@pc207 ~]# vim /etc/hosts  #hosts文件提供域名解析服务,但只能为本机提供服务
192.168.4.7 www.qq.com www.baidu.com  #手动添加,192.168.4.7 对应www.qq.com和www.baidu.com 两个域名
[root@pc207 ~]# curl http://www.baidu.com
wo shi baidu
[root@pc207 ~]# curl http://www.qq.com
wo shi qq

注意:
-虚拟web主机功能一旦启动,所有的站点都必须使用虚拟WEB主机的功能进行呈现
-一旦启用虚拟WEB主机以后,外部的DocumentRoot、ServerName会被忽略,第一个虚拟站点被视为默认站点,若客户机请求的URL不属于任何已知站点,则由第一个站点响应

3.基于端口的虚拟主机

虚拟机A
[root@srv7 ~]# vim /etc/httpd/conf.d/nsd01.conf #编写调用配置文件
<VirtualHost *:80>
 ServerName www.qq.com
 DocumentRoot /var/www/qq
</VirtualHost>
Listen 8000  #监听8000端口
<VirtualHost *:8000>  #指定虚拟WEB主机使用8000端口
 ServerName www.qq.com
 DocumentRoot /var/www/baidu
</VirtualHost>
:wq

[root@srv7 ~]# mkdir /var/www/qq /var/www/baidu  #创建qq和baidu的网页存放目录
[root@srv7 ~]# echo wo shi qq > /var/www/qq/index.html #qq的页面
[root@srv7 ~]# echo wo shi baidu > /var/www/baidu/index.html #编写baidu的页面
[root@srv7 ~]# systemctl restart  httpd #重启http服务

虚拟机B
[root@pc207 ~]# vim /etc/hosts  #hosts文件提供域名解析服务,但只能为本机提供服务
192.168.4.7 www.qq.com www.baidu.com  #手动添加,192.168.4.7 对应www.qq.com和www.baidu.com 两个域名
[root@pc207 ~]# curl http://www.qq.com
wo shi qq
[root@pc207 ~]# curl http://www.qq.com:8000
wo shi baidu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值