三、Apache目录结构与配置文件

一、Apache目录结构

1.1 目录组成

[root@lamp apache2]# cd /usr/local/apache2/
[root@lamp apache2]# tree ./ -L 1
./
├── bin #apache的命令目录
├── build
├── cgi-bin
├── conf #apache配置文件存放目录
├── error
├── htdocs #apache默认站点目录
├── icons
├── include
├── logs #apache日志文件存放目录
├── man
├── manual
└── modules

1.2 bin子目录

[root@lamp apache2]# tree ./bin
./bin
├── ab		#HTTP服务器性能测试工具
├── apachectl	#apache启动命令
├── apxs
├── checkgid
├── dbmmanage
├── envvars
├── envvars-std
├── fcgistarter
├── htcacheclean	#清理磁盘缓冲区命令
├── htdbm
├── htdigest
├── htpasswd	#建立和更新基本认证文件
├── httpd	#apache控制命令程序,执行apachectl命令会调用该命令
├── httxt2dbm
├── logresolve
└── rotatelogs	#apache自带的日志轮询命令

1.3 conf子目录

[root@lamp apache2]# tree conf/ -L 1
conf/
├── extra	#存放一些自定义的配置文件,如虚拟主机配置文件
├── httpd.conf	#主配置文件
├── httpd.conf.bak
├── magic
├── mime.types
└── original

1.4 htdocs子目录

[root@lamp apache2]# tree htdocs/ -L 1
htdocs/
├── index.html	#apache默认站点目录
└── index.php	#自己写的测试页面

1.5 logs子目录

[root@lamp apache2]# tree logs/ -L 1
logs/
├── access_log	#apache的访问日志文件
├── error_log	#apache的错误日志文件
└── httpd.pid	#apache的PID文件

二、apache的主配置文件

以下为httpd 2.4.46版本的配置文件

[root@lamp apache2]# egrep -v "^.*#|^$" conf/httpd.conf |nl
     1	ServerRoot "/usr/local/apache2" #apache的根目录,默认只允许root用户访问
     2	Listen 80 #apache默认监听端口
     3	LoadModule mpm_prefork_module modules/mod_mpm_prefork.so #以下为开启的模块
     4	LoadModule authn_file_module modules/mod_authn_file.so
     5	LoadModule authn_core_module modules/mod_authn_core.so
     6	LoadModule authz_host_module modules/mod_authz_host.so
     7	LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
     8	LoadModule authz_user_module modules/mod_authz_user.so
     9	LoadModule authz_core_module modules/mod_authz_core.so
    10	LoadModule access_compat_module modules/mod_access_compat.so
    11	LoadModule auth_basic_module modules/mod_auth_basic.so
    12	LoadModule reqtimeout_module modules/mod_reqtimeout.so
    13	LoadModule filter_module modules/mod_filter.so
    14	LoadModule mime_module modules/mod_mime.so
    15	LoadModule log_config_module modules/mod_log_config.so
    16	LoadModule env_module modules/mod_env.so
    17	LoadModule headers_module modules/mod_headers.so
    18	LoadModule setenvif_module modules/mod_setenvif.so
    19	LoadModule version_module modules/mod_version.so
    20	LoadModule unixd_module modules/mod_unixd.so
    21	LoadModule status_module modules/mod_status.so
    22	LoadModule autoindex_module modules/mod_autoindex.so
    23	<IfModule !mpm_prefork_module>
    24	</IfModule>
    25	<IfModule mpm_prefork_module>
    26	</IfModule>
    27	LoadModule dir_module modules/mod_dir.so
    28	LoadModule alias_module modules/mod_alias.so
    29	LoadModule php_module         modules/libphp.so
    30	<IfModule unixd_module>
    31	User daemon #apache的用户,默认为daemon
    32	Group daemon #apache的用户组
    33	</IfModule>
    34	ServerAdmin localhost:80
    35	<Directory />	#apache根目录权限配置
    36	    AllowOverride none
    37	    Require all denied
    38	</Directory>
    39	DocumentRoot "/usr/local/apache2/htdocs" #apache默认站点目录
    40	<Directory "/usr/local/apache2/htdocs"> #站点目录权限
    41	    Options Indexes FollowSymLinks
    42	    AllowOverride None
    43	    Require all granted
    44	</Directory>
    45	<IfModule dir_module>
    46	    DirectoryIndex index.html
    47	</IfModule>
    48	<Files ".ht*">
    49	    Require all denied
    50	</Files>
    51	ErrorLog "logs/error_log"	#apache的错误日志路径
    52	LogLevel warn		#apache的日志级别
    53	<IfModule log_config_module>	#apache的日志格式配置
    54	    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    55	    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    56	    <IfModule logio_module>
    57	      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    58	    </IfModule>
    59	    CustomLog "logs/access_log" common	#apache的访问日志路径配置
    60	</IfModule>
    61	<IfModule alias_module>
    62	    ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
    63	</IfModule>
    64	<IfModule cgid_module>
    65	</IfModule>
    66	<Directory "/usr/local/apache2/cgi-bin">
    67	    AllowOverride None
    68	    Options None
    69	    Require all granted
    70	</Directory>
    71	<IfModule headers_module>
    72	    RequestHeader unset Proxy early
    73	</IfModule>
    74	<IfModule mime_module>
    75	    TypesConfig conf/mime.types
    76	    AddType application/x-compress .Z
    77	    AddType application/x-gzip .gz .tgz
    78	    AddType application/x-httpd-php .php
    79	    AddType application/x-httpd-php-source .phps	
    80	</IfModule>
    81	<IfModule proxy_html_module>
    82	Include conf/extra/proxy-html.conf
    83	</IfModule>
    84	<IfModule ssl_module>
    85	SSLRandomSeed startup builtin
    86	SSLRandomSeed connect builtin
    87	</IfModule>

三、参考资料

  • 《Linux系统运维指南》
posted @ 2021-05-02 17:06  努力吧阿团  阅读(636)  评论(0)    收藏  举报