CentOS6 Apache配置详解(上)

CentOS6 Apache配置详解(上)
操作系统:CentOS 6.2                                       
apache版本:2.2.15

##############################################################
相关配置文件及目录
/etc/httpd/conf/httpd.conf        主配置文件
/etc/httpd/conf.d/*.conf        include进来的额外参数或配置
/usr/lib/httpd/modules            模块
/var/www/html                默认首页所在的目录
/var/www/error                日志或其它信息错误所在目录
/var/www/icons                默认的一些小图标
/var/www/cgi-bin            CGI(comman gateway interface)程序放置的目录

二进制或可执行脚本
/usr/bin/httpd
/usr/bin/htpasswd
/usr/bin/apachectl

/etc/my.cnf                mysql的主要配置文件
/var/lib/mysql                mysql数据库存放的位置

/usr/lib/httpd/modules/libphp4.so    PHP提供给Apache使用的模块
/etc/httpd/conf.d/php.conf        PHP提供给Apache使用的额外配置
/etc/php.ini                php的主配置文件



##############################################################
LAMP架构 相关软件
##############################################################
httpd

mysql
mysql-server

php
php-devel
php-mysql

补充软件
httpd-manual    手册
mrtg        自动生成主机流量图表
mod_wsgi    支持python写的网页
mod_perl    支持perl写的网页
mod_ssl        支持https



##############################################################
主机环境设置的项目
##############################################################
ServerTokens OS            告诉客户端WWW服务器的版本与操作系统,还有(Full | OS | Minor | Minimal | Major | Prod)这几个选项
ServerRoot "/etc/httpd"        标识带有配置,错误和日志等文件
PidFile    run/httpd.pid        进程号
Timeout    120            持续联机等待超时120秒则中断
KeepAlive ON            是否允许持续性联机,一次联机就会将所有的数据传送完成
MaxKeepAliveRequests 1000    当KeepAlive为ON时,这个数值可决定该次联机能传输的最大传输数量。
KeepAliveTimeout 15        最后一次传输后等待延迟的秒数
DirectoryIndex            首先类型,如:index.htm index.cgi index.php3 index.pl



#######################################################################
别名机制
#######################################################################
Alias /icons/ "/var/www/icons/"


    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

用于制作类似的连接文件,http://localhost/icons  其实/var/www/html并没有icons的目录,由于Alias的关系会让该网址直接连接到/var/www/icons/下,因设置了一个新的可浏览目录,所以多了一个来规范权限

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"


    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

与上面的类似,可以指定该目录下面为“具有ExecCGI”能力的目录所在,就不必额外设置其他的目录来旋转您的CGI程序



#######################################################################
服务器联机资源相关
#######################################################################

StartServers             启动apache时同时启动的process数量
MinSpareServers          最小备用程序数
MaxSpareServers   20        最大备用程序数
ServerLimit      256       
MaxClients       256        最大同时联机数
MaxRequestsPerChild  4000    每个程序能够提供的最大传输次数要求



StartServers         4
MaxClients         300
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0


worker模块占用的内存较小,对于流量较大的网站来说是一个比较好的选择
profork虽然占用较大内存,不过速度与worker差异不大,且内存使用设计较为优秀,可以在很多无法提供debug的平台上进行自我除错
默认提供prefork模块,可以修改/etc/sysconfig/httpd来使用worker模块



#######################################################################
Listen 80        默认开放在所有网络接口上的80端口,
                    Listen 192.168.100.2:80
                    Listen 58.195.172.229:8000
LoadModule        加载模块
Include conf.d/*.conf    额外的配置加载项

User     apache
Group    apache
指prework worker等模块启动的process的拥有者与群组设置

ServerAdmin foo@linux.com    管理员邮箱
ServerName  www.foo.com        主机名

UserCanonicalName    off    是否使用标准主机名称,如果有多个主机名,若设置为on那么apache只接收上面Server N巩膜指定的主机名称联机,建议使用off



#######################################################################
语言相关
#######################################################################

AddLanguage
AddCharset
AddDefaultCharset
LanguagePriority    语言优先级



#######################################################################
Options
#######################################################################
Indexes        在此目录下找不到“首页文件”,就显示整个目录下的文件名
FollowSymLinks    在此目录下的连接文件可以连接出此目录外
ExecCGI        让此目录具有执行CGI程序的权限
Includes    让一些Server-Side Include程序可以运行,建议加上
MultiViews    目录允许内容协商的多重视图,具有一定的智能特性,如:"http://locallhsot/icons/a"时,apache会查找icons下的所有a.*文件,当没有任何匹配时才返回错误信息.

ALL        除了MultiViews之外的所有设置
IncludesNOEXEC    允许SSI脚本但禁止CGI脚本
SymLinksIfOwnerMatch    如果目标文件或目录由同一个用户所拥有,跟随符号链接



#######################################################################
AllowOverride 是否允许额外配置文件.htaccess的权限复写
#######################################################################
ALL        全部权限均可被复写
AuthConfig    仅网页认证(账号密码)可复写
Indexes        仅Indexes
Limit        允许用户利用Allow Deny Order管理可浏览的权限
FileInfo    允许配置各种文档类型
None        不可复写,即.htaccess文件失效



#######################################################################
Order 决定是否可被浏览的权限设置
#######################################################################
deny allow    以deny优先处理,但没有写入规则的则默认为allow
deny allow    以allow优先处理,但没有写入规则的则默认为deny


    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 192.168.100.0/24
    Allow from 58.195.172.0/24




#######################################################################
信息(错误)通知
#######################################################################
   ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
   ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
   ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
   ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
   ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
   ErrorDocument 410 /error/HTTP_GONE.html.var
   ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
   ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
   ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
   ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
   ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
   ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
   ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
   ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
   ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
   ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var



#######################################################################
主机状态说明网页
#######################################################################
ExtendedStatus On


    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 192.168.100.0/24
    Allow from 58.195.172.0/24


主机infomation网页

    SetHandler server-info
    Order deny,allow
    Deny from all
    Allow from 192.168.100.0/24
    Allow from 58.195.172.0/24




#######################################################################
.htaccess与认证网页设置
#######################################################################
1.开启.htaccess的功能
AccessFileName .htaccess


    Order allow,deny
    Deny from all
    Satisfy All


2.定义受保护的目录

    Options Indexes MultiViews FollowSymLinks
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all


3.在受保护目录下建立.htaccess
cd /home/shihan
vi .htaccess

AuthName    "Protect test by .htaccess" 提示字符
AuthType    Basic                认证类型
AuthUserFile    /home/shihan/shihan.passwd  账号密码的设置文件
require user     test liujun shihan        可以使用的账号,这里设了3个

4.生成密码文件
htpasswd -c /home/shihan/shihan.passwd test1
-c creat的意思,当文件不存在时用到,
添加用户
htpasswd /home/shihan/shihan.passwd test2



#######################################################################
代理服务器
#######################################################################

ProxyRequests On


    Order deny,allow
    Deny from all
    Allow from .example.com    依实际情况修改


ProxyVia On    如有多个代理服务器,则应开启此项

如果没有配置高速缓存,代理服务器就毫无用处.以下是高速缓存的默认设置

   CacheEnable disk /
   CacheRoot "/var/cache/mod_proxy"




#############
高速缓存指令
#############
CacheEnable        支持一个指定目录的缓存
CacheLastModifiedFactor    设置文件在高速缓存中的有效期限
CacheDefaultExpire    用秒为单位设置一个文档的缓存期限
CacheMaxExpire        用秒为单位设置一个文档的最大缓存时间量
CacheGcInterval        用小时为单位设置从高速缓存中清除旧数据的间隔时间
CacheRoot        配置含有代理服务器高速缓存的默认目录
CacheSize        用字节为单位设置高速缓存的大小


posted @ 2014-04-07 12:28  李庆喜  阅读(347)  评论(0编辑  收藏  举报