11.16/11.17 Apache默认虚拟主机

·一台服务器可以访问多个网站,每个网站都是一个虚拟主机

·概念:域名(主机名)、DNS、解析域名、hosts

·任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机


在win系统的C盘里hosts中修改解析地址:

【0509】LNMP 架构(中)_访问日志

查看能否ping通

【0509】LNMP 架构(中)_静态文件_02

访问 www.123.com,www.abc.com 可以看到其实就是访问 192.168.194.130

【0509】LNMP 架构(中)_域名跳转_03【0509】LNMP 架构(中)_访问日志_04

/usr/local/apache2.4/conf/httpd.conf中

ServerName是apache的默认虚拟主机

DocumentRoot

但是这样不太好管理,有时,有多个域名在同一个服务器上,并不希望指向这里

此时需要创建虚拟主机配置文件


·创建虚拟主机

httpd.conf 中找到 Virtual hosts,并取消注释

[root@arslinux-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf

【0509】LNMP 架构(中)_访问日志_05

配置了httpd-vhosts.conf,那么DocumentRoot 、ServerName 会失效

(htdocs 以及 DocumentRoot 、ServerName 不好管理,都不用了)


·编辑虚拟主机配置文件(可以定义多个ServerName):

[root@arslinux-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

【0509】LNMP 架构(中)_日志切割_06

这里是两对主机,也就是两个网站


·配置选项:

ServerAdmin 管理员邮箱,可删掉

DocumentRoot网站根目录★

ServerName域名★

ServerAlias 别名(可取多个)

ErrorLog 错误日志

CustomLog 访问日志

【0509】LNMP 架构(中)_静态文件_07

虚拟主机配置文件生效后,之前的默认虚拟主机 www.example.com:80 就会失效


·创建对应目录:

[root@arslinux-01 ~]# mkdir /data/wwwroot/
[root@arslinux-01 ~]# mkdir /data/wwwroot/abc.com
[root@arslinux-01 ~]# mkdir /data/wwwroot/111.com

·在abc.com中定义一个 php


[root@arslinux-01 ~]# vim /data/wwwroot/abc.com/index
<?php
echo "abc.com";

可不带结尾

·111.com中也定义一个php

[root@arslinux-01 ~]# vim /data/wwwroot/111.com/index.php
<?php
echo "111.com";

·检查配置文件

[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl graceful


·测试

如果没有在虚拟机中绑定hosts,那么在 ping www.abc.com 时会ping 到外网去,而不是本机
[root@arslinux-01 ~]# ping www.abc.com
PING abc.com (34.216.127.34) 56(84) bytes of data.
^C
--- abc.com ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4002ms


虚拟机hosts位置:/etc/hosts


这时可以用 curl -x 命令

[root@arslinux-01 ~]# curl -x192.168.194.130:80 abc.com
abc.com[root@arslinux-curl -x192.168.194.130:80 abcd.com
abc.com[root@arslinux-01 ~]# curl -x192.168.194.130:80 abcde.com
abc.com[root@arslinux-01 ~]#

结果显示了abc.com/index.php的内容,访问成功

同时,可以看出,在定义虚拟主机之前,访问任何网站,都是被指向到默认虚拟主机的,在定义了VirtualServer之后,所有网站都被指向了虚拟主机的第一个主机,这里就是 abc.com


[root@arslinux-01 ~]# curl -x192.168.194.130:80 www.example.com
111.com[root@arslinux-01 ~]#

在之前httpd.conf中定义的第二个虚拟主机,别名是www.example.com,也就是访问111.com


如果域名在域名配置中找不到,那么就会去找默认虚拟主机配置文件,例如www.111.com在配置文件中两个主机配置都没有这个域名或别名,因此直接找默认配置,也就是第一段,所以是abc.com


11.18 Apache用户认证

[root@arslinux-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

【0509】LNMP 架构(中)_日志切割_08

     

·参数说明:

<Directory /data/wwwroot/www.111.com>          //指定认证的目录

AllowOverride AuthConfig                                  //这个相当于打开认证的开关,无此行相当于未开启

AuthName "111.com user auth"                          //自定义认证的名字,作用不大

AuthType Basic                                                  //认证的类型,一般为Basic,其他类型不怎么用

AuthUserFile /data/.htpasswd                            //指定密码文件所在位置

require valid-user                                              //指定需要认证的用户为全部可用用户


·创建密码:

·创建用户及密码的方法:

/usr/local/apache2.4/bin/htpasswd [选项] 密码位置 创建的用户名

-c 创建

-m md5加密

/data/.htpasswd 密码位置


[root@arslinux-01 ~]# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd arslinux
New password:
Re-type new password:
Adding password for user arslinux
[root@arslinux-01 ~]# cat /data/.htpasswd
arslinux:$apr1$NNAyqqBA$jVas3UasYV12ltAy7klVJ.

·再次创建新用户就不用再使用 -c 选项了

[root@arslinux-01 ~]# /usr/local/apache2.4/bin/htpasswd -m /data/.htpasswd zhangsenna
New password:
Re-type new password:
Adding password for user zhangsenna
[root@arslinux-01 ~]# cat /data/.htpasswd
arslinux:$apr1$NNAyqqBA$jVas3UasYV12ltAy7klVJ.
zhangsenna:$apr1$TEt7.nLK$eV6dOOuuj6WuFZMEwHZmH.

·重新新加载,做测试

[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

[root@arslinux-01 ~]# curl -x192.168.194.130:80 111.com
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Unauthorized</title>
</head><body>
<h1>Unauthorized</h1>
<p>This server could not verify that you
are authorized to access the document
requested.  Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>
[root@arslinux-01 ~]# curl -x192.168.194.130:80 111.com -I
HTTP/1.1 401 Unauthorized
Date: Wed, 08 May 2019 15:14:09 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
WWW-Authenticate: Basic realm="111.com user auth"
Content-Type: text/html; charset=iso-8859-1

出现401错误,表示访问的内容需要做用户验证

先在win主机hosts中,192.168.194.130 后面添加www.111.com

【0509】LNMP 架构(中)_静态文件_09

输入之前创建的用户名和密码,实测可以成功登录


用 curl -u 用户名:密码 来验证

[root@arslinux-01 ~]# curl -x192.168.194.130:80 -uarslinux:12345678 111.com -I
HTTP/1.1 200 OK
Date: Wed, 08 May 2019 15:20:25 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
X-Powered-By: PHP/7.1.25
Content-Type: text/html; charset=UTF-8

也可以用 curl -x127.0.0.1:80 -uarslinux:7231131 111.com -I


·针对单个文件进行认证:

网站有各种敏感信息,那么可能对后台访问的进行二次认证,那么后台访问的地址,比如123.php,那么可以针对123.php做一个认证

更改vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf,指定匹配文件为123.php,一定不要忘记结尾处的</FilesMatch>

<FilesMatch admin.php>
AllowOverride AuthConfig
AuthName "123.com user auth"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</FilesMatch>

【0509】LNMP 架构(中)_访问日志_10

·创建一个123.php文件

[root@arslinux-01 ~]# vim /data/wwwroot/111.com/123.php
[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

·测试

[root@arslinux-01 ~]# curl -x127.0.0.1:80 111.com -I
HTTP/1.1 200 OK
Date: Wed, 08 May 2019 15:35:51 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
X-Powered-By: PHP/7.1.25
Content-Type: text/html; charset=UTF-8

[root@arslinux-01 ~]# curl -x127.0.0.1:80 111.com/123.php -I
HTTP/1.1 401 Unauthorized
Date: Wed, 08 May 2019 15:36:06 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
WWW-Authenticate: Basic realm="111.com user auth"
Content-Type: text/html; charset=iso-8859-1

[root@arslinux-01 ~]# curl -x127.0.0.1:80 -uarslinux:7231131 111.com/123.php -I
HTTP/1.1 200 OK
Date: Wed, 08 May 2019 15:36:23 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
X-Powered-By: PHP/7.1.25
Content-Type: text/html; charset=UTF-8

只有在访问 111.com/123.php 时才需要验证


11.19/11.20 域名跳转

域名转向:地址转向即将一个域名指向到另外一个已存在的站点,也叫做域名重定向

[root@arslinux-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

【0509】LNMP 架构(中)_域名跳转_11

<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.example.com 2111.com.cn
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^111.com$
RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L]
</IfModule>
ErrorLog "logs/111.com-error_log"
CustomLog "log/111.com-access_log" common
</VirtualHost>


·参数说明:

<IfModule mod_rewrite.c>                         //需要mod_rewrite模块支持

RewriteEngine on                                      //打开rewrite功能

RewriteCond %{HTTP_HOST} !^111.com$  //定义rewrite的条件,主机名(域名)不是111.com的话则满足条件

RewriteRule ^/(.*)$ 111.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行($1指第一个小括号的内容;301是永久重定向;L 表示只跳转一次)

</IfModule>


·改完配置文件,需要重新加载

测试之前,需要检查apache是否加载了 rewrite 模块

·让 rewrite 生效

[root@arslinux-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf

【0509】LNMP 架构(中)_静态文件_12

[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

·测试:

[root@arslinux-01 ~]# curl -x127.0.0.1:80 2111.com.cn
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.111.com/">here</a>.</p>
</body></html>
[root@arslinux-01 ~]# curl -x127.0.0.1:80 2111.com.cn -I
HTTP/1.1 301 Moved Permanently
Date: Thu, 09 May 2019 13:41:34 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
Location: http://www.111.com/
Content-Type: text/html; charset=iso-8859-1

出现的错误是301,那么访问的是2111.com.cn,实际连接的是www.111.com,已经发生了跳转


·常见错误代码:

200 用户名密码验证正确

301 永久跳转

302 临时跳转

401 用户名密码验证不正确

403 granted改为denied(/usr/local/apache2.4/conf/httpd.conf中)

404 页面不存在


11.21 Apache访问日志

每一次访问,每一次请求,在服务器上都会有日志

【0509】LNMP 架构(中)_静态文件_13

[root@arslinux-01 ~]# ls /usr/local/apache2.4/logs/
111.com-access_log  111.com-error_log  access_log  error_log  httpd.pid
[root@arslinux-01 ~]# cat /usr/local/apache2.4/logs/111.com-access_log
192.168.194.130 - - [08/May/2019:22:32:31 +0800] "GET HTTP://www.example.com/ HTTP/1.1" 200 7
127.0.0.1 - - [09/May/2019:21:41:11 +0800] "GET HTTP://2111.com.cn/ HTTP/1.1" 301 227
127.0.0.1 - - [09/May/2019:21:41:34 +0800] "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 -

不加 -I 的时候,是GET,加 -I 是HEAD


  • 定义格式:

格式可以在主配置文件 /usr/local/apache2.4/conf/httpd.conf 中去定义的

在 httpd.conf 中去搜索 LogFormat

[root@arslinux-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf

【0509】LNMP 架构(中)_域名跳转_14

Referer:浏览器上一次所访问的网址,该访问页面的日志的referer就是前一个浏览的网页地址

User-Agent用户代理,通过浏览器,通过curl去访问,去获得网站内容,浏览器就是用户代理


  • 更改格式类型,在虚拟主机配置文件中,将 common 改为 combined

[root@arslinux-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

【0509】LNMP 架构(中)_访问日志_15

[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl graceful


  • 再次查看日志中的 Referer 和 User-agent

[root@arslinux-01 ~]# cat /usr/local/apache2.4/logs/111.com-access_log

【0509】LNMP 架构(中)_域名跳转_16

referer和user-agent


11.22 访问日志不记录静态文件

·网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录

原因:如果不去限制,那么会消耗大量的磁盘空间和IO,而且这些文件无意义。


  • 更改配置文件,增加显示条件

[root@arslinux-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

【0509】LNMP 架构(中)_静态文件_17

在CustomLog之上加入内容,并且在CustomLog行加入!img,表示符合以上条件的都不加入到日志中

img可以用其他代替,只要和上方定义的名称一致即可,如下图

【0509】LNMP 架构(中)_访问日志_18


  • 测试

1、暂不重新加载配置,先连接一个.jpg 结尾的文件,之后查看日志

[root@arslinux-01 ~]# curl -x127.0.0.1:80 111.com/adsfa.jpg
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /adsfa.jpg was not found on this server.</p>
</body></html>
[root@arslinux-01 ~]# tail -1 /usr/local/apache2.4/logs/111.com-access_log
127.0.0.1 - - [09/May/2019:23:29:52 +0800] "GET HTTP://111.com/adsfa.jpg HTTP/1.1" 404 207 "-" "curl/7.29.0"

因为配置配生效,现在还没有过滤掉.jpg 结尾的文件


2.让配置生效,再连接 .jpg 结尾文件,查看日志

[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@arslinux-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@arslinux-01 ~]# curl -x127.0.0.1:80 111.com/ddddddddd.jpg -I
HTTP/1.1 404 Not Found
Date: Thu, 09 May 2019 15:32:59 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
Content-Type: text/html; charset=iso-8859-1
[root@arslinux-01 ~]# tail -1 /usr/local/apache2.4/logs/111.com-access_log
127.0.0.1 - - [09/May/2019:23:29:52 +0800] "GET HTTP://111.com/adsfa.jpg HTTP/1.1" 404 207 "-" "curl/7.29.0"
HTTP/1.1 404 Not Found
Date: Thu, 09 May 2019 15:52:04 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
Content-Type: text/html; charset=iso-8859-1
[root@arslinux-01 ~]# tail -1 /usr/local/apache2.4/logs/111.com-access_log
127.0.0.1 - - [09/May/2019:23:52:04 +0800] "HEAD HTTP://111.com/dddddddd.jpg1 HTTP/1.1" 404 - "-" "curl/7.29.0"

日志最后一条依然是之前访问的adsfa.jpg,不是 dddddddd.jpg,所以已经过滤成功了!


·我们访问 111.com中的一张图片,不会被记到日志中

[root@arslinux-01 111.com]# curl -x127.0.0.1:80 111.com/doge.gif -I
HTTP/1.1 200 OK
Date: Thu, 09 May 2019 15:57:10 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
Last-Modified: Wed, 19 Apr 2017 14:13:29 GMT
ETag: "2a44e3-54d85a0e67440"
Accept-Ranges: bytes
Content-Length: 2770147
Content-Type: image/gif
[root@arslinux-01 111.com]# tail -3 /usr/local/apache2.4/logs/111.com-access_log
192.168.194.1 - - [09/May/2019:22:38:54 +0800] "GET /123.php HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
127.0.0.1 - - [09/May/2019:23:29:52 +0800] "GET HTTP://111.com/adsfa.jpg HTTP/1.1" 404 207 "-" "curl/7.29.0"
127.0.0.1 - - [09/May/2019:23:52:04 +0800] "HEAD HTTP://111.com/dddddddd.jpg1 HTTP/1.1" 404 - "-" "curl/7.29.0"


·如果把配置文件中env=!img 去掉,那么日志将会重新记录原先不记录的访问进行记录

配置文件中先删除env=!img,在浏览器中访问 111.com/doge.gif,再查看日志

【0509】LNMP 架构(中)_访问日志_19

[root@arslinux-01 111.com]# tail -3 /usr/local/apache2.4/logs/111.com-access_log
127.0.0.1 - - [09/May/2019:23:29:52 +0800] "GET HTTP://111.com/adsfa.jpg HTTP/1.1" 404 207 "-" "curl/7.29.0"
127.0.0.1 - - [09/May/2019:23:52:04 +0800] "HEAD HTTP://111.com/dddddddd.jpg1 HTTP/1.1" 404 - "-" "curl/7.29.0"
192.168.194.1 - - [10/May/2019:00:02:59 +0800] "GET /doge.gif HTTP/1.1" 200 2770147 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"


异常汇总:

如果访问后,没有日志写入该url的日志里,那么可以先重新加载一下配置,再试

如果还不行,看下日志最后的定义日志位置处有没有写错位置


11.23 访问日志切割

日志一直记录总有一天会把整个磁盘占满,所以有必要让它自动切割,并删除老的日志文件

作用:防止磁盘写满,方便日志管理

需要用到 apache 自带的 rotatelogs 切割工具


  • 配置参数

[root@arslinux-01 111.com]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

【0509】LNMP 架构(中)_域名跳转_20

[root@arslinux-01 111.com]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@arslinux-01 111.com]# /usr/local/apache2.4/bin/apachectl graceful


CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img

|/usr/local/apache2.4/bin/rotatelogs          rotatelogs工具

-l                                                              以当前系统时间为基准,不然就以UTC为基准,中国是CST

logs                                                          logs目录下

111.com-access_%Y%m%d.log                  文件名 年 月 日

86400                                                          规定切割时间,单位是秒,86400是一天


  • 测试

方位111.com/123.php,会生成以日期为名称的日志文件

[root@arslinux-01 111.com]# ls /usr/local/apache2.4/logs/
111.com-access_log  111.com-error_log  123.com-access_log  access_log  error_log  httpd.pid
[root@arslinux-01 111.com]# curl -x127.0.0.1:80 111.com/123.php -I
HTTP/1.1 200 OK
Date: Thu, 09 May 2019 16:23:50 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
X-Powered-By: PHP/7.1.25
Content-Type: text/html; charset=UTF-8
[root@arslinux-01 111.com]# ls /usr/local/apache2.4/logs/
111.com-access_20190510.log  111.com-error_log   access_log  httpd.pid
111.com-access_log           123.com-access_log  error_log

·新生成的日志中,有最近的访问记录

[root@arslinux-01 111.com]# cat /usr/local/apache2.4/logs/111.com-access_20190510.log
127.0.0.1 - - [10/May/2019:00:23:50 +0800] "HEAD HTTP://111.com/123.php HTTP/1.1" 200 - "-" "curl/7.29.0"


11.24 静态元素过期时间

·浏览器访问网站的图片时会把静态的文件缓存在本地电脑里,这样下次再访问时就不用去远程下载了

我们可以在配置问价中加入 IfModule 模块来实现

<IfModule mod_expires.c>
ExpiresActive on  //打开该功能的开关
ExpiresByType image/gif  "access plus 1 days"
ExpiresByType image/jpeg "access plus 24 hours"
ExpiresByType image/png "access plus 24 hours"
ExpiresByType text/css "now plus 2 hour"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
</IfModule>


  • 编辑配置文件

[root@arslinux-01 111.com]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

【0509】LNMP 架构(中)_用户认证_21

以上过期时间都可以根据实际情况更改


  • 加载配置文件

[root@arslinux-01 111.com]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@arslinux-01 111.com]# /usr/local/apache2.4/bin/apachectl graceful
  • 查看 expire 模块有没有打开,没有的话编辑主配置文件,打开 expires.so

[root@arslinux-01 111.com]# /usr/local/apache2.4/bin/httpd -M |grep expire
[root@arslinux-01 111.com]# vim /usr/local/apache2.4/conf/httpd.conf

【0509】LNMP 架构(中)_域名跳转_22

[root@arslinux-01 111.com]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@arslinux-01 111.com]# /usr/local/apache2.4/bin/apachectl graceful
[root@arslinux-01 111.com]# /usr/local/apache2.4/bin/httpd -M |grep expire
expires_module (shared)

模块已打开


  • 测试

[root@arslinux-01 111.com]# curl -x127.0.0.1:80 111.com/doge.gif -I
HTTP/1.1 200 OK
Date: Thu, 09 May 2019 16:53:51 GMT
Server: Apache/2.4.39 (Unix) PHP/7.1.25
Last-Modified: Wed, 19 Apr 2017 14:13:29 GMT
ETag: "2a44e3-54d85a0e67440"
Accept-Ranges: bytes
Content-Length: 2770147
Cache-Control: max-age=86400
Expires: Fri, 10 May 2019 16:53:51 GMT
Content-Type: image/gif

可以看到缓存的有效时长,以及过期时间

过期时间和当前时间相差 1 天

信息表明缓存最大保存时间以及失效GMT格林尼治时间,和北京时间8小时时差

只有在打开expire模块时才能看到此信息



课堂笔记

1、目前阶段遇到问题,你的心态

2、解决问题方法论

3、apache2编译安装的另外一个方法:

下载apr-1.6,apr-util-1.6以及http-2.4,分别解压三个源码包

把apr-1.6.3放到httpd源码包的/sclib/下改名apr

把apr-util-1.6.1 放到httpd源码包/srclib/下,改名apr-util4)编译参数./configure --prefix=/dir/ --enable-so --enable-mpms-shared=all --with-mpm=event --enable-mods-shared=most --with-included-apr

说明:这里的/dir/为apache安装路径,根据需求定目录

apache的一些学习文档:https://github.com/aminglinux/apache