++如何设 置请求等待时间
在httpd.conf里面设置:
  TimeOut n
  其中n为整数,单位是秒。

++如何接收一个get请求的总时间
接收一个post和put请求的TCP包之间的时间
  TCP包传输中的响应(ack)时间间隔

++如何使得apache监听在特定的端口 
  修改httpd.conf里面关于Listen的选项,例如:
  Listen 8000
  是使apache监听在8000端口
  而如果要同时指定监听端口和监听地址,可以使用:
  Listen 192.170.2.1:80
  Listen 192.170.2.5:8000
  这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。
  当然也可以在httpd.conf里面设置:
  Port 80
  这样来实现类似的效果。

++如何设置apache的最大空闲进程数 
  修改httpd.conf,在里面设置:
  MaxSpareServers n
其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。
  同时也可以设置:
  MinSpareServers n
  来限制最少空闲进程数目来加快反应速度。

++apache如何设置启动时的子服务进程个数 
  在httpd.conf里面设置:
  StartServers 5
  这样启动apache后就有5个空闲子进程等待接受请求。
  也可以参考MinSpareServers和MaxSpareServers设置。

++如何在apache中设置每个连接的最大请求数 

  在httpd.conf里面设置:
  MaxKeepAliveRequests 100
  这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。
     #用户连续访问了多少个页面后重新建立联结,适当调高.

++如何在apache中设置session的持续时间 
  在apache1.2以上的版本中,可以在httpd.conf里面设置:
  KeepAlive on
  KeepAliveTimeout 15
这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp连接来发送,节约了网络资源和系统资源。
#KeepAliveTimeout是允许用户保持连接15秒内有效,如果用户在15秒内点击其他页面不需要重新建立联结,这个值设置短不利于降低效率,如果设置长可能导致的同时联结数会跟高,一般建议按照缺省的15

++如何使得apache对客户端进行域名验证 
  可以在httpd.conf里面设置:
  HostnameLookups on|off|double
如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。
如果为了安全,建议使用double;为了加快访问速度,建议使用off。

++如何使得apache只监听在特定的ip
  修改httpd.conf,在里面使用
  BindAddress 192.168.0.1
  这样就能使得apache只监听外界对192.168.0.1的http请求。如果使用:
  BindAddress *
  就表明apache监听所有网络接口上的http请求。
  当然用防火墙也可以实现。

++apache中如何限制http请求的消息主体的大小 
  在httpd.conf里面设置:
  LimitRequestBody n
  n是整数,单位是byte。
cgi脚本一般把表单里面内容作为消息的主体提交给服务器处理,所以现在消息主体的大小在使用cgi的时候很有用。比如使用cgi来上传文件,如果有设置:
  LimitRequestBody 102400
  那么上传文件超过100k的时候就会报错。

++如何修改apache的文档根目录 
修改httpd.conf里面的DocumentRoot选项到指定的目录,比如:
  DocumentRoot /www/htdocs
  这样http://localhost/index.html就是对应/www/htdocs/index.html

++如何修改apache的最大连接数
在httpd.conf中设置:
  MaxClients n
n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的HARD_SERVER_LIMIT值改大然后再编译。

++如何使每个用户有独立的cgi-bin目录 
有两种可选择的方法:
  (1)在Apache配置文件里面关于public_html的设置后面加入下面的属性:
  ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home/$1/cgi-bin/$2
  (2)在Apache配置文件里面关于public_html的设置里面加入下面的属性:
  <Directory /home/*/public_html/cgi-bin>
    Options ExecCGI
    SetHandler cgi-script
  </Directory>

++如何调整Apache的最大进程数
Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting for
reply….然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的–它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它调到1024,然后再编译你的系统。

++如何屏蔽来自某个Internet地址的用户访问Apache服务器 
可以使用deny和allow来限制访问,比如要禁止202.202.202.xx网络的用户访问:
  <Directory /www/htdocs>
  order deny,allow
  deny from 202.202.202.0/24
  </Directory>

++如何在日志里面记录apache浏览器和引用信息 
你需要把mod_log_config编译到你的Apache服务器中,然后使用下面类似的配置:
  CustomLog logs/access_log “%h %l %u %t “%r” %s %b “%{Referer}i”
“%{User-Agent}i”"

++如何修改Apache返回的头部信息
问题分析:当客户端连接到Apache服务器的时候,Apache一般会返回服务器版本、非缺省模块等信息,例如:
  Server: Apache/1.3.26 (Unix) mod_perl/1.26
解决:
你可以在Apache的配置文件里面作如下设置让它返回的关于服务器的信息减少到最少:
  ServerTokens Prod
注意:
这样设置以后Apache还会返回一定的服务器信息,比如:
  Server: Apache
但是这个不会对服务器安全产生太多的影响,因为很多扫描软件是扫描的时候是不顾你服务器返回的头部信息的。你如果想把服务器返回的相关信息变成:
  Server: It iS a nOnE-aPaCHe Server
  那么你就要去修改源码了。

++ 产生日志但不包括 图片。
LogFormat “%h %l %u %t \”%r\” %>;s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined
SetEnvIf Request_URI \.gif$ gif-image
SetEnvIf Request_URI \.GIF$ gif-image
SetEnvIf Request_URI \.jpg$ gif-image
SetEnvIf Request_URI \.JPG$ gif-image
SetEnvIf Request_URI \.png$ gif-image
SetEnvIf Request_URI \.swf$ gif-image
SetEnvIf Request_URI \.SWF$ gif-image
SetEnvIf Request_URI \.css$ gif-image
SetEnvIf Request_URI \.CSS$ gif-image
SetEnvIf Request_URI \.js$ gif-image
SetEnvIf Request_URI \.JS$ gif-image
SetEnvIf Request_URI \.ico$ gif-image
<VirtualHost 12.34.56.78:80>;
        ServerAdmin webmaster@abc.net
        DocumentRoot /db/htdocs/www
        ServerName www.abc.net
        CustomLog “|/usr/local/cronolog/sbin/cronolog /db/logs/www.%Y-%m-%d.log” combined env=!gif-image
#用cronolog截取存放在/db/logs/下的按日期产生的apache日志文件,不包括图片
</VirtualHost>;

另一方法:
<FilesMatch “\.(ico|gif|jpg|swf)”>
SetEnv IMAG 1
</FilesMatch>
CustomLog logs/access_log combined env=!IMAG

++首先拒绝任何人,然后允许来自特定主机的访问。 
Order deny,allow
Deny from all
Allow from dev.example.com

++将/xyz/old.html的请求重写为物理的文件/website/test1/abc/new.html
1).在httpd.conf中有’Alias /xyz /website/test1/abc’这条指令
2).在/website/test1/abc/下建立.htaccess文件,内容如下
RewriteEngine On
RewriteBase   /xyz
RewriteRule   ^old\.html$ new.html
3).为了保证启用.htaccess,需要在httpd.conf中配置
<Directory /website/test1/abc>
    AllowOverride All
</Directory>
#注: RewriteBase指令显式地设置了目录级重写的基准URL。

++根据浏览器类型决定返回什么网页文件
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*
RewriteRule ^/$                 /homepage.max.html [L]
#其它类推

++Rewrite其它
RewriteEngine On
RewriteLogLevel 3 #较高的值会使Apache速度急剧下降! 重写日志使用大于2的Level值只用于调试!
RewriteLog “/usr/local/var/apache/logs/rewrite.log”   #写log
RewriteRule     ^/$      /film/index.shtml        [R,L] # 重定向首页到另一个文件
RewriteRule     ^/$      /film/index.shtml        [P,L] # 重定向首页到另一个文件,同时不改URL地址名

++关闭错误文档的最后一行将包含服务器的名字、Apache的版本等信息 

ServerSignature Off #默认值为On,也可改为ServerSignature email ,这样将显示管理员的email地址

++将以/puppy及/puppies开头的url对应至/www/docs/small_dogs目录
AliasMatch ^/pupp(y|ies) /www/docs/small_dogs

++Redirect指令将特定url重定向至其它的服务器上
Redirect [关键字] /example http://www.otherserver.com/new/location
关键字:
temp — 临时的重定向,返302状态响应,客户端会记往原始请求所用的url
permanent — 永久性的重定向,返301响应,客户端会记得新的url
gone — 告之用户,此URL已被移除了,而且不会再回来了, 这个关键字后不需要跟新URL参数,返410状态.
seeother — 告之客户端旧的url已经被废弃了,但文件的内容已经被新文件的内容取代了返303状态.

++将多个url重定向至同一位置
RedirectMatch ^/[fF]ish(ing)? http://fis.example.com

++接受不区分大小写的URL
CheckSpelling On #mod_speling模块支持

++将请求url中所有的string1都改为string2

RewriteCond %{REQUEST_URI} “string1″
RewriteRule “(.*)string1(.*)” “$1string2$2″ [N,PT]
#[N]标记让apache不断重复执行重写的规则,直至RewriteCond条件失效为止.

++手工安装某模块(以rewrite为例)
/usr/local/apache/bin/apxs -c mod_rewrite.c ##apxs应指定绝对路径
/usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la

#编辑httpd.conf文件
LoadModule rewrite_module modules/mod_rewrite.so

++一个虚拟主机的例子
NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin webmaster@zhangjianfeng.com
    ServerName blog.zhangjianfeng.com
    ServerAlias web1.zhangjianfeng.com
    DocumentRoot “/web/web1/”   
    ErrorLog /logs/apache/web1_error_log
    CustomLog /logs/apache/web1_log combined
    RewriteEngine On
    #RewriteLogLevel 1
    #RewriteLog “/logs/apache/rewrite.log”
    #RewriteRule \.(exe|rar)$ http://downloads.zhangjianfeng.com/data/$1 [R]
</VirtualHost>

++ServerTokens指令
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
ServerTokens Prod[uctOnly] 服务器会发送(比如): Server: Apache
ServerTokens Major 服务器会发送(比如): Server: Apache/2
ServerTokens Minor 服务器会发送(比如): Server: Apache/2.0
ServerTokens Min[imal] 服务器会发送(比如): Server: Apache/2.0.41
ServerTokens OS     服务器会发送(比如): Server: Apache/2.0.41 (Unix)
ServerTokens Full (或未指定) 服务器会发送(比如): Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2

++其它
<Files ~ “^\.ht”>
Order allow,deny
Deny from all
</Files>
User apache
Group apache
ServerAdmin root@zhangjianfeng.com
ServerName websrv1
UseCanonicalName Off
HostnameLookups Off
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined
CustomLog logs/access_log combined
ErrorLog logs/error_log
ServerSignature On|Off|EMail
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full

++查看目前连接协议情况
netstat -an | grep -i “80″ | awk ‘{print $6}’ | sort | uniq -c | sort -n

++一个简单的密码认证实现
#添加下面内容到httpd.conf
Alias /test2 “/var/www/html/test”
   <Directory “/var/www/html/test”>
    AllowOverride AuthConfig  
    Order Deny,Allow
    Allow from all      
   </Directory>
#建立验证文件和第一个验证用户
#htpasswd -c /etc/userfile user  
#vi /var/www/html/test/usergroup
    usergroup:user user1 user2 #相关用户使用htpasswd创建
#vi /var/www/html/test/.htaccess
   AuthName “blog.zhangjianfeng.com user_auth test”
   AuthType Basic
   AuthUserFile /etc/userfile
    #以下两行只有在以组的形式管理,才需要
     #AuthGroupFile /var/www/html/test/usergroup
     #require group usergroup
   require user user

++手工GET数据(用于测试等)
telnet blog.zhangjianfeng.com 80
Escape character is ‘^]’.
GET /index.php HTTP/1.1
Accept: text/plain,text/html,*/*;q=0.3
Accept-Encoding: deflate
Host: http://www.test.com:8004/
If-None-Match: “418112890:855172144000″
User-Agent: W3CRobot/5.1 libwww/5.1
Connection: Keep-Alive

++取HTTP HEAD
curl –head http://blog.zhangjianfeng.com/

++为Apache配置mod_deflat压缩输出
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
<ifmodule mod_deflate.c>
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
#DeflateFilterNote Input instream
#DeflateFilterNote Output outstream
#DeflateFilterNote Ratio ratio
LogFormat ‘”%r” %{outstream}n/%{instream}n (%{ratio}n%%)’ deflate
CustomLog logs/deflate_log.log deflate
</ifmodule>
#need more? http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

++mod_proxy应用, 将 www.zhangjianfeng.com/news 的请求转到另一台主机
LoadModule proxy_module modules/mod_proxy.so
proxypass /news http://news.zhangjianfeng.com/ #news.zhangjianfeng.com为另一台主机

原文地址:http://www.cnblogs.com/mo-beifeng/archive/2011/10/11/2206906.html

转载于:https://www.cnblogs.com/hongfei/archive/2012/06/12/2547123.html

【转】apache常用配置相关推荐

  1. Apache常用配置修改

    httpd常用配置 httpd常用配置虚拟主机:相同IP不同端口不同IP相同端口这样改:相同ip相同端口不同域名:https配置mod_ssl模块证书类型 访问控制法则: 法则 功能 Require ...

  2. Apache常用配置

    为什么80%的码农都做不了架构师?>>>    查看Apache运行用户和组 只需要运行一下命令即可知道 ps -ef |grep httpd ps -ef |grep apache ...

  3. Apache入门 篇(二)之apache 2.2.x常用配置解析

    一.httpd 2.2.x目录结构 Cnetos 6.10 YUM安装httpd 2.2.x # yum install -y httpd 程序环境主配置文件:/etc/httpd/conf/http ...

  4. Maven pom.xml 全配置(二)不常用配置

    Maven pom.xml 全配置(二)不常用配置 这里贴出Maven pom.xml文件中使用率较少的配置参数,如果此篇文档中没有找到你想要的参数,移步Maven pom.xml 全配置(一)常用配 ...

  5. Maven pom.xml 全配置(一)常用配置

    Maven pom.xml 全配置(一)常用配置 这里贴出一个Maven中出现频率较高的配置参数注释,方便理解项目中Maven的配置具体的作用.如果在此博文中没有找到你想看到的参数,可以移步Maven ...

  6. 关于日志的常用配置(log4j和logback)

    **log4j配置** 注:在配置log4j前要在web.xml中进行配置,告诉框架采用自定义的配置 pom配置 <!-- 设置根目录 --> <context-param> ...

  7. LINUX服务器搭建和常用配置介绍

    服务器搭建 : 搭建私有CA服务器 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_011_ca.html 搭建samba服务器 : ...

  8. resin指定java版本_resin的几个常用配置

    本文着重介绍resin的几个常用配置 注: 1. 本文并非resin.conf的使用说明,只是从实用角度出发,按需分析常用的配置.更多的内容到官网学习吧: 2. 基于resin3.x的探讨. (友情提 ...

  9. Struts2教程3:struts.xml常用配置解析

    在本文中将详细讲述struts.xml文件的常用配置及注意事项. 1.        使用<include>标签重用配置文件 在Struts2中提供了一个默认的struts.xml文件,但 ...

最新文章

  1. 在CentOS 6.9 x86_64的nginx 1.12.2上开启标准模块ngx_http_map_module实录
  2. linux机器启动pg数据库命令,Linux下创建Postgresql数据库的方法步骤
  3. 虚拟机删除后服务器内存,卸载虚拟机后仍占内存
  4. 大数据之-Hadoop完全分布式_集群的启动和停止方式总结---大数据之hadoop工作笔记0039
  5. 用计算机弹猪猪侠数字,猪猪侠之挑战数字
  6. 四元组相加获得target
  7. jquery extend中
  8. 如何在Vim中进行不区分大小写的搜索
  9. NLP --- 文本分类(基于SVD的隐语意分析(LSA))
  10. Fiddler-弱网测试设置
  11. 一种类型安全的Java HTTP客户端库Retrofit
  12. 计算机无法打开文档,电脑txt文件打不开怎么办-修复电脑中无法打开txt文档的方法 - 河东软件园...
  13. Mars3D基础学习:地图控件
  14. backtracking line Serach
  15. PeopleSoft 登录页面更换
  16. unity支持的模型数据格式,unity3d模型制作规范
  17. 一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。
  18. AE 二次开发。请考虑更改其中一个程序集的“嵌入互操作类型”属性。
  19. VIVO Y30标准版PD2036A强制线刷,亲测可过
  20. WinXpSp3升级后不能访问 codeproject 站点的问题

热门文章

  1. OpenStack环境搭建(六:常见问题及解决方案总结)
  2. startup mount报错:invalid value given for the diagnostic_dest init.ora parameter
  3. ui设计师要懂哪些B端设计原则?
  4. UI设计比较流行的插画类型和运用
  5. 计算机组原理ppt,计算机组原理第三章.ppt
  6. java modelmapper_java - 使用ModelMapper映射抽象类型的字段 - SO中文参考 - www.soinside.com...
  7. Vue从Hello World到打包(后端适读)
  8. linux文本编辑nano
  9. 【转】用示例说明索引数据块中出现热块的场景,并给出解决方案
  10. XShell连接Deepin