Apache服务器配置技巧与主配置文件配置解说.docx

上传人:b****4 文档编号:3583031 上传时间:2022-11-24 格式:DOCX 页数:12 大小:23.08KB
下载 相关 举报
Apache服务器配置技巧与主配置文件配置解说.docx_第1页
第1页 / 共12页
Apache服务器配置技巧与主配置文件配置解说.docx_第2页
第2页 / 共12页
Apache服务器配置技巧与主配置文件配置解说.docx_第3页
第3页 / 共12页
Apache服务器配置技巧与主配置文件配置解说.docx_第4页
第4页 / 共12页
Apache服务器配置技巧与主配置文件配置解说.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Apache服务器配置技巧与主配置文件配置解说.docx

《Apache服务器配置技巧与主配置文件配置解说.docx》由会员分享,可在线阅读,更多相关《Apache服务器配置技巧与主配置文件配置解说.docx(12页珍藏版)》请在冰豆网上搜索。

Apache服务器配置技巧与主配置文件配置解说.docx

Apache服务器配置技巧与主配置文件配置解说

Apache服务器配置技巧

本文简要介绍了十几个Apache的配置技巧:

  1、如何设置请求等待时间

  在httpd.conf里面设置:

  TimeOutn

  其中n为整数,单位是秒。

  设置这个TimeOut适用于三种情况:

  2、如何接收一个get请求的总时间

  接收一个post和put请求的TCP包之间的时间

  TCP包传输中的响应(ack)时间间隔

  3、如何使得apache监听在特定的端口

  修改httpd.conf里面关于Listen的选项,例如:

  Listen8000

  是使apache监听在8000端口

  而如果要同时指定监听端口和监听地址,可以使用:

  Listen192.170.2.1:

80

  Listen192.170.2.5:

8000

  这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。

  当然也可以在httpd.conf里面设置:

  Port80

  这样来实现类似的效果。

  4、如何设置apache的最大空闲进程数

  修改httpd.conf,在里面设置:

  MaxSpareServersn

  其中n是一个整数。

这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。

如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。

  同时也可以设置:

  MinSpareServersn

  来限制最少空闲进程数目来加快反应速度。

  5、apache如何设置启动时的子服务进程个数

  在httpd.conf里面设置:

  StartServers5

  这样启动apache后就有5个空闲子进程等待接受请求。

  也可以参考MinSpareServers和MaxSpareServers设置。

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

  在httpd.conf里面设置:

  MaxKeepAliveRequests100

  这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。

但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。

  7、如何在apache中设置session的持续时间

  在apache1.2以上的版本中,可以在httpd.conf里面设置:

  KeepAliveon

  KeepAliveTimeout15

  这样就能限制每个session的保持时间是15秒。

session的使用可以使得很多请求都可以通过同一个tcp连接来发送,节约了网络资源和系统资源。

  8、如何使得apache对客户端进行域名验证

  可以在httpd.conf里面设置:

  HostnameLookupson|off|double

  如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。

  如果为了安全,建议使用double;为了加快访问速度,建议使用off。

  9、如何使得apache只监听在特定的ip

  修改httpd.conf,在里面使用

  BindAddress192.168.0.1

  这样就能使得apache只监听外界对192.168.0.1的http请求。

如果使用:

  BindAddress*

  就表明apache监听所有网络接口上的http请求。

  当然用防火墙也可以实现。

10、apache中如何限制http请求的消息主体的大小

  在httpd.conf里面设置:

  LimitRequestBodyn

  n是整数,单位是byte。

  cgi脚本一般把表单里面内容作为消息的主体提交给服务器处理,所以现在消息主体的大小在使用cgi的时候很有用。

比如使用cgi来上传文件,如果有设置:

  LimitRequestBody102400

  那么上传文件超过100k的时候就会报错。

  11、如何修改apache的文档根目录

  修改httpd.conf里面的DocumentRoot选项到指定的目录,比如:

  DocumentRoot/www/htdocs

  这样http:

//localhost/index.html就是对应/www/htdocs/index.html

  12、如何修改apache的最大连接数

  在httpd.conf中设置:

  MaxClientsn

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

  13、如何使每个用户有独立的cgi-bin目录

  有两种可选择的方法:

  

(1)在Apache配置文件里面关于public_html的设置后面加入下面的属性:

  ScriptAliasMatch^/~([^/]*)/cgi-bin/(.*)/home/$1/cgi-bin/$2

  

(2)在Apache配置文件里面关于public_html的设置里面加入下面的属性:

  

    OptionsExecCGI

    SetHandlercgi-script

  

14、如何调整Apache的最大进程数

  Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waitingforreply....然后等到下一个可用进程的出现。

这个最大数,是Apache的程序决定的--它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中看到:

  #ifndefHARD_SERVER_LIMIT

  #ifdefWIN32

  #defineHARD_SERVER_LIMIT1024

  #else

  #defineHARD_SERVER_LIMIT256

  #endif

  #endif

  你可以把它调到1024,然后再编译你的系统。

  15、如何屏蔽来自某个Internet地址的用户访问Apache服务器

  可以使用deny和allow来限制访问,比如要禁止202.202.202.xx网络的用户访问:

  

  orderdeny,allow

  denyfrom202.202.202.0/24

  

  16、如何在日志里面记录apache浏览器和引用信息

  你需要把mod_log_config编译到你的Apache服务器中,然后使用下面类似的配置:

  CustomLoglogs/access_log"%h%l%u%t"%r"%s%b"%{Referer}i""%{User-Agent}i""

  17、如何修改Apache返回的头部信息

  问题分析:

当客户端连接到Apache服务器的时候,Apache一般会返回服务器版本、非缺省模块等信息,例如:

  Server:

Apache/1.3.26(Unix)mod_perl/1.26

  解决:

  你可以在Apache的配置文件里面作如下设置让它返回的关于服务器的信息减少到最少:

  ServerTokensProd

  注意:

  这样设置以后Apache还会返回一定的服务器信息,比如:

  Server:

Apache

  但是这个不会对服务器安全产生太多的影响,因为很多扫描软件是扫描的时候是不顾你服务器返回的头部信息的。

你如果想把服务器返回的相关信息变成:

  Server:

ItiSanOnE-aPaCHeServer

  那么你就要去修改源码了。

apache主配置文件配置解说

Apache为网络管理员提供了丰富多彩的功能,包括目录索引、目录别名、内容协商、可配置的HTTP错误报告、CGI程序的SetUID执行、子进程资源管理、服务器端图象映射、重写URL、URL拼写检查以及联机手册man等。

也就是说,如果您在LinuxServer上成功安装配置了Apache之后,您的计算机也将随着Apache的生效而摇身一变,成为一台名副其实的WebServer,这种变化的确是激动人心的。

在Internet时代,外部主页的发布已经成为树立公司形象的一个重要手段,而内部主页也成为公司管理的主要方式。

但是,要想实现这些功能,首先应该把我们的LinuxServer配置成为一台强大的WebServer。

本章将详细介绍如何配置Apache服务器。

希望各位同仁能够通过阅读本片文章达到理论实践双丰收的目的,在很短的时间里迅速成为一名出色的网络管理员。

1.2所需资源

1.2.1所需包

RedHat6.2服务器安装

1.2.2所需配置文件

/etc/httpd/conf/httpd.conf系统自带,管理员配置

/etc/httpd/conf/access.conf系统自带,不需要修改

/etc/httpd/conf/srm.conf系统自带,不需要修改

1.3配置方案

/etc/httpd/conf/httpd.conf

说明:

apache主配置文件

源文件:

ServerTypestandalone

   #定义WebServer的启动方式为standalone,以增强其对大量访问的及时响应性

ServerRoot"/etc/httpd"

   #指定包含httpd服务器文件的目录

LockFile/var/lock/httpd.lock

PidFile/var/run/httpd.pid

ScoreBoardFile/var/run/httpd.scoreboard

Timeout300

   #响应超时量,单位为秒

KeepAliveOn

   #允许用户建立永久连接

MaxKeepAliveRequests100

KeepAliveTimeout15

MinSpareServers5

   #要保留的空闲服务器进程的最小值

MaxSpareServers20

   #要保留的空闲服务器进程的最大值

StartServers8

   #系统启动时的守护进程数

MaxClients150

   #所能提供服务的最大客户端编号,大于它的部分被放入请求队列

MaxRequestsPerChild100

LoadModulevhost_alias_modulemodules/mod_vhost_alias.so

LoadModuleenv_module    modules/mod_env.so

LoadModuleconfig_log_module modules/mod_log_config.so

LoadModuleagent_log_module modules/mod_log_agent.so

LoadModulereferer_log_modulemodules/mod_log_referer.so

LoadModulemime_module    modules/mod_mime.so

LoadModulenegotiation_modulemodules/mod_negotiation.so

LoadModulestatus_module   modules/mod_status.so

LoadModuleinfo_module    modules/mod_info.so

LoadModuleincludes_module  modules/mod_include.so

LoadModuleautoindex_module modules/mod_autoindex.so

LoadModuledir_module    modules/mod_dir.so

LoadModulecgi_module    modules/mod_cgi.so

LoadModuleasis_module    modules/mod_asis.so

LoadModuleimap_module    modules/mod_imap.so

LoadModuleaction_module   modules/mod_actions.so

LoadModuleuserdir_module  modules/mod_userdir.so

LoadModulealias_module   modules/mod_alias.so

LoadModulerewrite_module  modules/mod_rewrite.so

LoadModuleaccess_module   modules/mod_access.so

LoadModuleauth_module    modules/mod_auth.so

LoadModuleanon_auth_module modules/mod_auth_anon.so

LoadModuledb_auth_module  modules/mod_auth_db.so

LoadModuledigest_module   modules/mod_digest.so

LoadModuleproxy_module   modules/libproxy.so

LoadModuleexpires_module  modules/mod_expires.so

LoadModuleheaders_module  modules/mod_headers.so

LoadModuleusertrack_module modules/mod_usertrack.so

LoadModulesetenvif_module  modules/mod_setenvif.so

LoadModuleperl_module    modules/libperl.so

LoadModulephp3_module    modules/libphp3.so

ClearModuleList

AddModulemod_vhost_alias.c

AddModulemod_env.c

AddModulemod_log_config.c

AddModulemod_log_agent.c

AddModulemod_log_referer.c

AddModulemod_mime.c

AddModulemod_negotiation.c

AddModulemod_status.c

AddModulemod_info.c

AddModulemod_include.c

AddModulemod_autoindex.c

AddModulemod_dir.c

AddModulemod_cgi.c

AddModulemod_asis.c

AddModulemod_imap.c

AddModulemod_actions.c

#AddModulemod_speling.c

AddModulemod_userdir.c

AddModulemod_alias.c

AddModulemod_rewrite.c

AddModulemod_access.c

AddModulemod_auth.c

AddModulemod_auth_anon.c

AddModulemod_auth_db.c

AddModulemod_digest.c

AddModulemod_proxy.c

AddModulemod_expires.c

AddModulemod_headers.c

AddModulemod_usertrack.c

AddModulemod_so.c

AddModulemod_setenvif.c

AddModulemod_perl.c

AddModulemod_php3.c

Port80

   #定义服务器所使用的TCP的端口号

Usernobody

Groupnobody

   #以上两行是分配给httpd的新用户的文件权限,出于安全的考虑把

   它们的权限设置成为最低。

ServerAdminroot@

   #设置Web管理员的邮件地址

ServerNameWebOA

   #定义客户端从服务器读取数据时返回给客户端的主机名,其缺省值

   是localhost,第一次安装Linux的时候经常这里出错。

DocumentRoot"/home/weboa/jakarta-tomcat/webapps/weboa"

   #设置所有Apache文档的根目录,比如说,用户对

   

   的响应是/home/weboa/jakarta-tomcat/webapps/weboa/index.html

   OptionsFollowSymLinks

   AllowOverrideNone

   OptionsIndexesIncludesFollowSymLinks

   AllowOverrideNone

   Orderallow,deny

   Allowfromall      #允许所有人访问

UserDirpublic_html

DirectoryIndexindex.htmlindex.htmindex.shtmlindex.cgi

   #设置多种成功访问主页的方式,为的是提高系统的容错性

AccessFileName.htaccess

   Orderallow,deny

   Denyfromall

UseCanonicalNameOn

TypesConfig/etc/mime.types

DefaultTypetext/plain

   MIMEMagicFileshare/magic

HostnameLookupsOff

ErrorLog/usr/httpd/log/error_log

LogLevelwarn

   #定义那些错误类型被记录到错误日志中

Logformat"%h%l%u%t\"%r\"%>s%b\"%{Referer}i\"\"%{User-Agent}i\""combined

   #所有的Logformat都用来定义日志中的条目

Logformat"%h%l%u%t\"%r\"%>s%b"common

Logformat"%{Referer}i->%U"referer

Logformat"%{User-agent}i"agent

CustomLog/usr/httpd/log/access_logcommon

ServerSignatureOn

Alias/icons/"/home/httpd/icons/"

#定义虚拟主机目录与系统目录的对应关系

   OptionsIndexesMultiViews

   AllowOverrideNone

   Orderallow,deny

   Allowfromall

ScriptAlias/cgi-bin/"/home/httpd/cgi-bin/"

#定义CGI目录

   AllowOverrideNone

   OptionsExecCGI

   Orderallow,deny

   Allowfromall

IndexOptionsFancyIndexing

AddIconByEncoding(CMP,/icons/compressed.gif)x-compressx-gzip

AddIconByType(TXT,/icons/text.gif)text/*

AddIconByType(IMG,/icons/image2.gif)image/*

AddIconByType(SND,/icons/sound2.gif)audio/*

AddIconByType(VID,/icons/movie.gif)video/*

AddIcon/icons/binary.gif.bin.exe

AddIcon/icons/binhex.gif.hqx

AddIcon/icons/tar.gif.tar

AddIcon/icons/world2.gif.wrl.wrl.gz.vrml.vrm.iv

AddIcon/icons/compressed.gif.Z.z.tgz.gz.zip

AddIcon/icons/a.gif.ps.ai.eps

AddIcon/icons/layout.gif.html.shtml.htm.pdf

AddIcon/icons/text.gif.txt

AddIcon/icons/c.gif.c

AddIcon/icons/p.gif.pl.py

AddIcon/icons/f.gif.for

AddIcon/icons/dvi.gif.dvi

AddIcon/icons/uuencoded.gif.uu

AddIcon/icons/script.gif.conf.sh.shar.csh.ksh.tcl

AddIcon/icons/tex.gif.tex

AddIcon/icons/bomb.gifcore

AddIcon/icons/back.gif..

AddIcon/icons/hand.right.gifREADME

AddIcon/icons/folder.gif^^DIRECTORY^^

AddIcon/icons/blank.gif^^BLANKICON^^

DefaultIcon/icons/unknown.gif

ReadmeNameREADME

HeaderNameHEADER

AddEncodingx-compressZ

AddEncodingx

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1