本文主要是介绍Apache2配置目录分析(详细版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ls -al用来查看软件的软链接信息。出现->的都是进行了软链接,后面才是真正的目录。
我们来看apache2服务器的标准启动命令:
/etc/init.d/apache2 start
其他命令如service apache2 start都是间接调用了上面的命令,找到脚本apache2然后执行而已。
/etc/init.d这个目录是所有服务(如何web服务、ftp服务、mysql...)的脚本,通过在执行脚本时加上参数,可以开启、关闭或者重启对应的服务。上面就是执行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服务器启动时,就将零散的配置文件以Including方式组合在一起。看到这,你就应该知道了,这个文件不是真正的具体配置文件,它只是把各个零散的配置文件以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格式。看看能不能显示呢:
nice, 成功了。
看了这么多,你对apache2的目录是不是了解了不少呢,现在请尝试修改下网站根目录实践一下吧。
如果你觉得博主的文章对你有用,请给博主一个一个赞/关注。
这篇关于Apache2配置目录分析(详细版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!