HTTPD常用配置

httpd相关文件

配置文件

/etc/httpd/conf.d/*.conf
/etc/httpd/conf/httpd.conf
/etc/htpd/conf.modules.d/*.conf

日志文件目录

/etc/httpd/logs

模块文件目录

/etc/httpd/modules

启动脚本文件

/usr/lib/systemd/system/httpd.service

主进程

/usr/sbin/httpd

网页目录

/var/www/html

指令快速参考

http://httpd.apache.org/docs/2.4/ --> 指令快速参考

相关命令

-- 检查配置文件语法
httpd -t
-- 配置文件的有效配置
grep -Ev "^ *#|^$" /etc/httpd/conf/httpd.conf
-- 查看模块
httpd -M
httpd -l
-- 最多打开文件的个数
ulimit -a
	open files                      (-n) 1024
-- 设置最多打开文件的个数
ulimit -n 66666 
-- 网站测试工具
ab -c1000 -n 2000 http://192.168.43.17/m.txt //1000个并发,总共发起2000个
	Requests per second:    71.02 [#/sec] (mean) 一秒钟能处理的请求数量

模块的启用与禁用

只需要将 /etc/httpd/conf.modules.d/下的文件内容注释与用户

#LoadModule auth_basic_module modules/mod_auth_basic.so

配置文件参数解释

监听端口

Listen 80
Listen 192.168.43.17:80

当前主机的信息

ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full

按 F12-> Network -> 重新刷新 -> Name(IP) ->Headers -> Server:Apache/2.4.6 (CentOS)

持久连接

KeepAlive On|Off
KeepAliveTimeout 15

验证持久性
telnet 192.168.43.17 80
GET /index.html HTTP/1.1
host: 1.1.1.1 回车

MPM(Multi-Processing Modult)多路处理模块

prefork worker event

切换使用的MPM
/etc/httpd/conf.modules.d/00-mpm.conf
启用要启用的MPM相关的LoadModule指令即可
prefork 拿进程来提供用户服务,一个主进程带若干个子进程,每个子进程来响应单个用户的请求
worker 一个主进程带若干个子进程,每个子进程有若干个线程,以线程的方式给用户提供服务
event 是worker的变种,多了某个监控线程,当某个服务线程提供完服务,会交给监控线程
系统默认用的是prefork
注:centos6上用的模型切换只能重新编译,prefork,worker,event都是绑定在核心模块上的

prefork的配置

StartServers 8 //开启时默认的进程数为
MinSpareServers 5 //最小的空闲进程数为
MaxSpareServers 20 //最大的空闲进程数为
ServerLimit 256 //最多进程数,最大值为20000
MaxClients //最大进程连接数
// 每个子进程最大处理的请求数max,在处理max请求之后,子进程将会被父进程终止,这时子进程占用的内存会释放(0表示永远不释放)
MaxRequestsPerChild

worker的配置

ServerLimit
StartServers
MaxRequestWorkers
MinSpareThreads
MaxSpareThreads
ThreadsPerChild //每个子进程有多少个线程

网页存放的路径

DocumentRoot “path”

mkdir /data/html
DocumentRoot "/data/html"
<Directory "/data/html">
    Require all granted
</Directory>

访问网站的子目录(子目录不在网站的根目录下,其实是一个软链接)

mkdir /app/sportsdir -pv
echo /app/sportsdir/index.html > /app/sportsdir/index.html
cd /data/html/
ln -s /app/sportsdir/ sports
[client]# curl http://192.168.43.7/sports/
/app/sportsdir/index.html

网站的默认主页面

<IfModule dir_module>
DirectoryIndex index.html index.php //优先找 index.html index.php 系统的默认页面
</IfModule>

默认的错误页面

/etc/httpd/conf.d/welcome.conf
<LocationMatch “^/+$”>
Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>

站点访问控制

基于客户端来源地址

<Directory “/data/html”>
options Indexes FollowSymLinks //如果没有主页面或默认的主页面,就会显示这个目录下的列表
Require all granted
</Directory>

-- 将配置文件放在数据目录下命名为 .htaccess
vim /data/html/.htaccess 
options Indexes FollowSymLinks
-- 以上内容要想生效必须在配置文件中指定
<Directory "/data/html">
    Require all granted
    AllowOverride All // .htaccess中的内容全部生效
    AllowOverride Node // .htaccess中的内容全部无效
</Directory>

-- 文件系统路径 
<Directory “/path">
...
</Directory> 
<File “/path/file”>
...
</File> 
<FileMatch "PATTERN">
...
</FileMatch>
URL路径:
<Location "">
...
</Location> 
<LocationMatch "">
...
</LocationMatch>
-- *.com,cnf结尾的文件不允许访问
<Files "*.com">
    Require all denied
</Files>
<Filesmatch "\.cnf$">
    Require all denied
</Filesmatch>
Require all granted
Require all denied
Require ip IPADDR
Require not ip IPADDR
Require host HOSTNAME
Require not host HOSTNAME
HOSTNAME:
	FQDN:特定主机
	domin.tld:指定域名下的所有主机
<Directory "/data/html/beijing">
<requireall>
        require all granted
        require not ip 192.168.43.6
</requireall>
</Directory>

设置字符集

AddDefaultCharset UTF-8

ServerSignature on|off|email

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值