孤独海岸线 发表于 2018-11-18 09:10:19

apache 2.2 配置参数详解

  安装httpd
  yum -y installhttpd
  服务脚本:/etc/rc.d/init.d/httpd
  脚本配置文件:/etc/sysconfig/httpd
  运行目录:/etc/httpd
  配置文件:
  主配置文件:/etc/httpd/conf/httpd.conf
  扩展配置:/etc/httpd/conf.d/*.conf
  Socket:80/tcp,443/tcp
  文档根目录:/var/www/html
  CGI:/var/www/cgi-bin/
  日志滚动:
  日志切割
  时间、空间
  Docroot:文档根目录
  配置文件:
  /etc/httpd/conf/httpd.conf
  配置参数 值
  配置指令不区分字符大小写
  值有可能区分大小写
  有些指令可以重复出现多次
  配置文件格式
  全局配置
  主机配置:用于仅提供一个站点时
  虚拟主机配置:用于提供多个站点时
  配置文件语法测试
  serviice httpd configtest
  httpd -t
  绝大多数配置修改后,可以用过service httpd reload 来生效,如果修改了监听的地址或端口,必须重启服务才能生效
  1.监听套接字
  Listen port
  此指令可以出现多次,用于指定监听多个不同的套接字
  Listen 80
  Listen 172.16.100.7:8080
  2.配置使用Keepalive
  KeepAlive {On|Off}
  KeepAliveTimeout 2 超时时间
  MaxKeepAliveRequests 50 最大连接
  3.MPM
  多道处理模块
  httpd -l 查看编译进内核的模块
  想使用不同的机制,修改配置文件即可 /etc/syconfig/httpd文件
  判断模块是否存在
  StartServers       8 默认启动的工作进程数
  MinSpareServers    5 最少空闲进程数
  MaxSpareServers   20 最大空闲进程数
  ServerLimit      256 最大活动进程数
  MaxClients       256 最大并发连接数,最多允许发起的连接请求的个数
  MaxRequestsPerChild4000 每个子进程在生命周期内最大允许服务的最多请求个数
  
  
  StartServers         4 启动的子进程的个数
  MaxClients         300 最大并发连接数,最多允许发起的连接请求的个数
  MinSpareThreads   25 最少空闲线程数
  MaxSpareThreads   75 最大空闲线程数
  ThreadsPerChild   25 每个子进程生成的线程数
  MaxRequestsPerChild0 每个子进程在声明周期内最大允许服务的最多请求个数
  
  4、DSO模块的加载方式
  LoadModule module_name /path/to/module
  如果使用相对路径,则对于ServerRoot所定义的位置而言
  LoadMoudule php5_module /usr/lib64/httpd/modules/php.so
  让服务重载配置文件方能生效
  httpd -m 列出与加载到所有DSO模块与非DOS模块
  取消 注释掉即可
  5、配置站点根目录
  DocumentRoot /path/to/somewhere
  6、页面访问属性
  
  Options 选项
  Indexes:缺少指定的默认页面时,允许将目录中的所有文件已列表形式返回给用户:危险:慎用
  FollowsymLinks:允许跟随符号链接所指向的原始文件
  None:所有都不启用
  All:所有的都启用
  ExecCGI:允许使用mod_cgi模块执行CGI脚本
  Includes:允许使用mod_include模块实现服务器端包含(SSI)
  IncludesNOEXEC:允许包含但不允许执行脚本
  MultiViews:允许使用mod_negotiation实现内容协商
  SymLinksIfOwnerMatch:在链接文件属主属组与原始文件的属主属组相同时,允许跟随符号连接所指向的原始文件
  AllowOverride
  
  可以使用正则表达式,使用~
  7.基于主机的访问控制
  
  Options
  AllowOverride
  None 不禁用下面
  order 次序,写在后面的为默认
  allow,deny: 没有允许的都拒绝
  deny,allow:没有拒绝的都允许
  Allow from
  Deny from
  
  如果都匹配或都不匹配时以默认为准
  否则则以匹配到的为准
     Allow from
     Deny from
        IP,Network Address
        172.16
        172.16.0.0
        172.16.0.0/16
        172.16.0.0/255.255.0.0
  基于用户做访问控制
  8.定义默认主页面
  DirectoryIndex 依次查找
  9.用户目录
  如果期望让每个用户都可以创建个人站点:http://Server_IP/~Username/
  userdir disablied:禁止
  userdir public_html:
  public_html是用户家目录下的目录名称,所有位于此目录中的文件均可通过前述的访问路径进行访问
  用户的家目录得赋予进行httpd进程的用户拥有执行权限
  setfacl -m u:apache:x ~Username
  10、配置日志功能
  /var/log/http/
  access.log:访问日志,其需要记录的内容需要自定义
  error.log
  访问日志:
  CustomLog "/path/to/log_file" LogFormat
  LogFormat定义日志格式
  "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
  %h:客户端地址
  %l:远程的登录名,通常为-
  %u:认证时的远程用户名,通常为-
  %t:接收到的请求时的时间,为标准英文格式时间+时区
  \" :转义,显示""
  %r:请求报文的起始行
  %>s:响应状态码,
  %b:以字节响应报文的长度,不包含http报文
  %{Header_Name}i:记录指定请求报文首部的内容(value)
  %u:请求的URL
  详情请参考:http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats
  错误日志:
  ErrorLog
  11、路径别名
  Alias /alias/ "/path/to/somewhere"
  意味着访问http://Server_IP/alias时,其页面文件来自于/path/to/somewhere中
  12、指定默认的字符集
  AddDefaultCharset
  13.脚本路径别名(CGI接口)
  URL-->FileSystem Directory
  CGI:Common Gateway Interface(通用网关接口)使WEB可以跟一个应用程序进行通信,从通信环境中获得结果。
  CGI是不安全的
  在第一行写入
  echo “Content-Type:text/html:
  mod_alias,mod_cgi
  ScriptAlias /URL/ "/path/to/somewhere" somewhere下的文件可以被执行
  也可以在目录中实现
  格式一般为
  cat
页: [1]
查看完整版本: apache 2.2 配置参数详解