linux下Apache服务器使用入门----httpd.conf

时间:2022-04-22
本文章向大家介绍linux下Apache服务器使用入门----httpd.conf,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

如果安装centos,系统本身已经安装了apache,名字为httpd这个服务就是对应的apache

service httpd start 
service httpd stop
service httpd restart

下面介绍一下apache的几个重要的配置文件

1 httpd.conf

这个文件在/etc/httpd/conf目录下,文件大致分为三个部分:

主服务器部分

这个部分主要是使用一些参数定义服务器的功能等等。

### Section 1: Global Environment

ServerTokens OS
...
ServerRoot "/etc/httpd" ---------定义与服务器所在的目录,这个目录在安装时由-prefix=ServerRoot 来选定
...
PidFile run/httpd.pid
...
Timeout 60
...
KeepAlive Off
...
MaxKeepAliveRequests 100
...
KeepAliveTimeout 15
...
ServerAdmin root@localhost-----------定义当服务器出现错误后提示给客户端的管理员邮件地址
#ServerName www.example.com:80----------定义apache默认的主机名字,但默认备注释掉
DocumentRoot "/var/www/html"----------指令用于指定apache所提供页面服务的根目录
Alias /error/ "/var/www/error/"-----------实现映射目录功能,映射为一个普通目录
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"----------实现映射,与Alias不同的是它将映射的目录识别为CGI脚本目录并将此目录中的所有文件都作为CGI脚本来对待
User apache
Group apache--------定义运行apache服务器的账号和工作组,用来定义用户请求时所创建的子进程的账号与工作组
#Listen 12.34.56.78:80--------定义监听端口号,默认是80
Listen 80
# Example:---------------------------------------------------用于加载模块的目标文件
# LoadModule foo_module modules/mod_foo.so
#
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
# Some examples:---------------------------当错误时,apache定义一个http相应代码,并根据相应代码显示相应网页
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
    <Directory "/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
    </Directory>

容器环境部分

<IfModule>作用于模块,它会首先判断是否载入,然后决定是否进行处理。

<IfModule mod_dav_fs.c>
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
</IfModule>

<IfDefine>与上面的<IfModule>类似,只有对应的条件满足时,才会执行。

<Directory>模块作用是让它所封装的指令在指定的目录以它的子目录中中起作用,这个目录必须是一个完整的路径。

    <Directory "/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
    </Directory>

<Files>这个容器与<Directory>容器作用于目录相对应,<Files>容器只作用于文件

<Files ~ "^.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

<Location>对到来的URL进行匹配

#<Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Location>

服务器扩展部分

这个部分主要就是用Inlcude来加载配置文件

Include conf.d/*.conf

在/etc/httpd/conf.d目录中:

[root@localhost httpd]# cd conf.d/
[root@localhost conf.d]# ls
mod_dnssd.conf  README  welcome.conf
[root@localhost conf.d]#