(四 ) httpd.conf 配置(重点)状态页,实现虚拟主机(基于ip,FQDN)

本文详细介绍了Apache Httpd的配置,包括服务器名设定、配置文件包含、显示服务器版本信息、监听IP和端口、持久连接、DSO模块、MPM多处理模块、文档根目录、站点主页面、访问控制、目录URL访问控制、IP访问控制、日志设定、字符集、路径别名、用户访问控制、虚拟主机(基于IP和FQDN)以及压缩设置。重点讨论了状态页面的实现和虚拟主机配置方法。
摘要由CSDN通过智能技术生成

五. Httpd 常见配置

过滤

grep  -v "^ *#" /etc/httpd/conf/httpd.conf

用这个就可以查看到上次grep的结果
在这里插入图片描述

备份

cp /etc/httpd/conf/httpd.conf{
   ,.bak}

httpd配置文件的组成
Global Environment
Main server configuration
virtual host
配置格式:directive value 指令+值

directive    不区分字符大小写
value        为路径时,是否区分大小写,取决于文件系统

官方帮助
http://httpd.apache.org/docs/2.4/在参考手册—指令快速搜索中

指定服务器名

[root@centos8 ~]#vim /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80
servername www.qcq.org 


[root@centos8 ~]#httpd -t
Syntax OK

包含其它配置文件

Include和IncludeOptional功能相同,都可以包括其它配置文件
但是当无匹配文件时,include会报错,IncludeOptional忽略错误

vim /etc/httpd/conf/httpd.conf

#Include file-path|directory-path|wildcard
#IncludeOptional file-path|directory-path|wildcard
Include conf/vhosts/*/*.conf
IncludeOptional conf/vhosts/*/*.conf

1. 显示服务器版本信息

ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
ServerTokens Prod[uctOnly]Server: Apache
ServerTokens Major: Server: Apache/2
ServerTokens Minor: Server: Apache/2.0
ServerTokens Min[imal]: Server: Apache/2.0.41
ServerTokens OS: Server: Apache/2.0.41 (Unix)
ServerTokens Full (or not specified): Server: Apache/2.0.41 (Unix)

-I只看响应头
在这里插入图片描述
为了安全隐藏版本信息:
prod和productonly一样
建议使用:ServerTokens Prod
在这里插入图片描述

在这里插入图片描述
禁止错误网页版本泄露

ServerSignature On | Off | EMail

默认值Off,如果ServerTokens 使用默认值,并且ServerSignature选项为on,当客户请求的网页并不存
在时,服务器将产生错误文档,错误文档的最后一行将包含服务器名字、Apache版本等信息,如果不
对外显示这些信息,就可将这个参数设置为Off, 如果设置为Email,将显示ServerAdmin 的Email提示

ServerSignature on

在这里插入图片描述
禁止trace方法
默认on,基于安全风险,建议关闭

TraceEnable [on|off|extended]

2. 修改监听的IP和Port

Listen [IP:]PORT
(1) 省略IP表示为本机所有IP
(2) Listen指令至少一个,可重复出现多次
Listen 80
Listen 8080

例如:将htpd服务的监听端口绑定为指定ip才能访问

listen IP 端口
listen 192.168.245.12880

同时也可以绑定多个端口
也就是一个主机可以做多个网站—但是用虚拟主机技术

3.持久连接keepalive

Persistent Connection:连接建立,每个资源获取完成后不会断开连接,而是继续等待其它的请求完成,默认关闭持久连接
断开条件:时间限制:以秒为单位, 默认5s,httpd-2.4 支持毫秒级
副作用:对并发访问量大的服务器,持久连接会使有些请求得不到响应
httpd1.1默认开启
折衷:使用较短的持久连接时间
设置:

KeepAlive On
KeepAliveTimeout  15      #连接持续15s,可以以ms为单位,默认值为5s
MaxKeepAliveRequests 500  #持久连接最大接收的请求数,默认值100

可以自己调整
在这里插入图片描述

测试:用命令模拟浏览器

telnet 192.168.245.129 80
GET /URL HTTP/1.1
Host: WEB_SERVER_IP

在这里插入图片描述

4. DSO: Dynamic Shared Object 动态加载模块

加载动态模块配置,不需重启即生效

/etc/httpd/conf/httpd.conf
Include conf.modules.d/*.conf    这些文件都会自动加载

配置指定实现模块加载格式:
也就是在/etc/httpd/conf.moudle.d/00-base.conf文件中会指定加载的模块

LoadModule <mod_name> <mod_path>
            模块名      相对路经

在这里插入图片描述

模块文件路径可使用相对路径:相对于ServerRoot(默认/etc/httpd)
示例:

 LoadModule auth_basic_module modules/mod_auth_basic.so
                

动态模块路径: /usr/lib64/httpd/modules/
查看静态编译的模块(不能人工卸载—只能在编译时确定)
httpd -l
查看静态编译及动态装载的模块
httpd –M

5. MPM( Multi-Processing Module)多处理模块

prefork, worker, event
切换使用的MPM
/etc/httpd/conf.modules.d/00-mpm.conf
启用要启用的MPM相关的LoadModule指令即可
想要启动那个模块----j昂那个模块的注释 去掉,并注释其他的模块
在这里插入图片描述
查看CentOS默认的MPM工作模式

httpd -M |grep mpm

可以用ab命令 压力测试来测试三个mpm的性能(一个模块要测多次)
在这里插入图片描述
一秒钟能处理多少个请求
在这里插入图片描述

prefork的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值