一、Apache:
阿帕奇,企业中常用的web服务,开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛关注,是最流行的web服务器端软件之一。
二、HTTP协议:
1.基于应用层的面向对象的超文本传输协议,是基于TCP/IP通信协议来传递数据的,
2.特点:客户/服务器模式,简单快捷,灵活,五状态,无连接。
3.包含请求和响应:请求包含请求行、消息报头、请求正文,响应包含状态行、消息报头、响应正文。
(1)消息报头:通用报头,请求报头,响应报头,实体报头
(2)状态行:200成功,403接到请求,但是拒绝,404输入错误,500服务器发生不可预期的错误
4.工作原理:
(1)浏览器向DNS服务器请求解析改URL中的域名所对应的ip地址
(2)根据ip地址和默认端口号80和服务器建立TCP连接
(3)浏览器发出读取文件的HTTP请求
(4)该请求报文作为TCP三次握手的第三个报文的数据发送给服务器
(5)服务器对浏览器请求作出响应,并把对应的html文本发送给浏览器
(6)释放TCP连接
(7)浏览器将该html显示
5.HTTP方式:
(1)GET:请求指定的页面信息,并返回实体主体
(2)HEAD:获取报头
(3)POST:向指定资源提交数据进行处理要求,会导致新的资源的建立或已有资源的修改
(4)PUT:从客户端向服务器传送的数据取代指定文档的内容
(5)DELETE:请求服务器删除指定页面
三、Apache的安装部署:
yum install httpd -y 安装apache软件
yum install httpd-manual 安装apache的手册
systemctl start httpd
systemctl enable httpd
firewall-cmd --list-all
firewall-cmd --permanent --add-service=http
firewall-cmd --reloadcd /var/www/html/index.html
vim /var/www/html/index.html<h1> hello world </h1>
测试:
http://172.25.254.123
http://172.25.254.123/manual
四、apache的基础信息:
rpm -qc httpd 查看httpd的配置文件
1.主配置目录 /etc/httpd/conf
主配置文件 /etc/httpd/conf/httpd.conf
2.子配置目录 /etc/httpd/conf.d
子配置文件 /etc/httpd/conf.d/*.conf
3.默认发布目录/var/www/html
4.默认发布文件 index.html
5.默认端口 80
6.默认安全上下文 httpd_sys_content_t
7.程序开启默认用户 apache
8.Apache日志 /etc/httpd/logs/*
五、修改默认端口:
vim /etc/httpd/conf/httpd.conf
43 Listen 8080
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
netstat -antlupe | grep 8080systemctl restart httpd
六、修改默认发布文件:可以指定多个,有访问顺序:
vim /etc/httpd/conf/httpd.conf
DirectoryIndex index.html test.html 当index.html不存在时访问test.html
七、修改默认发布目录:
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/www/html" <Directory "/www"> Require all granted </Directory>
八、apache的访问控制:
1.允许某些ip登录,禁止某些ip登录
mkdir /var/www/html/xautcd /var/www/html/xaut
vim index.html
hello xaut
vim /etc/httpd/conf/httpd.conf<Directory "/var/www/html/xaut"> Order Deny,Allow Allow from All Deny from 172.25.254.123 </Directory>
systemctl restart httpd.service2.生成xautuser文件,指定某个或某些用户可以登陆
htpasswd -cm xautuser admin #xautuser为文件名,admin为文件里面的一个用户
htpasswd -m xautuser admin1 #建立用户admin1(有了xautuser文件后,就不需要添加-c参数,不然会覆盖到原有参数)
vim /etc/httpd/conf/httpd.conf<Directory "/var/www/html/xaut"> AuthUserFile /etc/httpd/conf/xautuser AuthType basic AuthName "Please input your name and password!" Require valid-user 只有在文件xuatuser里面的用户可以访问http:// Require user admin 只有admin可以访问http:// </Directory>
systemctl restart httpd.service
九、apache的虚拟主机:一台主机发布多个页面
vim /etc/hosts 编辑本地解析文件,访问这些域名就相当于访问同一个ip
172.25.254.123 www.xaut.com news.xaut.com music.xaut.com login.xaut.com
mkdir /var/www/virtual/news/html -p 递归建立两个目录
mkdir /var/www/virtual/music/html -p
vim /var/www/virtual/new/html/index.html
<h1>news</h1>
vim /var/www/virtual/music/html/index.html
<h1>music</h1>
cd /etc/httpd/conf.d/ 切换到子配置文件
vim a_default.conf 编辑默认文件
<Virtualhost _default_:80> DocumentRoot /var/www/html CustomLog logs/default.log combined 把所有日志整合在一起 </Virtualhost>
vim news.conf 编辑news.xaut.com 域名的文件
<VirtualHost *:80> ServerName news.xaut.com DocumentRoot /var/www/virtual/news/html CustomLog logs/news.log combined </VirtualHost> <Directory "/var/www/html/news/html"> Require all granted </Directory>
vim music.conf 编辑music.xaut.com域名的文件
<VirtualHost *:80> ServerName music.xaut.com DocumentRoot /var/www/virtual/music/html CustomLog logs/music.log combined </VirtualHost> <Directory "/var/www/html/music/html"> Require all granted </Directory>
news.xaut.com 在浏览器上不同的域名输出的页面不一样,输出指定页面
music.xaut.com