httpd基本应用

httpd-2.4常见配置

主配置文件:/etc/httpd/conf/httpd.conf

###Section 1:Global Environment --全局环境配置

###Section2:'Main' server configuration --主服务器配置

###Section3:Virtual Hosts --虚拟主机配置 --2,3一般同时生效

配置格式:

directive value

directive:不区分字符大小写

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

常用配置:

1、修改监听的IP和PORT

Listen [IP-address:]portnumber [protocol]

1、省略IP表示为0.0.0.0

2、Listen指令可以重复出现多次

Listen 80

Listen 8080

3、修改监听socket,重启服务进程方可生效

4、限制其必须通过ssl通信时,protocol需要定义为https

2、持久连接

Persistent Connection:tcp连接建立后,每个资源获取完成后不全断开连接,而是继续等待其它资源请求的进行;

如何断开?

时间限制

数量限制 --无论先达到保持时间还是先超过最大数量都会立即断开

副作用:对并发访问量较大的服务器,长连接机制会使得后续某些请求无法得到正常响应

折衷:使用较短的持久连接时长,以及较少的请求数量

KeepAlive On|Off --启动|关闭长连接

KeepAliveTimeout 15 --保持15秒

MaxKeepAliveRequests 100 --保持连接时间内获取资源最大数量

注:

httpd -t 可以测试配置内容是否有语法错误

httpd-2.4的KeepAliveTimeout可以是毫秒级

KeepAliveTimeout num[ms]

3、MPM

httpd-2.4通过编辑/etc/httpd/conf.modules.d/00-mpm.conf --取消注释所选定的并重启服务

httpd-2.2不支持同时编译多个MPM模块,所以只能编译选定要使用的那个;CentOS 6的rpm包为此专门提供了三个应用程序文件

httpd(prefork),httpd.worker,httpd.event,分别用于实现对不同的MPM机制的支持;确认现在使用的是哪个程序文件的方法:

ps aux | grep httpd

默认使用的为/usr/sbin/httpd,其为prefork的MPM模块

查看httpd程序的模块列表:

查看httpd程序帮助:

#httpd -h

查看静态编译的模块:

#httpd -l

查看静态编译及动态编译的模块

#httpd -M --标记为static为静态 标记为shared为动态

更换使用httpd程序,以支持其他MPM机制

vim /etc/sysconfig/httpd

#HTTPD=/usr/sbin/httpd.event

#HTTPD=/usr/sbin/httpd.worker 去掉注释符更换

注:重启服务进程方可生效

MPM配置 --vim /etc/httpd/conf/httpd.conf

prefork的配置

<IfModule prefork.c> --满足程序模块为prefork.c才生效

StartServers 8 --启动后创建空闲进程的数量

MinSpareServers 5 --最少空闲进程数

MaxSpareServers 20 --最大空闲进程数 -注:最大空闲进程数应大于启动空闲数

ServerLimit 256 --生命周期内最大子进程数量

MaxClients 256 --最大子进程数量(最大并发请求数量) -ServerLimit和MaxClients相同

MaxRequestsPerChild 4000 --每个子进程最大处理进程数量 -进程处理完立即删除

</IfModule>

worker的配置:

<IfModule worker.c>

StartServers 4

MaxClients 300

MinSpareServers 25

MaxSpareServers 75

ThreadsPerChild 25 --每个子进程生成线程数 --4x25>75需减少一子进程

MaxRequestsPerChild 0 --0表示无限制,可一直处理

</IfModule>

PV,UV

PV:Page View

UV:User View

IP:

4、DSO

配置指定实现模块加载

LoadModule <mod_name> <mod_path> --模块名称① 模块路径

模块文件路径可使用相对路径:

相对于ServerRoot (默认/etc/httpd)

5、定义'Main' server的文档页面路径

ServerName --网站主机名

语法:ServerName [scheme://]fully-qualified-domain-name[:port]

DocumentRoot ""

文档路径映射:

DocumentRoot指向的路径为URL路径的起始位置

其相当于站点URL的根路径

URL PATH与FileSystem PATH不是等同的,而是存在一种映射关系;

URL / --> FileSystem /var/www/html

/images/logo.jpg --> /var/www/html/images/logo.jpg

 

注:

①模块名称可从httpd -l上查看;

如图所示,根据昵称可从 /etc/httpd/conf.modules.d/下查找相对应的配置文件 加上以及取消#号即可动态装卸载

posted @ 2019-04-25 16:00  tianchengde  阅读(214)  评论(0编辑  收藏  举报