配置apache服务器需要修改的配置文件为

httpd.conf。
httpd.conf是Apache服务器的核心配置文件,用于设置服务器的各种参数如监听端口、根目录、日志文件等。
通过修改此文件,您可以配置Apache服务器的行为以满足不同的要求。

Apache配置文件(httpd.conf)有哪些?

基于NCSA服务的配置文件。
这是主要的Apache服务器配置文件。
它包含影响其操作的服务器配置指令。
请勿在未理解本手册的情况下阅读本手册。
此处仅提供简要说明;如果您不参考在线文档,您将会收到警告。
这些配置指令分为以下三个部分:1.控制整个Apache服务器行为的部分(即全局环境变量)。
2.定义基本服务设置或默认服务设置并提供默认配置选项的指令。
对于所有虚拟主机3.配置虚拟主机参数和日志文件名:如果指定的文件名以“/”开头启动服务器并使用绝对路径。
如果文件名不以“/”开头,则在文件名前添加值ServerRoot。
区域1:全局环境设置。
这里设置的选项会影响整个Apache服务器的行为,比如Apache可以处理的并发请求数等。
ServerRoot:指定服务器存储配置、错误文件、日志等的根目录。
注意!如果要将其指定为NFS或其他网络上的位置,请务必阅读与LockFile相关的文档。
这将使您能够自己解决许多问题。
不要在路径末尾添加正斜杠。
顺序访问的锁文件必须保存在本地磁盘上。
ScoreBoardFile:用于存储服务进程内部信息的文件。
如果未指定(默认),记分板将存储在匿名共享内存段中,并且不能被第三方软件使用。
如果指定,请确保两个Apache不能使用同一个scoreboard文件,并且scoreboard文件必须存储在本地磁盘上。
区域2:“基本”服务配置。
该区域设置“主”服务器使用的指令值,以响应定义未处理的任何请求。
这些值还提供了默认值稍后定义的容器。
如果中有定义,则此处定义的指令值将被中的定义覆盖。
如果您希望httpd作为不同的用户或组运行,则必须首先以root身份运行它,然后将其切换到您要使用的用户或组。

apacheweb服务器的配置文件一般位于

usr/local/apache/conf目录,Apache主配置文件:/etc/httpd/conf/httpd.conf默认站点基目录:/var/www/html/Apache服务器配置信息全部存放在主配置文件/etc中在/httpd/conf/httpd.conf这个文件中有很多内容。
从wc命令来看,总共有1009行,其中大部分是以#开头的注释行。

谁有Apache服务器的配置详细介绍

Apache服务器的配置文件位于/usr/local/apache/conf/目录中。
通常使用三个配置文件来配置Apache服务器的行为:httpd.conf、access.conf和srm.conf。
httpd.conf提供了最基本的服务器配置,是守护进程httpd如何运行的技术描述。
srm.conf是一个文件,它告诉服务器各种文件的MIME类型以及如何支持这些文件。
用于设置服务器的访问权限,控制各种用户和计算机的访问限制。
这三个配置文件控制着服务器的所有特性,因此必须对它们进行设置才能使服务器正常运行。
安慰。
除了这三个配置文件之外,Apache还使用mime.types文件来标识各种文件对应的MIME类型。
magic文件为不同MIME类型的文件设置了一些特殊的标识符,因此Apache服务器无法确定文件的MIME。
文件后缀类型允许您通过文件内容中的特殊标记来确定文档的MIME类型。
bash-2.02$ls-l/usr/local/apache/conftotal100-rw-r--r--1rootwheel348Apr1616:01access.conf-rw-r--r--1rootwheel348Feb1313:33access.conf.default-rw-r--r--1rootwheel30331May2608:55httpd.conf-rw-r--r--1rootwheel29953Feb1313:33httpd.conf.default-rw-r--r--1rootwheel12441Apr1915:42magic-rw-r--r--1rootwheel12441Feb1313:33magic.default-rw-r--r--1rootwheel7334Feb1313:33mime.types-rw-r--r--1rootwheel383May1317:01srm.conf-rw-r--r--1rootwheel357Feb1313:33srm.conf.default其实现在的版本Apache将原始httpd.conf、srm.conf和access.conf中的所有配置参数放入配置文件httpd.conf中,以实现向后兼容。
这三个配置文件的使用说明由NCSA-httpd提供,因此只使用了三个配置文件。
提供的access.conf和srm.conf文件中没有具体设置。
在新版本的Apache中,所有设置都在httpd.conf中,因此您只需调整该文件中的设置即可。
下面以默认的httpd.conf为例,解释Apache服务器的各种配置选项。
但不用担心,因为有很多参数需要设置。
默认情况下,这些参数非常明确,允许您无需修改​​即可运行Apache服务器。
但是,如果您需要调整Apache服务器的性能并添加对特定功能的支持,则需要了解这些配置参数的含义。
网上关于Apache服务器的性能争议颇多,但基本上使用Apache的用户并不怀疑其优异的性能。
Apache的得分往往较低。
许多人在这些评论中指出,虽然商业网络服务器及其操作系统通常由专业公司的工程师调整性能,但Free的操作系统和网络服务器通常使用默认配置或仅进行微小的更改。
除了调整操作系统的性能之外,应该指出的是,Apache服务器本身的默认配置绝不是最优化和最高效的,但它应该适应几乎任何类型的操作系统设置。
软件不可能为特定平台和特定硬件提供最佳的默认配置。
因此,在使用Apache时,性能调优至关重要。
商业评论中另一个被忽视的事情是评论经常比较不同类型的功能。
例如,使用Apache的标准CGI的性能实际上比ISAPI差可以与NSAPI等服务器端API进行比较。
这方面的功能包括PHP中的modperl、FastCGI和类似ASP的功能。
然而,由于Apache的开放模型,这些功能是由独立的开发小组作为独立的模块实现的。
然而,在评估过程中,测试人员并没有添加这些模块来评估其性能。
HTTP守护进程的执行参数httpd.conf首先定义了httpd守护进程运行时需要的一些参数,以确定其执行模式和执行环境。
ServerTypestandaloneServerType定义服务器的启动模式。
默认是独立的。
httpd服务器自行启动并驻留在主机上以监视连接请求。
在Linux上,推荐的方法是从启动文件/etc/rc.d/rc.local/init.d/apache自动启动Web服务器。
启动Apache服务器的另一种方法是inet方法,它使用超级服务器inetd来监视连接请求并启动服务器。
如果需要使用inetd启动模式,则需要更改此设置,阻止/etc/rc.d/rc.local/init.d/apache文件,更改/etc/inetd.conf,然后重新启动inetd。
Apache可以从inetd启动。
两种方法的区别在于,在独立方法中,服务器本身管理自己的启动过程,允许服务器的多个副本在启动时立即启动。
当发出连接请求时,可以立即处理子流程,从而更快地响应客户浏览器请求并获得更高的性能。
inetd方法要求只有在inetd检测到连接请求后才启动http服务器。
inetd要监控的端口太多,响应速度慢,效率低,但它节省了无连接时Web服务器占用的资源。
要求。
因此,inetd方法只用在偶尔连接、对连接速度要求不高的服务器上。
事实上,inetd方法并不适合http的突发性和多连接性质。
这是因为一个页面可以包含多个图像,每个图像都会生成一个链接请求。
这是因为即使访问者数量很少,也会发生连接请求。
这在很大程度上受到inetd性能的限制,并且还可能影响inetd启动的其他服务器程序。
ServerRoot"/usr/local"ServerRoot用于指定httpd守护进程的执行目录。
httpd启动后,会自动将进程的当前目录更改为该目录。
如果文件是相对路径,则为True。
该路径位于此ServerRoot定义的路径下。
由于httpd经常执行并发文件操作,因此必须使用锁定来防止文件操作发生冲突。
由于NFS文件系统的文件锁定功能有限,因此该目录必须是本地磁盘文件系统,不应使用。
NFS文件系统。
#LockFile/var/run/httpd.lockTheLockFile参数指定httpd守护程序的锁定文件。
通常不需要设置该参数。
Apache服务器将自动在ServerRoot下的路径上运行。
但是,如果ServerRoot是NFS文件系统,则必须使用该参数指定本地文件系统的路径。
PidFile/var/run/httpd.pidPidFile记录了httpd守护进程的进程号。
httpd可以自动复制自身,因此系统上会存在多个httpd进程,但是只有一个过程。
是另一个进程的父进程,向该进程发送信号会影响所有httpd进程。
httpd父进程的进程号被写入PidFILE定义的文件中。
ScoreBoardFile/var/run/httpd.scoreboardhttpd使用ScoreBoardFile来维护进程的内部数据,因此通常不需要更改此参数,除非管理员希望在一台计算机上运行多个Apache服务器。
在这种情况下,每个Apache服务器都会有一个独立的配置文件httpd.conf和不同的ScoreBoardFile。
#ResourceConfigconf/srm.conf#AccessConfigconf/access.confResourceConfig和AccessConfig这两个参数用于与使用srm.conf和access.conf配置文件的旧版Apache兼容。
如果不需要兼容性,可以将该配置文件指定为/dev/null。
这表明不存在其他配置文件,仅使用httpd.conf来存储所有配置选项。
Timeout300Timeout定义了客户端程序与服务器连接的超时时间间隔。
如果超过此时间间隔(以秒为单位),服务器将断开与客户端的连接。
KeepAliveOn在HTTP1.0中,一个连接只能发送一个HTTP请求,KeepAlive参数支持HTTP1.1版本的单连接多传特性,允许一个连接发送多个HTTP请求。

此功能仅在现代浏览器中受支持,但请启用此选项。
MaxKeepAliveRequests100MaxKeepAliveRequests是一个连接上可以发出的最大HTTP请求数。
将值设置为0支持单个连接内无限的传输请求。
实际上,客户端程序不会在连接上请求太多页面,并且连接通常会在达到此上限之前完成。
KeepAliveTimeout15KeepAliveTimeout测试在连接上发送多个请求之间的时间。
如果服务器完成了一个请求但没有收到客户端程序的下一个请求,则当此间隔超过为连接设置的值时,服务器将断开连接。
MinSpareServers5MaxSpareServers10使用子进程处理HTTP请求的Web服务器在响应时间上会遇到轻微的延迟,因为必须首先生成子进程来处理客户的请求。
然而,Apache服务器使用特殊技术来解决这个问题。
这意味着当请求发生时,这些空闲子进程立即被用来处理,因此系统上驻留有多个空闲子进程。
不会因子进程创建而造成延迟。
随着操作期间客户端请求数量的增加,启动的子进程的数量也会增加。
但是,这些服务器副本在处理完HTTP请求后不会立即终止;它们仍保留在计算机上等待下一个请求。
然而,备用子进程副本的数量不能在不减少的情况下增加。
如果没有处理工作并且有太多备用子进程占用了服务器的处理能力,则可能需要限制备用副本的数量以保持合理的计数。
两者都可以通过及时响应客户请求来减少不必要的流程。
因此,使用MinSpareServers参数设置最小空闲子进程数,使用MaxSpareServers参数设置最小空闲子进程数。
您可以限制空闲子进程的最大数量并确保终止冗余服务器进程副本。
请根据服务器实际情况进行设置。
如果您的服务器性能较高且访问频繁,则应增大这两个参数的设置。
对于高负载的专业网站,这两个值应该大致相等,等于系统支持的最大服务器副本数量,同时也减少不必要的副本关闭。
StartServers5StartServers参数用于设置httpd启动时启动的子进程副本数量。
该参数与上面定义的MinSpareServers和MaxSpareServers参数相关,这两个参数都用于启动空闲子进程,以提高服务器的响应能力。
该参数应设置为前两个值之间的一个值。
任何小于MinSpareServers和大于MaxSpareServers的值都是没有意义的。
MaxClients150另一方面,服务器的能力最终是有限的,不可能同时处理无限数量的连接请求。
因此,Maxclients参数用于指定服务器支持的最大并发访问客户端数。
如果该值设置得太高,系统在繁忙时将不得不在过多的进程之间切换以服务过多的客户,从而减慢对每个客户的响应速度并降低整体效率。
将此值设置得较小会导致系统繁忙时某些客户端连接请求被拒绝。
如果您的服务器性能较高,可以适当增大该值的设置。
对于专业网站来说,必须采用策略来提高服务器效率,所以这个参数不能超过硬件本身的限制。
如果您经常遇到连接被拒绝的情况,您可能需要升级服务器硬件。
对于不太关心客户浏览器响应速度的非专业网站,或者慢响应比拒绝连接更好的非专业网站,您可能需要将此参数设置为比硬件条件稍高一些。
该参数限制MinSpareServers和MaxSpareServers的设置,并且不能大于该参数的设置。
MaxRequestsPerChild30使用子进程来提供Web服务。
一种常见的方法是让子进程提供连接。
这导致的问题是每个连接都需要一个系统任务来生成和终止一个子进程。
该过程占用大量的计算机处理能力。
因此,最佳实践是允许子进程处理多个连接请求,这样您就不必花费系统创建和终止进程的时间。
连接完成后,Apache不会终止子进程。
但是,它通过留在系统上等待下一个服务请求来显着提高性能。
但由于子进程在处理过程中必须不断地申请和释放内存,因此会过于频繁地产生内存垃圾,影响系统的稳定性和系统资源的有效利用。
因此,可以提高系统稳定性,因为子进程副本可以在副本服务了一定数量的请求后终止,并且可以从原始httpd进程复制回干净的副本。
这样每个子进程处理的服务请求数由MaxRequestPerChild定义。
默认值是30,对于高可靠的Linux系统来说太保守了。
您可以将其设置为1000或更高;设置为0支持对每个副本进行无限制的服务处理。
#Listen3000#Listen12.34.56.78:80#BindAddress*Listen该参数可以指定服务器监听标准端口80以外的端口上的HTTP请求。
由于FreeBSD系统可以同时拥有多个IP地址,因此您还可以指定服务器仅侦听特定BindAddressIP地址的HTTP请求。
如果未配置,服务器将响应任何IP的请求。
即使使用BindAddress参数使服务器仅响应对一个IP地址的请求,也可以使用扩展Listen参数使HTTP守护程序响应对其他IP地址的请求。
此时Listen参数的用法与上面第二个例子相同。
这种更复杂的用法主要用于设置虚拟主机。
之后,您可以使用VirtualHost参数来定义具有不同IP的虚拟主机。
然而,这种用法在实践中并不是很有用,因为旧的HTTP1.0标准要求每个虚拟主机都有一个IP地址。
HTTP1.1通过添加对具有单个IP地址和多个域名的虚拟主机的支持,使虚拟主机设置变得更有意义。
LoadModulemime_magic_modulelibexec/apache/mod_mime_magic.soLoadModuleinfo_modulelibexec/apache/mod_info.soLoadModulespeling_modulelibexec/apache/mod_speling.soLoadModuleproxy_modulelibexec/apache/libproxy.soLoadModulerewrite_modulelibexec/apache/mod_rewrite.soLoadModuleanon_auth_modulelibexec/apache/mod_auth_anon.soLoadModuledb_auth_modulelibexec/apache/mod_auth_db.soLoadModuledigest_modulelibexec/apache/mod_digest.soLoadModulecern_meta_modulelibexec/apache/mod_cern_meta.soLoadModuleexpires_modulelibexec/apache/mod_expires.soLoadModuleheaders_modulelibexec/apache/mod_headers.soLoadModuleusertrack_modulelibexec/apache/mod_usertrack.soLoadModuleunique_id_modulelibexec/apache/mod_unique_id.soClearModuleListAddModulemod_env.cAddModulemod_log_config.cAddModulemod_mime_magic.cAddModulemod_mime.cAddModulemod_negotiation.cAddModulemod_status.cAddModulemod_info.cAddModulemod_include.cAddModulemod_autoindex.cAddModulemod_dir.cAddModulemod_cgi.cAddModulemod_asis.cAddModulemod_imap.cAddModulemod_actions.cAddModulemod_speling.cAddModulemod_userdir.cAddModulemod_proxy.cAddModulemod_alias.cAddModulemod_rewrite.cAddModulemod_access.cAddModulemod_auth.cAddModulemod_auth_anon.cAddModulemod_auth_db.cAddModulemod_digest.cAddModulemod_cern_meta.cAddModulemod_expires.cAddModulemod_hEarers.cAddModulemod_usertrack.cAddModulemod_unique_id.cAddModulemod_so.cAddModulemod_setenvif.cApache服务器的一个重要特征是其模块化结构。
这表明不仅可以在编译时通过新模块添加新功能,而且还可以动态加载这些模块。
创建一个http服务程序,不加载不必要的模块。
要使用Apache的动态加载模块,只需设置LoadModule和AddModule参数即可。
这是Apache的DynamicSharedObject(DSO)功能,但除此之外它仍然不是一个小问题。
请相应地改变。
此设置可能会阻止服务器正常启动。
因此,除非您想增加或减少服务器提供的功能,否则请勿更改此处的任何设置。
上面的列表显示了Linux上的默认Apache服务器。
显示支持的模块。
您实际上并不需要很多模块,并且不必要的模块不会加载到内存中。
模块可以静态链接到内部pache服务器或动态加载。
这不是Apache的原生方法,它提供了很大的灵活性,而几乎没有性能牺牲,而是一个将所有Apache功能编译成可以动态加载的模块的端口。
所以动态加载功能会对性能产生轻微的影响,因此重新编译Apache并将所需的功能编译到Apache服务器中可能会导致系统更干净,效率略有提高。
通常,您不需要为此目的重新编译Apache。
如果您需要重新编译Apache以添加其他功能,您还可以添加其他模块并将它们全部静态链接到Apache服务器。
有些用户更喜欢动态加载的模块,因此您也可以为所有用户使用动态加载的模块。
这些模块位于/usr/local/apache/libexec/目录下,每个模块对应Apache服务器的一个功能。
详细描述每个模块的功能需要相当多的篇幅。
各个模块的具体功能和使用方法将在后面相应章节中进行讲解。
#ExtendedStatusOnApache服务器可以通过特殊的HTTP请求报告自己的运行状态。
打开此ExtendStatus参数可以让服务器报告更全面的执行状态信息。