Apache 服务器参数设置
主配置文件全局参数
辅配置文件全局参数
ServerRoot: 用于指定apache服务器的配置文件及日志文件存放的根目录,服务器的基础目录。
Listen: 监听指令,地址,协议或者端口
Listen: 80
Listen: 192.168.1.40:80
Listen: 192.168.1.40:80 https
LoadModule 模块名称 模块文件路径全名
LoadModule php5_module mopdules/libphp5.so
主配置文件LoadModule 配置详解:
1 #如果需要提供基于文本文件的认证,加载此模块,否则注释掉
LoadModule authn_file_module modules/mod_authn_file.so(建议打开)
2 #如果需要提供基于DBM文件的认证,加载此模块,否则注释掉
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
3 #如果需要提供匿名用户认证,加载此模块,否则注释掉
#LoadModule authn_anon_module modules/mod_authn_anon.so
4 #如果需要提供基于SQL数据库的认证,加载此模块,否则注释掉
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
5 #如果需要在未正确配置认证模块的情况下简单拒绝一切认证信息,加载此模块,否则注释掉
LoadModule authn_default_module modules/mod_authn_default.so
6 #此模块提供基于主机名、IP地址、请求特征的访问控制,Allow、Deny指令需要
LoadModule authz_host_module modules/mod_authz_host.so(建议打开)
7 #此模块提供了核心授权功能,通过身份验证的用户可以允许或拒绝访问部分网站。mod_authz_core各种授权提供程序提供了注册的功能。
它通常是与身份验证提供者模块一起使用,如mod_authn_file mod_authz_user等和授权模块。它还允许高级逻辑应用于授权处理
LoadModule authn_core_module modules/mod_authn_core.so(建议打开)
8 #此模块可以缓存授权,不必要每一次授权请求都在请求一次后台
LoadModule authn_socache_module modules/mod_authn_socache.so
9 #如果需要使用纯文本文件为组提供授权支持,加载此模块,否则注释掉
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so(建议打开)
10 #如果需要提供基于每个用户的授权支持,加载此模块,否则注释掉
LoadModule authz_user_module modules/mod_authz_user.so
11 #如果需要使用DBM文件为组提供授权支持,加载此模块,否则注释掉
LoadModule authz_dbm_module modules/mod_authz_dbm.so
12 #如果需要基于文件的所有者进行授权,加载此模块,否则注释掉
LoadModule authz_owner_module modules/mod_authz_owner.so
13 #此模块给用户授权查询SQL 表
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
14 #此模块跟authn_core_module差不多,比它允许应用更高级的逻辑
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
15 #如果需要提供基本的HTTP认证,加载此模块,否则注释掉,此模块至少需要同时加载一个认证支持模块和一个授权支持模块
LoadModule auth_basic_module modules/mod_auth_basic.so
16 表单授权
#LoadModule auth_form_module modules/mod_auth_form.so
17 # 使用MD5 Digest 授权的用户授权模块
#LoadModule auth_digest_module modules/mod_auth_digest.so
18 # 限制在服务器上使用HTTP 方法
#LoadModule allowmethods_module modules/mod_allowmethods.so
19 # 内存中缓存的静态的文件列表
#LoadModule file_cache_module modules/mod_file_cache.so
20 #基于Http 缓存过滤器的存储模块
#LoadModule cache_disk_module modules/mod_cache_disk.so
21 #基于Http 缓存过滤器的存储模块的共享对象
#LoadModule cache_socache_module modules/mod_cache_socache.so
22 # 基于shmcb的缓存模块
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
23 # 基于DBM 的缓存模块
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
24 #基于共享对象的memcache配置模块
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
25# 管理SQL 数据连接
#LoadModule dbd_module modules/mod_dbd.so
26 # dump 所有I/O 到错误日志
#LoadModule dumpio_module modules/mod_dumpio.so
27 #支持请求缓冲
#LoadModule buffer_module modules/mod_buffer.so
28 #限制客户端的带宽比率
#LoadModule ratelimit_module modules/mod_ratelimit.so
29 # 设置接受请求的timeout 和最小数据比率
LoadModule reqtimeout_module modules/mod_reqtimeout.so
30 #Pass the response body through an external program before delivery to the client
#LoadModule ext_filter_module modules/mod_ext_filter.so
31 # 过滤处理和使得http 请求body有效
#LoadModule request_module modules/mod_request.so
32 #如果需要实现服务端包含文档(SSI)处理,加载此模块(不推荐),否则注释掉
#LoadModule include_module modules/mod_include.so
33 #针对上下文更加灵活的过滤配置模块
LoadModule filter_module modules/mod_filter.so
34 #执行搜索和替换操作针对响应体
#LoadModule substitute_module modules/mod_substitute.so
35 #过滤请求和响应内容通过sed
#LoadModule sed_module modules/mod_sed.so
36 #如果需要服务器在将输出内容发送到客户端以前进行压缩以节约带宽,加载此模块(推荐),否则注释掉
LoadModule deflate_module modules/mod_deflate.so(建议打开)
37 #如果需要根据文件扩展名决定应答的行为(处理器/过滤器)和内容(MIME类型/语言/字符集/编码),加载此模块,否则注释掉
LoadModule mime_module modules/mod_mime.so(建议打开)
38 #如果需要记录日志和定制日志文件格式,加载此模块(推荐),否则注释掉
LoadModule log_config_module modules/mod_log_config.so(建议打开)
39 # 此模块用于打开debug 信息
#LoadModule log_debug_module modules/mod_log_debug.so(建议打开)
40 #LoadModule authz_owner_module modules/mod_authz_owner.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
User and Group:
USer: 用户名
Group: 组名称
ServerAdmin web服务器管理员的邮箱地址(nicky@gmail.com )
DocumentRoot "/usr/local/apache/htdocs
ServerName www.example.com:80
ErrorLog 指定错误日志
http-default.conf
Timeout: 300
1 接收Get请求所花费总时间量
2 POST/PUT 请求时发送TCP包给服务器端的时间间隔
3 响应时发送TCP数据包的时间间隔
所以,就算timeout设置成1s,只要服务器每隔不超过1s的时间就发送一些数据到客户端,服务器处理请求时间完全可以超过1s。所以更多的是限制这个间隔时间,而不是通信时间总和,所以有的请求超过了
timeout时间,依旧没有断开连接。
KeepAlive: on 保持用户请求连接,什么意思呢?当用户发起一次请求,apache服务器并不马上断开连接,让一个连接可以处理多个Http请求,这样对于客户端来说,可以提高50%左右的响应时间,而对于服
务器端,也可以降低多个连接的开销。这个取决于客户端是否想保持连接。如果要保持,我们需要保持多长时间呢?这又涉及到另外一个参数KeepAliveTimeout 。
MaxKeepAliveRequests: 100 一次持久连接可以进行的HTTP请求最大请求次数。
KeepAliveTimeout 5: 连接持久保持的时间
如果想保持长久连接 持久时间10s 每一次连接能处理最大请求数为200
KeepAlive on;
KeepAliveTimeout 10;
MaxKeepAliveRequests 200;
http-mpm.conf: 多路功能模块
<IfModule mpm_prefork_module>
StartServers 5 服务器启动时默认启动子进程,当时取决于负载的情况 如果请求较多的话,可能创建一些空闲子进程
MinSpareServers 5 当当前子进程已经用完,还有请求进来,那么创建不少于5个的空闲子进程
MaxSpaceServers 10 最大的空闲子进程,如果多余这个数,那么会杀掉一些子进程,最多保留10个空闲子进程
MaxClients 150 并发的请求数量
MaxReuqestPerChild 0 每个子进程在连接的期间最多所允许的请求数,如果为0,那么永久不会结束
</IfModule>
主配置文件全局参数
辅配置文件全局参数
ServerRoot: 用于指定apache服务器的配置文件及日志文件存放的根目录,服务器的基础目录。
Listen: 监听指令,地址,协议或者端口
Listen: 80
Listen: 192.168.1.40:80
Listen: 192.168.1.40:80 https
LoadModule 模块名称 模块文件路径全名
LoadModule php5_module mopdules/libphp5.so
主配置文件LoadModule 配置详解:
1 #如果需要提供基于文本文件的认证,加载此模块,否则注释掉
LoadModule authn_file_module modules/mod_authn_file.so(建议打开)
2 #如果需要提供基于DBM文件的认证,加载此模块,否则注释掉
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
3 #如果需要提供匿名用户认证,加载此模块,否则注释掉
#LoadModule authn_anon_module modules/mod_authn_anon.so
4 #如果需要提供基于SQL数据库的认证,加载此模块,否则注释掉
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
5 #如果需要在未正确配置认证模块的情况下简单拒绝一切认证信息,加载此模块,否则注释掉
LoadModule authn_default_module modules/mod_authn_default.so
6 #此模块提供基于主机名、IP地址、请求特征的访问控制,Allow、Deny指令需要
LoadModule authz_host_module modules/mod_authz_host.so(建议打开)
7 #此模块提供了核心授权功能,通过身份验证的用户可以允许或拒绝访问部分网站。mod_authz_core各种授权提供程序提供了注册的功能。
它通常是与身份验证提供者模块一起使用,如mod_authn_file mod_authz_user等和授权模块。它还允许高级逻辑应用于授权处理
LoadModule authn_core_module modules/mod_authn_core.so(建议打开)
8 #此模块可以缓存授权,不必要每一次授权请求都在请求一次后台
LoadModule authn_socache_module modules/mod_authn_socache.so
9 #如果需要使用纯文本文件为组提供授权支持,加载此模块,否则注释掉
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so(建议打开)
10 #如果需要提供基于每个用户的授权支持,加载此模块,否则注释掉
LoadModule authz_user_module modules/mod_authz_user.so
11 #如果需要使用DBM文件为组提供授权支持,加载此模块,否则注释掉
LoadModule authz_dbm_module modules/mod_authz_dbm.so
12 #如果需要基于文件的所有者进行授权,加载此模块,否则注释掉
LoadModule authz_owner_module modules/mod_authz_owner.so
13 #此模块给用户授权查询SQL 表
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
14 #此模块跟authn_core_module差不多,比它允许应用更高级的逻辑
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
15 #如果需要提供基本的HTTP认证,加载此模块,否则注释掉,此模块至少需要同时加载一个认证支持模块和一个授权支持模块
LoadModule auth_basic_module modules/mod_auth_basic.so
16 表单授权
#LoadModule auth_form_module modules/mod_auth_form.so
17 # 使用MD5 Digest 授权的用户授权模块
#LoadModule auth_digest_module modules/mod_auth_digest.so
18 # 限制在服务器上使用HTTP 方法
#LoadModule allowmethods_module modules/mod_allowmethods.so
19 # 内存中缓存的静态的文件列表
#LoadModule file_cache_module modules/mod_file_cache.so
20 #基于Http 缓存过滤器的存储模块
#LoadModule cache_disk_module modules/mod_cache_disk.so
21 #基于Http 缓存过滤器的存储模块的共享对象
#LoadModule cache_socache_module modules/mod_cache_socache.so
22 # 基于shmcb的缓存模块
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
23 # 基于DBM 的缓存模块
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
24 #基于共享对象的memcache配置模块
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
25# 管理SQL 数据连接
#LoadModule dbd_module modules/mod_dbd.so
26 # dump 所有I/O 到错误日志
#LoadModule dumpio_module modules/mod_dumpio.so
27 #支持请求缓冲
#LoadModule buffer_module modules/mod_buffer.so
28 #限制客户端的带宽比率
#LoadModule ratelimit_module modules/mod_ratelimit.so
29 # 设置接受请求的timeout 和最小数据比率
LoadModule reqtimeout_module modules/mod_reqtimeout.so
30 #Pass the response body through an external program before delivery to the client
#LoadModule ext_filter_module modules/mod_ext_filter.so
31 # 过滤处理和使得http 请求body有效
#LoadModule request_module modules/mod_request.so
32 #如果需要实现服务端包含文档(SSI)处理,加载此模块(不推荐),否则注释掉
#LoadModule include_module modules/mod_include.so
33 #针对上下文更加灵活的过滤配置模块
LoadModule filter_module modules/mod_filter.so
34 #执行搜索和替换操作针对响应体
#LoadModule substitute_module modules/mod_substitute.so
35 #过滤请求和响应内容通过sed
#LoadModule sed_module modules/mod_sed.so
36 #如果需要服务器在将输出内容发送到客户端以前进行压缩以节约带宽,加载此模块(推荐),否则注释掉
LoadModule deflate_module modules/mod_deflate.so(建议打开)
37 #如果需要根据文件扩展名决定应答的行为(处理器/过滤器)和内容(MIME类型/语言/字符集/编码),加载此模块,否则注释掉
LoadModule mime_module modules/mod_mime.so(建议打开)
38 #如果需要记录日志和定制日志文件格式,加载此模块(推荐),否则注释掉
LoadModule log_config_module modules/mod_log_config.so(建议打开)
39 # 此模块用于打开debug 信息
#LoadModule log_debug_module modules/mod_log_debug.so(建议打开)
40 #LoadModule authz_owner_module modules/mod_authz_owner.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
User and Group:
USer: 用户名
Group: 组名称
ServerAdmin web服务器管理员的邮箱地址(nicky@gmail.com )
DocumentRoot "/usr/local/apache/htdocs
ServerName www.example.com:80
ErrorLog 指定错误日志
http-default.conf
Timeout: 300
1 接收Get请求所花费总时间量
2 POST/PUT 请求时发送TCP包给服务器端的时间间隔
3 响应时发送TCP数据包的时间间隔
所以,就算timeout设置成1s,只要服务器每隔不超过1s的时间就发送一些数据到客户端,服务器处理请求时间完全可以超过1s。所以更多的是限制这个间隔时间,而不是通信时间总和,所以有的请求超过了
timeout时间,依旧没有断开连接。
KeepAlive: on 保持用户请求连接,什么意思呢?当用户发起一次请求,apache服务器并不马上断开连接,让一个连接可以处理多个Http请求,这样对于客户端来说,可以提高50%左右的响应时间,而对于服
务器端,也可以降低多个连接的开销。这个取决于客户端是否想保持连接。如果要保持,我们需要保持多长时间呢?这又涉及到另外一个参数KeepAliveTimeout 。
MaxKeepAliveRequests: 100 一次持久连接可以进行的HTTP请求最大请求次数。
KeepAliveTimeout 5: 连接持久保持的时间
如果想保持长久连接 持久时间10s 每一次连接能处理最大请求数为200
KeepAlive on;
KeepAliveTimeout 10;
MaxKeepAliveRequests 200;
http-mpm.conf: 多路功能模块
<IfModule mpm_prefork_module>
StartServers 5 服务器启动时默认启动子进程,当时取决于负载的情况 如果请求较多的话,可能创建一些空闲子进程
MinSpareServers 5 当当前子进程已经用完,还有请求进来,那么创建不少于5个的空闲子进程
MaxSpaceServers 10 最大的空闲子进程,如果多余这个数,那么会杀掉一些子进程,最多保留10个空闲子进程
MaxClients 150 并发的请求数量
MaxReuqestPerChild 0 每个子进程在连接的期间最多所允许的请求数,如果为0,那么永久不会结束
</IfModule>