小木木 发表于 2018-11-22 10:39:19

apache 2.2 配置

  1.HTTP状态码:
1xx: 信息性状态码
2xx:成功状态码 200OK 201CREATED
3xx:301 永久重定向 302 临时重定向,会在响应报文中使用location:新位置
4xx:客户端类错误
   403 请求被拒绝
   404 页面不存在
   405 使用的方法不被允许
5xx:服务器类错误
   500:服务器类错误
   502:服务器网管错误
   503:服务暂时不可用  

  
  2.HTTP MPM三种模式:
prefork 中没有线程的概念,是多进程模型,一个进程处理一个连接;稳定;响应快。其缺点是在连接数比较大时就非常消耗内存。
worker 是多进程多线程模型,一个进程有多个线程,每个线程处理一个连接。与prefork相比,worker模式更节省系统的内存资源。不过,需要注意worker模式下的Apache与php等程序模块的兼容性。
event 是worker模式的变种,它把服务进程从连接中分离出来,在开启KeepAlive场合下相对worker模式能够承受的了更高的并发负载。event模式不能很好的支持https的访问(HTTP认证相关的问题)

  3.HTTPD基础配置文件:
# grep "Section"/etc/httpd/conf/httpd.conf
全局配置段
### Section 1: Global Environment
主服务器的配置段
### Section 2: 'Main' server configuration
虚拟主机配置段,通常不会和主服务器一起使用
### Section 3: Virtual Hosts
持久连接
KeepAliveOff:使用持久连接{On|Off}
MaxKeepAliveRequests100:使用持久连接最大的连接数
KeepAliveTimeout15:使用持久连接的超时时间
MPM模块

StartServers      8 #启动8个空闲进程
MinSpareServers   5 #最少空闲进程5个
MaxSpareServers20 #最大空闲进程20个,不能小于空闲进程
ServerLimit   256 #对于MaxClient 最大启动的server
MaxClients      256 #同时允许处理多少个客户请求256
MaxRequestsPerChild 4000 #每个子进程最多允许处理4000个请求


StartServers      4 #启用多少个进程
MaxClients      300 #最大并发的请求
MinSpareThreads    25 #最小空闲进程25个
MaxSpareThreads    75 #最多空闲进程75个
ThreadsPerChild    25 #每个进程最多25个线程
MaxRequestsPerChild 0 #不限定每个线程处理多少个请求

监听端口
Listen80
指定要装载的模块:DSO
LoadModuleauth_basic_module modules/mod_auth_basic.so
……
#httpd -D DUMP_MODULES :查看装载了哪些模块
2.)主服务器的配置段
### Section 2: 'Main' server configuration
ServerAdmin root@localhost :
主机名
ServerNamewww.explm.com:80
网站根目录
DocumentRoot“/var/www/html”
于Directory中可做的访问控制
OptionsIndexes FollowSymLinks
如果目录下面没有主页,会把目录下的所有文件以列表方式列出,并可以i提供下载
-Indexes
跟踪符号连接
-FollowSymLinks
支持在每个页面下创建.htacces用户实现对比此目录中资源访问时的访问控制功能
AllowOverrideNone
日志功能:
ErrorLog"/path/to/error_log"
LogLevel{debug|info|notice|warn|error|crit|alert|emerg}
LogFormat
CustomLog"/path/to/access_log" LogFormat_Name
CustomLoglogs/access_log combined
%h:客户端地址
%l:远程登录名,通常为-
%u:认证时输入用户名,没有认证时为-
%t:服务器收到 用户请求时的时间
%r:请求报名的起始行
%>s:响应状态码
%b:响应报文的长度,单位是字节
%{HEADER_NAME}i:记录指定首部对应的值  

  4.CGI脚本:
CGI脚本路径别名,默认在/var/www/cgi-bin/
CGI如何工作:使服务器提供动态页面,用户的请求先到达系统内核的工作区,由内核交由本地监听在WEB服务上的服务程序,WEB服务器的服务理解用户请求的是一种特殊脚本的请求,WEB服务器服务不会直接相应客户。而是通过用户请求的资源响应给CGI协议,交给CGI的程序解释器,解释器会到磁盘上载入所请求的脚本后,在本地执行。并且将直接结果返回给WEB服务器。
ScriptAlias/cgi-bin/ "/var/www/cgi-bin/" :通知WEB服务器/var/www/cgi-bin/目录下可以存放CGI脚本
var/www/cgi-bin
#!/bin/bash
cat
页: [1]
查看完整版本: apache 2.2 配置