首先说明一下,apache httpd和apache2其实是一个东西,可以参考
还需要说明的是apache2.4和之前的apache2.2还是有点区别的。例如所以在配置最新的apache2.4的时候十分要注意,谨慎参考网上的配置教程
文件的路径一般是在/etc/apache2底下
文件结构如下
|-- apache2.conf | `-- ports.conf |-- mods-enabled | |-- *.load | ` -- *.conf |-- conf-enabled | `-- *.conf `-- sites-enabled -- *.confapache2.conf是apache2.conf是服务器的主要配置文件,其他模块的配置文件其实是通过在apache2.conf使用Include包含进apache2.conf中去的。在服务器启动的时候首先读取的是apache2.conf
需要说明的是有的版本安装后会有httpd.conf文件,其实那个是用于给用户进行配置的文件,也是通过Include包含进apache2.conf中去的。所以,如果没有发现httpd.conf也不要难过,振作起来……总之没有httpd.conf也没关系啦
用于设置服务器的监听端口, 该文件必须导入apache2.conf中
首先,以下三个文件夹都是用来管理配置文件的
mods-enabled/conf-enabled/sites-enabled/准确说是文件片段,因为每个类型的配置都会归为一个配置文件(后缀为.conf,或者是.load),其中.conf指的是具体的配置数据,.load指的是该类型配置所需导入的内容,例如:mpm_even.load和mpm_even.conf都是配置线程内容的
mpm_even.conf配置具体数据
mpm_even.conf配置具体数据
-availabl放的也是配置文件,但是这个是预留的还没有开启,激活的配置文件,要想激活相关的配置,就要把该配置文件symlink到对应的-enable文件夹里面去,例如配置cgi服务,就要将mods-available文件夹的cgid.load和cgid.conf文件symlink到mods-enable文件夹当中去。
有必要强调一下,其实-enable里面的配置要想激活,就要通过在-available文件夹对其进行软链接symlink来实现。 所以,要修改配置的话,首先要在相关的-available文件夹里面修改,然后symlink到-enable文件夹。 好,那么问题来了,怎么进行symlink呢?
其实在安装apache2的时候就已经安装了模块管理工具,使用命令a2enmod启动模块(实际山就是实现symlink),使用命令a2dismod关闭模块(取消symlink)
假如我要激活mods-available中的file_cache配置文件
激活前 那么就使用命令 这里写代码片
sudo a2dismod file_cache然后服务器会自动重启 激活配置 激活后 同理使用a2dismod取消symlink
此处主要介绍几个常用的配置内容,还有部分的配置没有写入本文
Timeout 超时设置KeepAlive 是否允许一个连接多个请求MaxKeepAliveRequests 最大请求等待时间HostnameLookups 记录客户端名称还是IP地址ErrorLog ${APACHE_LOG_DIR}/error.log 服务器错误日志的保存路径APACHE_LOG_DIR是环境变量,要在/etc/apache2/envvars设置引入了配置文件
# Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf # Include list of ports to listen on Include ports.conf # Include generic snippets of statements IncludeOptional conf-enabled/*.conf # Include the virtual host configurations: IncludeOptional sites-enabled/*.conf