重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
apache httpd.conf详解
配置文件主要有三大部分
1.全局配置文件
2.主机配置文件
3.虚拟主机
#1.全局配置文件
##1.ServerRoot
Define SRVROOT "D:/softDown/apache/Apache24" ServerRoot "${SRVROOT}"
指定apache运行目录,后面使用到的所有相对路径都是在这个目录下(包括:服务器配置、出错信息、日志文件等)。
##2.Listen
#Listen 12.34.56.78:80 Listen 80
apache服务器监听的端口
##3.LoadModule
动态共享对象,apache启动时加载的模块。
##4.unixd_module
用于指定该apache服务器可以应用于不同的用户/组。
#2.主配置文件
##1.ServerAdmin admin@example.com
管理员的邮箱,如果apache服务器有任何问题,都会向这个邮箱发送消息.这个地址会存在于错误日志中。
##2.ServerName localhost:80
服务器的名称及端口,默认情况下不需要修改
##3.控制访问权限
设置web服务器针对目录文档的访问权限控制
##4.DocumentRoot "${SRVROOT}/htdocs"
它定义了apache服务器静态网页存放路径,默认情况下,所有的请求都以这个目录为基础。
该目录可以添加子目录,以及可以使用符号连接指定文件(即f:testss.jsp,这样就可以访问计算机上任何位置的文件,因此它是不安全的,参数FollowSymLinks可以设置打开/关闭 支持符号的连接),请求时需要在请求路径上加上该子目录(符号)作为路径。
##5.目录控制
如上是设置根目录以及其子目录下所有文件的访问权限控制,由于apache对一个目录的访问控制权限设置的是可以被下一级目录继承的,因此对根目录的设置将影响它的下一级目录。
Options中的indexs表示访问网页不存在的时候是否允许索引显示目录中的文件,FollowSymLinks表示是否允许访问符号连接文件。
AllowOverride设置对每个目录访问控制文件的影响,none表示不需要查看该目录下文件的访问控制权限,直接访问。
Require all granted 表示赋予请求所有的权限。
##6.dir_module
设置apache服务器的目录索引,这也是为什么我们安装好apache服务器后,只需要在地址栏输入localhost就可以请求到指定地址${SRVROOT}/htdocs下面的index.html。很多情况下,请求的url中并没有指定文档的名字,只是给了一个目录名,那么apache服务器会自动返回这个目录下由DirectoryIndex指定的文件列表,供用户选择,能否显示目录列表取决于Options Indexes的设置。预设多个索引文件名可以使用 空格 来分隔。
##7.控制请求
原文解释如下:The following lines prevent .htaccess and .htpasswd files from being viewed by Web clients.
##8.日志记录部分
ErrorLog "logs/error.log" 错误日志路径
LogLevel warn 错误日志级别
如上部分都是设置错误日志相关内容。
##9.命别名模块
Redirect:它是用来重写url的,当浏览器访问服务器上一个已经不存在的资源的时候,服务器返回给浏览器新的url,告诉浏览器从新的url获取资源。
这主要用于原来存放于服务器上的文档,改变了位置之后,而又希望使用老的url可以访问到,用以保持与以前的url兼容。
Alias:给路径命别名,即前者是虚拟路径,后面才是真实的路径。其实就是起一个路径映射作用。ScriptAlias:它与Alias一样,也是映射路径用的,但是ScriptAlias只用于映射CGI程序的路径,这个路径下的文件都被定义成cgi程序,通过执行它们来获得结果,而非由服务器直接返回其内容。
##10.媒体类型模块
TypesConfig:记录媒体类型文件存放位置,默认是text/plain。
如果服务器上主要包含的是文本文档或html文档,"text/plain"是比较好的设置;如果服务器上主要是包含二进制文件,如应用程序或图片等,则应该设置成application/octet-stream。
AddType:它允许我们为某一些文件添加指定类型格式。
AddEncoding:添加一些压缩格式,告诉浏览器这些格式,让浏览器可以进行解压缩操作。
AddType:如果AddEncoding被注释掉了,则必须在这里定义扩展媒体类型。
AddHandler:用于处理非静态文件类型。
AddOutputFilter:添加过滤器,允许我们将处理结果过滤后在返给客户端。
##11.动态目录列表配置
Include conf/extra/httpd-autoindex.conf
##12.请求信息配置
Include conf/extra/httpd-info.conf
#3.虚拟主机
##1.mod_proxy_html
配置动态mod_proxy_html。
apache服务器本身具备代理的功能,如上的配置信息是:如果存在proxy_html_module模块,则导入该配置文件,即可以使用ProxyRequests打开代理支持。
备注:如果使用mod_jk作为代理的话,需要屏蔽这里,添加上mod_jk的配置文件。
##2.安全连接模块