Apache2配置目录分析(详细版)

ls  -al用来查看软件的软链接信息。出现->的都是进行了软链接,后面是真正的目录。

我们来看apache2服务器的标准启动命令:

 /etc/init.d/apache2 start。

其他命令如service apache2 start都是间接调用了上面的命令,找到脚本apache2然后执行而已。

/etc/init.d这个目录是所有服务的脚本,可以通过执行脚本并且加上参数,开启关闭或者重启对应的服务,上面就是执行init.d文件及下的apache2脚本来启动apche2服务器,其他服务器都是类似原理。下面就是脚本文件的内容,开头#!/bin/sh就是表明了这个脚本文件是用Shell--sh来执行的,其他的就不看了。


我们输入/etc/init.d/apache2 start时候,系统会执行apache2这个脚本文件,就会调用apache2.conf配置文件。

这个文件就是apache2服务器的配置文件。它在 /etc/apache2目录下。



我们来看看这个配置都写了啥:



上面将/etc/apache2目录大致情况列举了出来。大致意思就是里面有配置

1、apaceh2.conf、

2、端口配置文件port.conf、

3、mods-enable文件夹,这个文件夹下都是*.load和*.conf后缀的文件。

4、site-enable文件夹,这个文件夹下都是*.conf后缀的文件。

其实还有其他的文件,它没列举出来。请看下图,比上图更直接清晰:


我们再接着看apache2.conf的内容:



第一句的大致意思就是在说,apache2.conf是个主配置文件,当apache2服务器启动时,就将零散的配置文件以Includinng方式组合在一起。看到这,你就应该知道了,这个文件不是真正的具体配置文件,它只是把各个零散的配置文件以inluceding方式包含进来。apache2.conf其实就是负责调用其他配置文件的。不信看下图:


这就是将端口配置文件包含进来调用。这个配置文件它是怎么写的,apache2.conf根本是不知道到,因为不是它写的。

其他也类似,如下面的就是将配置文件conf-enable和sites-enable这两个配置启动文件包含进来。它也没具体的实现部分。



我们来看下mods-availablel和mods-enabled文件夹:这两个文件夹里面存放的都是一些apache2的读写操作等模块,mods-enabled是apache2服务器启动配置的文件,mods-available是apache2服务器可以用的配置文件,如下图;



通过上面,你是不是发现了什么?

我们发现mods-enable里面的文件都是mods-available中的快捷方式(或则称为软连接)。

再看mods-available的内容,下图是mods-avalible文件夹下的rewriter模块文件信息:


我们发现,这里才是具体配置的代码实现部分。所以,你如果想给apache2添加什么功能模块,直接建立一个从avalible中建立一个快捷方式到enabled中就行了,删除也是一样,删掉enabled中的某模块的快捷方式就行了,实际的模块代码还在available中没有消失。

我们再来看看下面比较重要的配置文件夹site-available和site-enabled。这两个是网站根目录的配置文件





sites-enabled是apache2正在使用的网站配置文件,sites-available是apache2可用的网站配置文件。

enabled中只有一个000-default.conf快捷方式。availbel中有一个000-default.conf和default-ssl.conf两个文件。

000-default.conf是使用http协议网站的默认网站配置文件,而default-ss.conf是https协议网站才使用的默认网站配置文件。

https还需要申请ssl证书,我们就不讲default-ss.conf,反正我也用不到https协议。


打开000-defaut.con文件。


ServerAdmin 设置一个邮件地址,如果服务器有任何问题将发信到这个地址, 这个地址会在服务器产生的某些页面中出现。

DocumentRoot 是这个站点的根目录,这样 Apache2 启动时会扫描 /etc/apache2/sites-enabled 中可用的 website 配置并加载。

当用户访问localhost:80 时,Apache2 就将 default 站点根目录 /var/www/html 下的index.html(或 index.PHP 等,可配置)作为请求的回应返回给浏览器,你就会欣赏到的就是 /var/www/html/index.html 这个文件中的内容了。


我们现在试着修改这里的根目录为:/var/www,然后写一个html文件,文件内容如下:

<html>

<head>

<body>this is my website</body>

</head>

</html>



特别注意;我们修改了apache2配置信息,但所以必须重启才能生效。

service apacehe2 restart 或则/etc/init.d/apache2 restart。

还要记住,每次修改配置,都要重启apache2服务器,不然配置不会立即生效。

特别注意,我们现在这样访问网站,是不会显示具体内容的。不信看图:


我们发现,我们通过浏览器是看到我们写的test.html文件,可是怎么没显示出来。

那是因为服务默认的显示格式没有test.html。默认的显示格式在/etc/apache2/mods-available/dir.conf文件中。如下所示:默认显示的格式有:index.html index.cgi index.pl index.php index.xhtml index.htm


我们在dir.conf文件最后添加test.html格式。看看能不能显示呢:



成功了,看了这么多,你对apache2的目录是不是了解了不少呢,现在试试修改下网站根目录实践一下吧。




版权声明:本文为stay_zezo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/stay_zezo/article/details/80212552