喜旎果 发表于 2018-11-24 13:18:12

linux 下apache配置文件参数深入解析

  HTTP请求报文格式:
   



HTTP响应报文格式:
   


  
web服务器的主要操作:
1), 建立连接--接受或者拒绝客户端连接请求
2), 接受请求--通过网络读取HTTP请求报文
3), 处理请求--解析请求报文并做出相关的动作
4), 访问资源--访问请求报文中相关资源
5), 构建响应--使用正确的首部生成HTTP响应报文
6), 发送响应--向客户端发送生成的响应报文
7), 记录日志--当已经完成的HTTP事务记录进日志文件
  
响应状态代码分类:
    x表示单个数字0-9
1xx : 纯粹信息,不常用
2xx :成功累的状态码
3xx :重定向类信息
   301:永久重定向
   302:临时重定向
   304:没有发生任何改变
4xx :错误类错误,指客户端
5xx :服务端错误类信息
  apache响应模型:
  
MPM 多道处理模块,定义apache在多个用户请求下响应处理请求的模型
prefork :一个请求一个进程响应
worker: 一个请求用一个线程响应
event   :一个进程响应多个用户请求
/etc/sysconfig/httpd里面定义使用apache使用模型

httpd 两种进程:
1)、naster process :主导进程,属主数组是root,进程号小于1024 ,不响应用户请求,
主要做创建空闲进程、销毁多余的空闲进程,系统上进程号小于1024的只有root用户能使用
2)、worker process :工作进程,属主数组都是apache,主要响应用户请求
3)、进程端口是tcp80 ,如果是基于ssl工作是 tcp443

apache的一些主要配置文件:
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/midules    HTTPD的模块路径
  /var/log/access_log         访问日志
/varlog/err_log             错误日志
/var/www/html               静态页面路径
/var/www/cgi-bin            动态页面路径

httpd 配置文件参数解释:

timeout                     tcp三次握手超时时间
KeepAlive Off|On         是否打开长连接, 在服务器访问量不大情况下开启能极大的提高性能
MaxKeepAliveRequests 100   限制长连接次数,0为无限制
KeepAliveTimeout 15      每次连接时长
listen80                     指定监听端口
LoadModule                     指定启动时所加载的模块,根据跟人喜好不想加载注释掉即可
ServerName www.example.com:80虚拟主机的名字和端口
DocumentRoot "/var/www/html"   网页文件存放目录,这个目录可以根据网页存放位置而改动
Options定义目录中所有网页文件能够被访问时的访问属性
   1),None             不支持任何选项
   2),all            启用所有选项
   3),Indexes          允许索引目录,这一项通常被关闭,因为此项开启将会把所有目录和文件列出来。非常危险
   4),FollowSymLinks   允许符号链接指向的源文件,会降低服务器访问速度,通常关闭
   5),ExecCGI          允许运行cgi 脚本
      如果安装了此模块则支持用户是否能在家目录下创建网页
   1),UserDir disable       开启说明禁止用户创建家目录
   2),UserDir public_html   开启说明运行用户在家目录下创建
   DirectoryIndex index.html index.html.var定义默认访问主页文件顺序
   AccessFileName .htaccess      每目录访问控制,会导致apache访问效率极低,一般都禁用
   TypesConfig /etc/mime.types   让http协议支持传输多媒体文档 ,/etc/mime.types 定义多媒体文档的类型
   DefaultType text/plain          如果没有定义多媒体传输类型 那么就启用默认的类型--简单的文本类型
   HostnameLookups Off|On          记录访问日志, 如果是ON 会非常浪费资源,不建议启用On
   ErrorLog logs/error_log         定义错误日志
   LogLevel warn                   日志级别
   Alias /icons/ "/var/www/icons/"访问路径别名, 通过http访问icons 可以直接访问 /var/www/icons/下的网页
  
Options:


[*]Options定义目录中所有网页文件能够被访问时的访问属性
[*]   1),None             不支持任何选项
[*]   2),all            启用所有选项
[*]   3),Indexes          允许索引目录,这一项通常被关闭,因为此项开启将会把所有目录和文件列出来。非常危险
[*]   4),FollowSymLinks   允许符号链接指向的源文件,会降低服务器访问速度,通常关闭
[*]   5),ExecCGI          允许运行cgi 脚本

  Ordee:


[*]Ordee:定义基于主机的访问功能的ip,网络地址或主机定义访问控制机制
[*]   1),允许所有人访问:#2),拒绝某些用户访问:
[*]   Order allow,deny   #Order deny,allow
[*]   Allow from all   #Deny from 172.16.100.1 192.168.1.3

  


[*]
[*] 1),StartServers       8      服务器启动的时候开启多少个空闲进程
[*] 2),MinSpareServers    5      最少空前进程,随时保证有至少5个空闲进程接受用户请求
[*] 3),MaxSpareServers   20      最大空闲进程,最多保留20个,多了就浪费资源
[*] 4),ServerLimit      256      最多请求连接不得超过次数,这是上限值,如果想调大必须先关闭服务然后才能调
[*] 5),MaxClients       256      最多运行多少个请求连接
[*] 6),MaxRequestsPerChild4000   每一进程最多能响应多少次请求,如果达到此值将被杀掉,重开新进程
[*]

  


[*]
[*]1),StartServers         2      默认启动多少个进程
[*]2),MaxClients         150      最多运行多少用户请求
[*]3),MinSpareThreads   25      最少空闲线程
[*]4),MaxSpareThreads   75      最大空闲线程
[*]5),ThreadsPerChild   25      每一个进程最多可以生产多少个线程
[*]6),MaxRequestsPerChild0      每一进程最多响应多少请求,这个模型是用线程响应 所以是0
[*]   
[*]   




页: [1]
查看完整版本: linux 下apache配置文件参数深入解析