Linux下配置Apache httpd

注册 Vultr VPS 送你10美金 免费玩4个月

httpd是Apache超文本传输协议(HTTP)服务器的主程序。它被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池对外提供服务。httpd支持基于 虚拟主机,以及基于HOST、IP、PORT实现虚拟主机,反向代理,负载均衡,路径别名,用户认证,basic,支持第三方模块等众多特性。本文主要描述了Linux下httpd(2.2版本)的相关基本配置。

1、配置文件概述

配置文件,主要分为3个部分:
        # grep "Section" /etc/httpd/conf/httpd.conf
        ### Section 1: Global Environment(全局环境配置)
        ### Section 2: 'Main' server configuration (核心服务器配置)
        ### Section 3: Virtual Hosts(虚拟主机配置,即建多个站点)

        注意:Main Server和Virtual Hosts不同时使用;默认启用的是Main Server;

    配置文件的语法 
        指令 值
            指令:不区分字符大小写
            值:区分字符大小写

    校验配置文件      
        httpd -t: 检查配置文件语法
        service httpd configtest        

    当前配置使用的版本
    # /usr/sbin/httpd -v
        Server version: Apache/2.2.15 (Unix)
        Server built:   Aug 13 2013 17:29:28

2、关闭欢迎页面

/etc/httpd/conf.d/welcome.conf:重命名(不以.conf结尾)或删除

3、定义ServerRoot

    ServerRoot "/etc/httpd"
        定义httpd顶级目录,用于存放配置,错误,日志文件等
        目录尾部不要使用斜杠

4、指定监听的地址和端口

    Listen [IP:]PORT
    注意:Listen可以出现多次

5、定义默认的主页面

    DirectoryIndex index.html index.html.var  index.php

6、设定默认字符集

        AddDefaultCharset UTF-8
        常用字符集:UTF-8, GBK, GB2312, GB18030

7、配置持久连接

    KeepAlive Off|On            持久链接是开启还是关闭
    MaxKeepAliveRequests 100    一次长连接最大能访问多少个资源,达到后会断开
    KeepAliveTimeout 15         一次长连接的超时时长

8、模块动态装卸载

    LoadModule foo_module modules/mod_foo.so

    相对于ServerRoot参数所指定的路径;
        ServerRoot /etc/httpd

    可以参考:   [Linux下安装Apache httpd](http://blog.csdn.net/leshami/article/details/49906229) 

9、工作模式参数配置

<IfModule prefork.c>            (prefork工作模式)
    StartServers       8            (启动8个空闲进程)
    MinSpareServers    5            (最少空闲进程为5)
    MaxSpareServers   20            (最大空闲进程为20)
    ServerLimit      256            (最多客户端数)
    MaxClients       256            (最多客户端数)
    MaxRequestsPerChild  4000       (每个子进程最大处理多少个请求)
    </IfModule>

    <IfModule worker.c>             (work工作模式)
    StartServers         4          (启动进程数)
    MaxClients         300           
    MinSpareThreads     25
    MaxSpareThreads     75
    ThreadsPerChild     25          (每个进程最多启动多少个线程)
    MaxRequestsPerChild  0
    </IfModule>

    注意:修改了装载的模块后,reload即可生效;

10、指定Main Server的docroot,用于设定URL的根路径,即与服务器上文件路径的映射关系

DocumentRoot "/var/www/html"

    例如:/u01/web     此处DocumentRoot为/u01/web
        文件系统路径:/u01/web/bbs/upload/a.rar
        则URL路径为:http://Server_IP/bbs/upload/a.rar

    # mkdir -p /u01/web
    # echo "This is a new site location" > /u01/web/index.html
    # vi /etc/httpd/conf/httpd.conf    ###修改为/u01/web
    # service httpd reload
    # curl http://192.168.21.10
    This is a new site location

11、站点路径访问控制

/etc/httpd/conf.d/welcome.conf:重命名(不以.conf结尾)或删除

0

12、Directory容器中的访问控制定义

/etc/httpd/conf.d/welcome.conf:重命名(不以.conf结尾)或删除

1

13、内置的status页面

/etc/httpd/conf.d/welcome.conf:重命名(不以.conf结尾)或删除

2

14、虚拟主机

/etc/httpd/conf.d/welcome.conf:重命名(不以.conf结尾)或删除

3

15、配置日志功能

/etc/httpd/conf.d/welcome.conf:重命名(不以.conf结尾)或删除

4

16、与配置相关的一些命令

/etc/httpd/conf.d/welcome.conf:重命名(不以.conf结尾)或删除

5

注册 Vultr VPS 送你10美金 免费玩4个月