请选择 进入手机版 | 继续访问电脑版
查看: 71|回复: 0

[工作经验] 基于ServerRoot指令使用解析

[复制链接]

签到天数: 193 天

[LV.7]化身百千

发表于 2019-3-7 21:12:35 | 显示全部楼层 |阅读模式

该指令设置httpd的安装位置,也就是常称之为的basedir,在此目录下应该具有module、logs等目录。rpm安装的httpd的ServerRoot默认为/etc/httpd,编译安装的ServerRoot路径由"--prefix"选项指定,例如/usr/local/apache。

[root@xuexi ~]# ls -l /usr/local/apache/
total 52
drwxr-xr-x  2 root root  4096 Sep 27 20:46 bin
drwxr-xr-x  2 root root  4096 Sep 27 20:46 build
drwxr-xr-x  2 root root  4096 Sep 27 20:46 cgi-bin
drwxr-xr-x  3 root root  4096 Sep 27 20:46 error
drwxr-xr-x  2 root root  4096 Sep 30 11:33 htdocs
drwxr-xr-x  3 root root  4096 Sep 27 20:46 icons
drwxr-xr-x  2 root root  4096 Sep 27 20:46 include
drwxr-xr-x  2 root root  4096 Sep 30 01:40 logs
drwxr-xr-x  4 root root  4096 Sep 27 20:46 man
drwxr-xr-x 14 root root 12288 Jul  7 01:38 manual
drwxr-xr-x  2 root root  4096 Sep 27 20:46 modules
这个指令很关键,安装好apache后一般不会去做任何修改,因为很多指令的路径以及相对路径都是基于此路径的。严格地说,除了网络路径,基本上所有本地文件系统类的路径只要不是绝对路径,相对路径都基于此路径展开。

例如,当指定"ServerRoot /usr/local/apache"时,下面几个指令中描述的本地路径,等号前面的采用的都是相对路径,等号右边的都是他们等价的绝对路径写法。

DocumentRoot "htdocs"                    = DocumentRoot "/usr/local/apache/htdocs"
LoadModule dir_module modules/mod_dir.so = LoadModule dir_module /usr/local/apache/modules/mod_dir.so
ErrorLog "logs/error_log"                = ErrorLog /usr/local/apache/logs/error_log
Alias /net_path local_fs_path            = Alias /net_path /usr/local/apache/local_fs_path
Include conf.d/vhost.conf                = Include /usr/local/apache/conf.d/vhost.conf
但注意,容器< Directory PATH >的PATH一般设置为文件系统的绝对路径,因为它是路径匹配性质的。但它仍可以使用相对路径时,此时它相对的是根文件系统的"/",而非ServerRoot。

所以,这个指令强烈不建议做任何修改,修改是很简单,但是牵一发而动全身。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

返回顶部