• 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        用字节为单位设置高速缓存的大小


  • 相关阅读:
    Javascript之让图片固定在一个位置
    Android之AIDL实现Demo
    android listview 上下边缘的模糊去掉
    Android中Application设置全局变量以及传值
    Android之在Bitmap上涂鸦效果
    Android之TabHost重定义
    Android数据库升级实例,已更新
    Android之更新ListView,位置置顶的问题
    Android之Parcelable使用
    Asp.Net 2.0 防盗下载文件·············
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814547.html
Copyright © 2020-2023  润新知