一、实验目的及要求
实验目的
◼ 复习Web服务器与HTTP协议的相关知识
◼ 学习Apache的相关知识
◼ 掌握Linux环境下Web服务器的基本配置方法
实验要求
一、创建一个网站
◼ Web网站域名:www.***.com(***为姓名缩写)
◼ 默认首页:index.html和index.htm
◼ 默认首页内容为:This is ***’s web. (***为姓名缩写)
◼ 管理员邮箱地址:root@***.com(***为姓名缩写)
◼ 使用虚拟目录:/test (实际路径自选)
首页内容为:this is ***’s test (***为姓名缩写)
实验要求
二、创建基于域名的两个网站
1、第一个Web网站
◼ 域名:www1.***.com(***为姓名缩写)
◼ 网站根目录:/var/www/html/www1
◼ 首页内容为: This is ***’s www1.web
2、第二个Web网站
◼ 域名:www2.***.com(***为姓名缩写)
◼ 网站根目录:/var/www/html/www2
◼ 首页内容为: This is ***’s www2.web
二、实验原理
WWW(World Wide Web)是一种交互式图形界面的Internet服 务,也称Web
◼ Web组件 :
❑ 统一资源标识符 URL
❑ Web 客户和 Web 服务器
❑ 超文本传输协议 HTTP
❑ Web缓存和Web代理
❑ Cookie 和Session机制
❑ Web内容的构建组件
URL协议名称://机器地址:端口号/路径名/文件名
http://www.centos.org
https://192.168.0.191
http://192.168.0.191:8080
http://woodpecker.org.cn/diveintopython3/whats-new.html
ftp://192.168.0.191
ftp://192.168.0.191:8021
Web服务器:利用应用层提供的HTTP协议、HTML文档格式、URL等技术提供网上信息浏览服务。
❑ 默认监听TCP/IP的80端口
❑ 接受Web客户请求
❑ 检查请求的合法性,包括安全性屏蔽
❑ 针对请求获取并制作和处理数据
❑ 把处理后的信息发送给提出请求的客户机
Web客户端:生成一个 Web 请求,通过网络将Web请求发送给某个Web服务器,解释服务器返回Web文档并显示在屏幕上。
HTTP:Hyper Text Transfer Protocol,超文本传输协议,是在Web 上传输资源最常用的方式。
◼ HTTP的请求方法:GET | POST | PUT
◼ HTTP的响应代码
❑ 成功 2xx:客户端发送的请求被服务端成功接收并成功进行了处理
❑ 重定向 3xx
❑ 客户端错误 4xx
❑ 服务器错误 5xx
◼ Web缓存
◼ Web代理
❑ 同时扮演着客户和服务器的双重身份
❑ 过滤不希望的Web请求,实现高速缓存等
◼ Cookie和Session机制
❑ HTTP是一个无状态协议,当Web服务器将Web客户请求的响应发送出去后,服务器便不必保存任何信息了
❑ Web客户以存储Cookie的方式在一系列请求和响应之间维持状态
❑ 服务器端采用Session机制保持状态
◼ Web内容的构建组件
❑ 使用HTML/XHTML、CSS、Javascript构建静态Web页面
❑ 使用CGI、PHP、Python、Ruby、Java Servlet、Node.js等技术构建动态Web应用
❑ 使用各种数据发布格式及语言(XML、YAML、JSON、RSS/Atom)交换数据
◼ Linux平台下应用最广泛的Web服务器是Apache
◼ 软件包:
❑ httpd:Apache服务器主程序的软件包
❑ httpd-tools:Apache服务器使用工具的软件包
❑ httpd-manual: Apache服务器帮助手册
◼ 守护进程: /usr/sbin/httpd
◼ 端口: 80(http), 443(https)
◼ 配置文件: /etc/httpd/conf/httpd.conf
◼ 主配置文件: /etc/httpd/conf/httpd.conf
该配置文件总体上划分3个部分:
全局环境设置
主服务器设置
虚拟主机设置
◼ 全局环境设置:
ServerRoot “/etc/httpd” 设置Apache的主配置文件、错误文件和日
志文件的存放目录。
Timeout 60 设置响应超时,单位为秒
MaxClients 设置客户端连接数的最大值
KeepAlive Off 设置是否启用保持连接,建议使用On
MaxKeepAliveRequests 100 设置链接允许的请求数量,0为不限制
KeepAliveTimeout 5 设置相邻两个请求连接的时间间隔
Listen 80 设置监听端口
◼ 全局环境设置:
IncludeOptional conf.d/*.conf 设置包含文件
User apache 设置运行apache服务器的用户
Group apache 设置运行apache服务器的组
实验原理
◼ 主服务器设置:
ServerAdmin root@localhost 设置服务器管理员邮箱
ServerName url:80 设置Web服务器域名,也可用IP
DocumentRoot “/var/www/html” 设置web服务器根目录
DirectoryIndex index.html 设置web服务器默认首页名
Options Indexes FollowSymLinks Indexes找不到默认首页名时生
成当前目录的文件列表; FollowSymLinks允许访问符号链接
实验原理
◼ 主服务器设置:
AccessFileName .htaccess 设置保护目录的配置文件名称
ErrorLog “logs/error_log” 设置错误日志文件的保存位置
LogLevel info 设置日志记录等级
AddDefaultCharset UTF-8 设置服务器的编码格式
别名配置
❑ 别名可以将文档根目录(/var/www/html)以外的内容加入站
点,也称虚拟目录
❑ 配置语法:Alias /URL-path "/path/to/other/directory/“
❑ 示例:
Alias /manual "/var/www/manual“
Alias /ks /kickstart
虚拟主机
❑ 在一台Web服务器上,通过多个独立的IP地址、域名或端口
号提供不同的Web站点
❑ 基于IP地址的虚拟主机
❑ 基于域名的虚拟主机
❑ 基于端口的虚拟主机
基于IP的虚拟主机可以使用IP地址和域名访问
基于域名的虚拟主机只能使用域名访问
◼ 虚拟主机配置
NameVirtualHost ip:80 设置基于域名的虚拟主机
<VirtualHost ip:port>… </VirtualHost> 虚拟主机容器
容器内使用的指令:
❑ ServerName:指定虚拟主机的名称和端口号
❑ ServerAdmin:指定虚拟主机的管理员E-mail地址
❑ DocumentRoot:指定虚拟主机的根文档目录
❑ ErrorLog:指定虚拟主机的错误日志存放路径
❑ CustomLog:指定虚拟主机的访问日志存放路径
三、实验设备(环境)
电脑、vmware
四、实验内容(程序、步骤和方法等)
1.安装web服务
2.网络基础配置
(1)配置web服务器
wq 保存退出
systemctl restart network //重启
(2)配置客户机
3.修改主配置文件
[root@wangwei network-scripts]# vim /etc/httpd/conf/httpd.conf //修改主配置文件
[root@wyb network-scripts]# mkdir /home/www
[root@wyb network-scripts]# ll -d /home/www
drwxr-xr-x. 2 root root 6 12月 6 11:37 /home/www
[root@wyb network-scripts]# echo "This is wzqw's web!!!!!" > /home/www/wzqw.html
[root@wyb network-scripts]#
systemctl restart httpd //重启
setenforce 0
4.服务器配置 开启防火墙
[root@wangwei named]# firewall-cmd --zone=public --query-service=http
No
[root@wangwei named]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@wangwei named]# firewall-cmd --reload
Success
客户机配置
[root@wangwei ~]# vim /etc/hosts
5.虚拟目录配置
[root@wangwei network-scripts]# mkdir /virdir
[root@wangwei network-scripts]# echo "this is wzqw's test" > /virdir/index.html
[root@wangwei network-scripts]# cat /virdir/index.html
this is ww's test
[root@wangwei network-scripts]# vim /etc/httpd/conf/httpd.conf
[root@wangwei network-scripts]# systemctl restart httpd
6.虚拟主机设置
[root@wangwei network-scripts]# mkdir -p /var/www/html/www1 /var/www./html/www2
[root@wangwei network-scripts]# echo "This is ww's www1.web" > /var/www/html/www1/index.html
[root@wangwei network-scripts]# echo "This is ww's www2.web" > /var/www/html/www2/index.html
[root@wangwei network-scripts]# cat /var/www/html/ww1/index.html
cat: /var/www/html/ww1/index.html: 没有那个文件或目录
[root@wangwei network-scripts]# cat /var/www/html/www1/index.html
This is ww's www1.web
[root@wangwei network-scripts]# cat /var/www/html/www2/index.html
This is ww's www2.web
[root@wangwei network-scripts]#
[root@wangwei network-scripts]# systemctl restart httpd
配置客户机
[root@wangwei network-scripts]# vim /etc/hosts
重启网卡
systemctl restart network
五、测试
实验1:创建一个网站
服务器测试
客户机测试
客户机使用虚拟目录登录
实验2:创建基于域名的两个网站
客户机测试
六、实验结论(结果)
在客户机可以使用域名www.ww.com可以登录首页,显示首页内容This is ww’s web.还可以使用虚拟目录192.168.6.10/test登录首页,显示首页内容为this is ww’s test。使用www1.ww.com和www2.ww.com访问web网站,分别显示 This is ww’s www1.web 和This is ww’s www2.web内容。该实验配置完成,测试成功!
七、实验心得与小结
对于搭建和配置web服务器,一定要多次尝试、多次配置才能将各种配置命令熟记于心。还要学会命令补全技巧,例如进入ens33配置的命令,学会Tab键补全命令,可以节省时间。对于配置命令一定要认真仔细,不要拼写错误或者出现额外的标点和符号。有时候一个代码字符的出错就可能导致整个文件代开或者配置的错误。所以一定要更加的仔细和认真。
经过这次web服务器的搭建和配置,我更加了解到Web服务器与HTTP协议的相关知识,学习了Apache的相关知识,掌握Linux环境下Web服务器的基本配置方法。