서버가 재부팅 될 때마다 / run / httpd 디렉토리가 제거됩니다. / run은 tmpfs 파일 시스템이므로 RAM에 마운트됩니다.
/ run / httpd는 설치 중에 만 작성됩니다. 재부팅 후 httpd를 시작하면 디렉토리가 다시 생성되지 않습니다.
서버가 CentOS 7 및 oficial 저장소 Apache 패키지 (v. 2.4.6-18)를 설치했습니다.
Apache 설치 및 시작 후 디렉토리는 다음과 같습니다.
# ls -alR /run/httpd/
/run/httpd/:
total 8
drwx--x---. 3 root apache 120 Sep 30 08:39 .
drwxr-xr-x. 28 root root 1020 Sep 30 08:37 ..
-rw-r--r--. 1 root root 8 Sep 30 08:39 authdigest_shm.2953
drwx------. 2 apache apache 40 Jul 23 10:48 htcacheclean
-rw-r--r--. 1 root root 5 Sep 30 08:39 httpd.pid
srwx------. 1 apache root 0 Sep 30 08:39 wsgi.2953.0.1.sock
/run/httpd/htcacheclean:
total 0
drwx------. 2 apache apache 40 Jul 23 10:48 .
drwx--x---. 3 root apache 120 Sep 30 08:39 ..
그러나 재부팅 후 :
# ls -l /run/httpd
ls: cannot access /run/httpd: No such file or directory
다음은 Apache를 다시 시작하려고 할 때의 로그입니다.
/ var / log / httpd / error_log
[Tue Sep 30 09:30:32.310825 2014] [core:notice] [pid 3370] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Tue Sep 30 09:30:32.312072 2014] [suexec:notice] [pid 3370] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Sep 30 09:30:32.330380 2014] [auth_digest:notice] [pid 3370] AH01757: generating secret for digest authentication ...
[Tue Sep 30 09:30:32.330421 2014] [auth_digest:error] [pid 3370] (2)No such file or directory: AH01762: Failed to create shared memory segment on file /run/httpd/authdigest_shm.3370
[Tue Sep 30 09:30:32.330440 2014] [auth_digest:error] [pid 3370] (2)No such file or directory: AH01760: failed to initialize shm - all nonce-count checking, one-time nonces, and MD5-sess algorithm disabled
[Tue Sep 30 09:30:32.330445 2014] [:emerg] [pid 3370] AH00020: Configuration Failed, exiting
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
/ var / log / message
Sep 30 08:56:09 brejetuba2 systemd: Starting The Apache HTTP Server...
Sep 30 08:56:09 brejetuba2 systemd: httpd.service: main process exited, code=exited, status=1/FAILURE
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
Sep 30 08:56:09 brejetuba2 systemd: Failed to start The Apache HTTP Server.
Sep 30 08:56:09 brejetuba2 systemd: Unit httpd.service entered failed state.
/var/log/audit/audit.log
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
type=SERVICE_START msg=audit(1412083740.602:469): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg=' comm="httpd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
디렉토리를 수동으로 만들면 Apache가 시작됩니다.
# mkdir /run/httpd
# systemctl restart httpd
# ls -lRa /run/httpd/
/run/httpd/:
total 8
drwxr-xr-x. 2 root root 100 Sep 30 09:36 .
drwxr-xr-x. 28 root root 1020 Sep 30 09:36 ..
-rw-r--r--. 1 root root 8 Sep 30 09:36 authdigest_shm.3452
-rw-r--r--. 1 root root 5 Sep 30 09:36 httpd.pid
srwx------. 1 apache root 0 Sep 30 09:36 wsgi.3452.0.1.sock
재부팅 후 다시 사라졌습니다.
왜 이런 일이 일어나고 있는지에 대한 생각?