Apache2.4之httpd.conf配置详解

常用配置项:

使用httpd-vhosts.conf,开启虚拟主机:Include "conf/extra/httpd-vhosts.conf"前面的注释,表示开启虚拟主机

1)ServerRoot 根路径

2)Listen  指定服务器监听的ip和端口

3)LoadModule  Apache加载动态文件,如果要与PHP结合,就需要加载PHP的.so文件

4)User和Group  指定用户名和用户组名,这样可以限制Apache的权限,以防其他人通过Apache进行非法操作

5)ServerAdmin  指定接受Server消息的邮箱,如果服务器出了什么问题,可以通过向这个邮箱地址发送邮件来通知我们

6)Directory  设置接入访问权限

7)DocumentRoot  指定Apache网站的默认路径

8)ErrorLog  指定服务器log文件存储的地址

  
  
  


1、ServerRoot服务器的基础目录,一般来说它将包含conf/和logs/子目录,其它配置文件的相对路径即基于此目录。默认为安装目录,不需更改。

    语法:ServerRoot    /path/to/directory

    例如:ServerRoot    "/usr/local/apache"

2.、PidFile定义其pid文件所在的位置

    语法:PidFile    /path/to/apache/pid

    例如:Pidfile    "/var/run/httpd/httpd24.pid"

3、Listen定义apache监听的端口

    语法:Listen    [IpAddress:]port

       例如:Listen        80

4、LoadModule加载特定的DSO模块。Apache默认将已编译的DSO模块存放于/usr/local/apache/modules目录结中。如果想使用使用某一个DSO模块,需用LoadModule指令进行加载;

    语法:LoadModule    some_module           /path/to/module

    例如:LoadModule    mpm_prefork_module    modules/mod_mpm_prefork.so

5、User设置实际提供服务的子进程的用户。为了使用这个指令,服务器必须以root身份启动和初始化。如果你以非root身份启动服务器,子进程将不能够切换至指定用户,并继续以启动服务器的原始用户身份运行。如果确实以root用户启动了服务器,那么父进程将仍然以root身份运行。

        语法:User    user_name

    例如:User    daemon        #apache默认是以daemon用户的身份执行的

6、Group设置提供服务的Apache子进程运行时的用户组。为了使用这个指令,Apache必须以root初始化启动,否则在切换用户组时会失败,并继续以初始化启动时的用户组运行;

    语法:Group    group_name

    例如:Group    daemon

7、ServerAdmin设置管理员邮件地址,当apache服务器发生错误的时候,邮件地址就会出现在错误页面上。

    语法:ServerAdmin    email_address

    例如:ServerAdmin    1005969720@qq.com

8、ServerName设置服务器用于辨识自己的主机名和端口号。

    语法:ServerName    主机名[:port]

    例如:ServerName    www.example.com

9、DocumentRoot:设置网站根目录,服务器会将请求中的URL附加到DocumentRoot后面以构成指向文档的路径。

    语法:DowumentRoot    /path/to/someFile

    例如:DocumentRoot    "/web/a.com/htdocs"

10、配置页面访问属性

    <Direcrory "/path/to/somewhere">
        Options:
            Indexes:缺少指定的默认页面时,允许将目录中的所有文件以列表形式返回给用户;
            FollowSymLinks:是否将符号连接所指向的文件打开;
            None:所有选项都不启用
            All:所有选项都启用
            ExecCGI:允许使用mod_cgi模块执行CGI脚本
            Includes:允许使用mod_include模块实现SSI(服务器端包含)
            MultiViews:允许使用mod_negotiation(协商),实现内容协商
            SymLinksifOwnerMatch:在链接文件属主数组与原始文件的属主属组相同时,允许跟随符号链接所指向的原始文件;
    </Direcrory>

注:MultiViews:协商可以这样理解,假如网页有中文的,英文的,阿拉伯文的,而用户需要中文的,则客户端和服务端进行协商,最后把中文的网页发送给用户,这就是协商;

11、CustomLog:定义日志文件的文件名和格式;

    语法:CustomLog     "/path/to/access_log_file"    Format_Name

    例如:CustomLog    “/var/log/httpd24/a.com/access/www.a.com-access.log    combined

12、ErrorLog:定义错误日志

    语法:ErrorLog    "/path/to/error_log"

    例如:ErrorLog    "/var/log/httpd24/a.com/error/www.a.com-error.log"

13、Alias:设置路径别名
    语法:Aliase    /alias/        "/path/to/somewhere/"
    这意味着访问http://Server_IP/alias时,其页面文件来自于/path/to/somewhere/这个位置

    例如:Aliase    /images/    "/www/htdocs/imgs/"
    注释:访问:http://192.168.180.100/images/1.gif,就相当于去访问192.168.180.100这台主机  的/www/htdocs/images/1.gif 

14、AddDefaultCharset:设置默认字符集

    语法:AddDefaultCharset    "字符集"

    例如:AddDefaultCharset    UTF8

15、ScriptAlias:设置脚本路径别名

    语法:ScriptAlias    /URL/        "/path/to/somewhere/"

    例如:ScriptAlias    /cgi-bin/    "/web/a.com/cgi-bin"

16、Allowe和Deny的匹配法则


Match         
Allow,DenyDeny,Allow
DenyDenyDeny
AllowAllowAllow
No MatchDenyDeny
Allow&DenyDenyAllow

注:allow,deny匹配法则:如果两者都匹配,则后者为默认;例如:Order Deny Allow ;这条指令,Allow为默认;

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值