设为首页 收藏本站
查看: 772|回复: 0

[经验分享] linux 下 apache服务器(四 配置文件详解)

[复制链接]

尚未签到

发表于 2015-12-8 03:40:31 | 显示全部楼层 |阅读模式
有上篇我们查看的编译参数可知,Fedora  httpd 的配置文件是:
/etc/httpd/conf/httpd.conf
执行下面的操作步骤查看Apache 默认配置。

//查看配置文件,我们可用vi 。cat ,more, less等查看。例如
vi  /etc/httpd/conf/httpd.conf

我们就此文件深入分析。
//当服务器响应主机头(header)信息时显示Apache 的版本和操作系统名称
ServerTokens OS
//设置服务器的根目录
ServerRoot "/etc/httpd"
//设置运行Apache 时使用的PidFile 的路径
PidFile run/httpd.pid
//若300 秒后没有收到或送出任何数据就切断该连接
Timeout 300
//不使用保持连接的功能,即客户一次请求连接只能响应一个文件
/建议用户将此参数的值设置为On,即允许使用保持连接的功能
KeepAlive Off
//在使用保持连接功能时,设置客户一次请求连接能响应文件的最大上限
MaxKeepAliveRequests 100
//在使用保持连接功能时,两个相邻的连接的时间间隔超过15 秒,就切断连接
KeepAliveTimeout 15
//设置使用prefork MPM 运行方式的参数,此运行方式是Red Hat 默认的方式

//设置服务器启动时运行的进程数
StartServers 8
//Apache 在运行时会根据负载的轻重自动调整空闲子进程的数目,
//若存在低于5 个空闲子进程,就创建一个新的子进程准备为客户提供服务
MinSpareServers 5
//若存在高于20 个空闲子进程,就创建逐一删除子进程来提高系统性能

MaxSpareServers 20
//限制同一时间的连接数不能超过150
MaxClients 150
//限制每个子进程在结束处理请求之前能处理的连接请求为1000
MaxRequestsPerChild 1000

//设置使用worker MPM 运行方式的参数

…………

//设置使用perchild MPM 运行方式的参数

…………

//设置服务器的监听端口
Listen 80
//将/etc/httpd/conf.d 目录下的所有以conf 结尾的配置文件包含进来
Include conf.d/*.conf
//动态加载模块(DSO)
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
………………………………
LoadModule proxy_connect_module modules/mod_proxy_connect.so
//当使用内置模块prefork.c 时动态加载cgi_module

LoadModule cgi_module modules/mod_cgi.so

//当使用内置模块worker.c 时动态加载cgid_module

LoadModule cgid_module modules/mod_cgid.so

//设置运行Apache 服务器的用户和组
User apache
Group apache
//设置Apache 服务器管理员的E-mail 地址
ServerAdmin
root@localhost
//关闭此选项,当Apache 服务器需要指向本身的连接时使用
//ServerName:Port 作为主机名,例如
www.jamond.net:80
//若打开此选项将使用www.jamond.net port 80 作为主机名
UseCanonicalName Off
//设置根文档路径
DocumentRoot "/var/www/html"
//设置Apache 服务器根的访问权限

//允许符号链接跟随,访问不在本目录下的文件
Options FollowSymLinks
//禁止读取.htaccess 配置文件的内容
AllowOverride None

//设置根文档目录的访问权限

//Indexes:当在目录中找不到DirectoryIndex 列表中指定的文件
// 就生成当前目录的文件列表
//FollowSymLinks:允许符号链接跟随,访问不在本目录下的文件
Options Indexes FollowSymLinks
//禁止读取.htaccess 配置文件的内容
AllowOverride None
//指定先执行Allow(允许)访问规则,再执行Deny(拒绝)访问规则
Order allow,deny
//设置Allow(允许)访问规则,允许所有连接
Allow from all

//对Apache 服务器根的访问不生成目录列表,同时指定错误输出页面
s %b \"%{Referer}i\" \"%{User-Agent}i\""
combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
//指定访问日志的记录格式为combined(混合型),并指定访问日志存放位置
CustomLog logs/access_log combined
//设置Apache 自己产生的页面中使用Apache 服务器版本的签名
ServerSignature On
//设置内容协商目录的访问别名
Alias /icons/ "/var/www/icons/"
//设置/var/www/icons 目录的访问权限

// MultiViews:使用内容协商功能决定被发送的网页的性质
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all

//设置Apche 手册的访问别名
Alias /manual "/var/www/manual"
//设置/var/www/manual 目录的访问权限

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny

Allow from all

//指定DAV 加锁数据库文件的存放位置

DAVLockDB /var/lib/dav/lockdb

//设置CGI 目录的访问别名
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
//由于Red Hat 中不使用worker MPM 运行方式,所以不加载mod_cgid.c 模块

Scriptsock run/httpd.cgid

//设置CGI 目录的访问权限

AllowOverride None
Options None
Order allow,deny
Allow from all

//设置自动生成目录列表的显示方式
// FancyIndexing:对每种类型的文件前加上一个小图标以示区别
// VersionSort:对同一个软件的多个版本进行排序
// NameWidth=*:文件名子段自动适应当前目录下最长文件名
IndexOptions FancyIndexing VersionSort NameWidth=*
//当使用IndexOptions FancyIndexing 之后,配置下面的参数,
//用于告知服务器在遇到不同的文件类型或扩展名时采用MIME 编码格式
//辨别文件类型并显示相应的图标
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-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/*
//当使用IndexOptions FancyIndexing 之后,配置下面的参数,
//用于告知服务器在遇到不同的文件类型或扩展名时采用所指定的格式
//并显示所对应的图标
AddIcon /icons/binary.gif .bin .exe
………………
AddIcon /icons/blank.gif ^^BLANKICON^^
//当使用IndexOptions FancyIndexing 之后,且无法识别文件类型时
//显示此处定义的图标
DefaultIcon /icons/unknown.gif
//当服务器自动列出目录列表时,在所生成的页面之后显示README.html 的内容

ReadmeName README.html
//当服务器自动列出目录列表时,在所生成的页面之前显示HEADER.html 的内容
HeaderName HEADER.html
//设置在线浏览用户可以实时解压缩.Z .gz .tgz 类型的文件
//并非所有浏览器都支持
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
//设置网页内容的语言种类(浏览器要启用内容协商)
//对中文网页,此项无实际意义
AddLanguage da .dk
…………
AddLanguage hr .hr
//当启用内容协商时,设置语言的先后顺序
LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv
tw
// Prefer:当有多种语言可以匹配时,使用LanguagePriority 列表的第1 项
// Fallback:当没有语言可以匹配时,使用LanguagePriority 列表的第1 项
ForceLanguagePriority Prefer Fallback
//设置默认字符集
AddDefaultCharset ISO-8859-1
//设置各种字符集
AddCharset ISO-8859-1 .iso8859-1 .latin1
……………………
AddCharset shift_jis .sjis
//添加新的MIME 类型(避免用户编辑/etc/mime.types)
AddType application/x-tar .tgz
//设置Apache 对某些扩展名的处理方式
AddHandler imap-file map
AddHandler type-map var
//使用过滤器执行SSI
AddOutputFilter INCLUDES .shtml
//设置错误页面目录的别名
Alias /error/ "/var/www/error/"
//设置/var/www/error 目录的访问权限



AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var

Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback

//设置错误输出页面
ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
………………
ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var


//设置浏览器匹配
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider"
redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully

下面将Red Hat 9 的Apache的默认重要配置信息汇总如下:
配置文件:/etc/httpd/conf/httpd.conf
服务器的根目录: /etc/httpd
根文档目录: /var/www/html
访问日志文件:/var/log/httpd/access_log
错误日志文件:/var/log/httpd/error_log
运行Apache 的用户:apache
运行Apache 的组: apache
端口:80
模块存放路径:/usr/lib/httpd/modules
prefork MPM 运行方式的参数:
StartServers 8
MinSpareServers 5
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 1000

믹놾엤훃
默认配置为用户提供了一个良好的模板。基本的配置几乎不需要进行修改。但用户应
该考虑修改或添加如下的基本配置指令。
1.KeepAlive
将KeepAlive 的值设为On,以便提高访问性能。
2.MaxClients
根据服务容量修改此值。
3.ServerAdmin
将ServerAdmin 的值设为Apache 服务器管理员的E-mail地址。
4.ServerName
首先删除ServerName 前的注释符号“#”,然后设置服务器的FQDN。
5.DirectoryIndex
在此指令后添加其他的默认主页文件名,例如可以添加index.htm等。
6.IndexOptions
可以在此指令后添加FoldersFirst 表示让目录列在前面(类似于资源管理器)。

7 使用Include 指令
可以使用Include 指令将主配置文件进行分割。例如可以将所有与虚拟主机配置相关的

配置单独存成一个配置文件,然后在主配置文件中将其包含进来。
在Red Hat Linux 9的默认配置中,就包含了一个Include指令Include conf.d/*.conf,用
于将/etc/httpd/conf.d 目录下的所有以conf结尾的配置文件包含进来。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-148180-1-1.html 上篇帖子: Mini2440 Linux2.6.32.2移植(2) 下篇帖子: linux下如何完全删除mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表