Apache配置文件解读

接上篇

4.logs(符号链接文件) 是/var/log/httpd的软连接,里面存放两类日志,access_log表示成功日志,error_log表示错误日志。

[root@controller httpd]# cd logs/
[root@controller logs]# ls
access_log  error_log
[root@controller logs]# cat access_log 
127.0.0.1 - - [17/Feb/2020:21:58:16 +0800] "HEAD / HTTP/1.1" 403 - "-" "curl/7.29.0"
::1 - - [16/Mar/2020:20:24:30 +0800] "GET / HTTP/1.1" 200 12 "-" "curl/7.29.0"
::1 - - [16/Mar/2020:20:29:00 +0800] "GET / HTTP/1.1" 200 12 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0"
::1 - - [16/Mar/2020:20:29:00 +0800] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0"
::1 - - [16/Mar/2020:20:29:00 +0800] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0"
//::1 表示客户端 本地回环的IP地址  
[16/Mar/2020:20:24:30 +0800]  表示访问日期
GET 表示使用HTTP的方法: GET获取网页的方法
/ HTTP/1.1表示使用的HTTP协议的版本
Firefox是RHEL中默认的网页版浏览器
Mozilla(浏览器类型):火狐浏览器所在的公司的名字。 Firefox/38.0 客户端用Firefox浏览器。

Apache的日志文件真实存在于/var/log/httpd中
实质是一个软链接。
5.modules:它是/usr/lib64/httpd/modules的软链接,存放的是httpd的模块文件。

[root@controller httpd]# cd modules/
[root@controller modules]# ls
mod_access_compat.so    mod_buffer.so         mod_filter.so               mod_mpm_worker.so      mod_slotmem_plain.so
mod_actions.so          mod_cache_disk.so     mod_headers.so              mod_negotiation.so     mod_slotmem_shm.so
//都是.so结尾的文件,是Apache的模块文件,这些文件又叫做动态链接库。
共享链接库:shareobject
有一些模块可以创建配置文件,有一些模块不允许创建配置文件。

Apache高度模块化,一个模块一个功能,它本身很小,依赖于这些模块,这些模块存放在/usr/lib64/httpd/modules
6.run:是/run/httpd的软链接,记录运行的Apache的主进程编号。存放进程锁文件:记录着运行的Apache的主进程编号。
避免这头启动一个Apache,那头启动一个Apache,去损坏Apache,如果一个进程被多次打开(有人读有人写,造成IO的错误)。

[root@controller httpd]# cd run
[root@controller run]# ls
authdigest_shm.3918  htcacheclean  httpd.pid
[root@controller run]# cat httpd.pid 
3918
//主进程的pid是3918 
验证一下:
[root@controller run]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-16 20:18:33 CST; 24h ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 3918 (httpd)
发现运行的httpd就是3918
[root@controller httpd]# cd run
[root@controller run]# ls
authdigest_shm.3918  htcacheclean  httpd.pid
[root@controller run]# systemctl stop httpd
[root@controller run]# ls
htcacheclean
//停止服务后发现只有htcacheclean

htcacheclean:每一个服务在run下都有一个文件夹,这个文件夹记录着自己启动后的进程编号,一个好处是如何反复起一个进程,那个系统凭什么帮你回显,帮你记录。
系统上默认在run这个文件夹下记录着各种服务在启动时候的进程编号。
关于run的一个知识点:

想安装一个软件包:都不要给 -y

[root@controller run]# yum install samba* 

在另一个终端上:

[root@controller run]# yum install vsftpd.x86_64 
Loaded plugins: fastestmirror, langpacks
Existing lock /var/run/yum.pid: another copy is running as pid 7863.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  79 M RSS (476 MB VSZ)
    Started: Tue Mar 17 21:08:38 2020 - 01:37 ago
    State  : Sleeping, pid: 7863
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  79 M RSS (476 MB VSZ)
    Started: Tue Mar 17 21:08:38 2020 - 01:39 ago
    State  : Sleeping, pid: 7863
//回显yum正在使用中,一个进程正在使用的时候,在/var/run下有一个进程锁,就是该进程的一个pid文件,说这个文件是存在的状态,所有当前是安装不了 yum的。

yum是一个单进程的服务,现在有人占用它的线程,并且它的线程的编号已经被写到/var/run下面了,系统为了保护单进程的服务,不会让你在进行安装,让你等。如果你不想等可以这样做:

[root@controller run]# rm -f /var/run/yum.pid //把这个进程锁给删了
[root@controller run]# yum install vsftpd.x86_64 
//再次安装软件包则它这头就是可以安装的了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值