一:简述
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。(我们称这个客户端)叫用户代理(user agent)。应答的服务器上存储着(一些)资源,比如HTML文件和图像。(我们称)这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnels)。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。 事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。
通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。
HTTP使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。
通过HTTP或者HTTPS协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。
我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。
二:实验简述
LAMP是web服务的最基础的组合方式,本系列将介绍一下关于LAMP组合的各种部署方式,包括:
基于RPM包的实现:
httpd与php结合的方式为module,也就是php作为httpd的模块方式提供服务
httpd与php结合的方式为fastcgi,也就是php工作为独立的进程,与httpd之间利用fastcgi协议提供服务
基于编译安装实现:
httpd与php结合的方式为module,也就是php作为httpd的模块方式提供服务
httpd与php结合的方式为fastcgi,也就是php工作为独立的进程,与httpd之间利用fastcgi协议提供服务
本篇就展示一下利用rpm包,php与httpd结合的方式为module方式
包含了LAMP的安装
httpd虚拟主机的配置(基于IP、基于端口、基于主机名)
httpd基于basic认证
httpd基于IP的访问控制
httpd的status页面的配置
httpd的路径别名的配置
环境说明
使用centos7系统
利用yum安装相关软件包
搭建好yum源仓库和配置好DNS
为了避免在试验过程中出现其它问题,先把防火墙(iptables)清空,SElinux设置为disabled
第一部分: RPM包安装LAMP相关软件,进行简单配置
1、安装http、php、mariadb-server、php-mysql
httpd作为web服务器
mariadb-server作为数据库服务器
php当httpd与module结合时,使用的软件包(如果利用fastcgi结合,则需要安装php-fpm)
php-mysql php连接时mysql数据库时的扩展模块
2、修改httpd的配置文件和mariadb配置文件
修改httpd的配置文件,让其能够正常启动
[root@CentOS 7 ~]#vim /etc/httpd/conf/httpd.conf
修改mariadb的配置文件,让其能够正常启动
[root@CentOS 7 ~]#vim /etc/my.cnf
3,对mysql进行简单配置,增强其安全性,创建并授权账号,供php连接使用
在第一次启动数据库时,建议使用 mysql_secure_installnation(安全配置向导)进行安全相关的初始化设定,增强mysql的安全性
创建某用户账号,用于让php进行连接数据库使用
提供测试页,进行测试
二,httpd相关配置显示
1,配置基于IP的虚拟机主机
先为本机添加IP
编辑配置文件
vim /etc/httpd/conf/httpd.conf (DocumentRoot:网站根目录)
为不同的虚拟主机提供不同的测试页
mkdir /testdir/{www1,www2}
检查配置文件的语法是否有误,无误就重启服务,然后进行测试
配置基于PORT的虚拟主机
修改配置文件
vim /etc/httpd/conf/httpd.conf
添加一项:
Listen 80
Listen 8080
vim /etc/httpd/conf.d/vhost.conf
在主配置文件里修改了端口、网页根路径时,都要重启服务
httpd -t
systemctl restart httpd.service
配置基于主机名称的虚拟主机
修改httpd配置文件
检查配置文件语法错误,重启httpd服务
修改测试主机的host文件,让其对www.a.com和www.b.com都能解析到10.1.50.66主机上,然后进行测试
WindowsDNS文件路径:C盘/windows/system32/driver/etc/hosts
4,配置基于basic认证的用户认证
修改httpd配置文件
创建认证文件
提供对应的测试页面,重载配置文件,进行测试
5、配置基于IP的访问控制机制
修改httpd的配置文件
vim /etc/httpd/conf.d/vhost.conf
检查配置文件语法,然后重载配置文件,进行测试
6、基于httpd状态页面的配置
修改heepd配置文件
vim /etc/httpd/conf.d/vhost.conf
修改完配置参数,检查语法是否有语法错误,重载配置文件
7,配置路径别名
修改httpd配置文件
vim /etc/httpd/conf.d/vhost.conf
在/aaa/bbb下提供测试页面,检查httpd配置语法,重载文件