httpd.service를 다시 시작할 수 없습니다.

httpd.service를 다시 시작할 수 없습니다.

systemctl을 사용하여 httpd를 다시 시작했지만 실패했습니다.

[root@controller ~]# systemctl restart httpd.service
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

상태를 확인하고 다음 정보를 얻습니다.

   [root@controller ~]# systemctl status httpd.service
   httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
       Active: failed (Result: exit-code) since Wed 2017-07-12 15:48:35 CST; 11s ago
         Docs: man:httpd(8)
               man:apachectl(8)
      Process: 10093 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
      Process: 10091 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
     Main PID: 10091 (code=exited, status=1/FAILURE)

    Jul 12 15:48:35 controller httpd[10091]: (13)Permission denied: AH00072: make_sock: could not bind to address [::]:5000
    Jul 12 15:48:35 controller httpd[10091]: (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:5000
    Jul 12 15:48:35 controller httpd[10091]: no listening sockets available, shutting down
    Jul 12 15:48:35 controller httpd[10091]: AH00015: Unable to open logs
    Jul 12 15:48:35 controller systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
    Jul 12 15:48:35 controller kill[10093]: kill: cannot find process ""
    Jul 12 15:48:35 controller systemd[1]: httpd.service: control process exited, code=exited status=1
    Jul 12 15:48:35 controller systemd[1]: Failed to start The Apache HTTP Server.
    Jul 12 15:48:35 controller systemd[1]: Unit httpd.service entered failed state.
    Jul 12 15:48:35 controller systemd[1]: httpd.service failed.

나는 사용한다 journalctl -xe:

root@controller httpd]# journalctl -xe
Jul 12 16:06:43 controller systemd[1]: Unit httpd.service entered failed state.
Jul 12 16:06:43 controller systemd[1]: httpd.service failed.
Jul 12 16:06:43 controller polkitd[1056]: Unregistered Authentication Agent for unix-process:10390:2078277 (system bus name :1.159, object path /org/freedesktop/PolicyKit1/Authent
Jul 12 16:06:53 controller polkitd[1056]: Registered Authentication Agent for unix-process:10405:2079366 (system bus name :1.160 [/usr/bin/pkttyagent --notify-fd 5 --fallback], ob
Jul 12 16:06:53 controller systemd[1]: Reloading.
Jul 12 16:06:53 controller systemd[1]: [/usr/lib/systemd/system/memcached.service:43] Unknown lvalue 'MemoryDenyWriteExecute' in section 'Service'
Jul 12 16:06:53 controller systemd[1]: Configuration file /usr/lib/systemd/system/auditd.service is marked world-inaccessible. This has no effect as configuration data is accessib
Jul 12 16:06:54 controller systemd[1]: Configuration file /usr/lib/systemd/system/wpa_supplicant.service is marked executable. Please remove executable permission bits. Proceeding
Jul 12 16:06:54 controller polkitd[1056]: Unregistered Authentication Agent for unix-process:10405:2079366 (system bus name :1.160, object path /org/freedesktop/PolicyKit1/Authent
Jul 12 16:06:55 controller polkitd[1056]: Registered Authentication Agent for unix-process:10421:2079560 (system bus name :1.161 [/usr/bin/pkttyagent --notify-fd 5 --fallback], ob
Jul 12 16:06:55 controller systemd[1]: Starting The Apache HTTP Server...
-- Subject: Unit httpd.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit httpd.service has begun starting up.
Jul 12 16:06:55 controller httpd[10426]: (13)Permission denied: AH00072: make_sock: could not bind to address [::]:5000
Jul 12 16:06:55 controller httpd[10426]: (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:5000
Jul 12 16:06:55 controller httpd[10426]: no listening sockets available, shutting down
Jul 12 16:06:55 controller httpd[10426]: AH00015: Unable to open logs
Jul 12 16:06:55 controller systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jul 12 16:06:55 controller kill[10428]: kill: cannot find process ""
Jul 12 16:06:55 controller systemd[1]: httpd.service: control process exited, code=exited status=1
Jul 12 16:06:55 controller systemd[1]: Failed to start The Apache HTTP Server.
-- Subject: Unit httpd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit httpd.service has failed.
-- 
-- The result is failed.
Jul 12 16:06:55 controller systemd[1]: Unit httpd.service entered failed state.
Jul 12 16:06:55 controller systemd[1]: httpd.service failed.
Jul 12 16:06:55 controller polkitd[1056]: Unregistered Authentication Agent for unix-process:10421:2079560 (system bus name :1.161, object path /org/freedesktop/PolicyKit1/Authent
lines 1377-1410/1410 (END)

그리고 /var/log/httpd/디렉토리에는 로그가 없습니다.


편집-1

포트를 찾고 5000다음 정보를 얻습니다.

[root@controller selinux]# netstat | grep 5000
[root@controller selinux]#

편집 2

/var/www/디렉토리 에서 :

[root@controller www]# ls
cgi-bin  html

cgi-bin과 html이 모두 비어 있습니다.


편집-3

아래 파일 httpd.conf내용은 다음 /etc/httpd/conf/과 같습니다.

ServerRoot "/etc/httpd"

Listen 80

Include conf.modules.d/*.conf

User apache
Group apache

ServerAdmin root@localhost


ServerName controller

<Directory />
    AllowOverride none
    Require all denied
</Directory>


DocumentRoot "/var/www/html"


<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/var/www/html">

    Options Indexes FollowSymLinks

    AllowOverride None

    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>


<Files ".ht*">
    Require all denied
</Files>

ErrorLog "logs/error_log"

LogLevel warn

<IfModule log_config_module>

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>

    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

</IfModule>


<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>

    TypesConfig /etc/mime.types

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

AddDefaultCharset UTF-8

<IfModule mime_magic_module>

    MIMEMagicFile conf/magic
</IfModule>


EnableSendfile on

IncludeOptional conf.d/*.conf

편집 4

제한 사항 /var/log/httpd은 다음과 같습니다.

[root@controller system]# ll -d /var/log/httpd
drwx------. 2 root root 6 Nov 20  2015 /var/log/httpd

편집 5

포트 5000을 확인합니다.

[root@controller httpd]# ps -aux | grep 5000
rabbitmq   8710  0.9  0.9 2348444 78620 ?       Ssl  14:39   1:25 /usr/lib64/erlang/erts-7.3.1.2/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -K true -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin -noshell -noinput -s rabbit boot -sname rabbit@controller -boot start_sasl -config /etc/rabbitmq/rabbitmq -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/var/log/rabbitmq/[email protected]"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/[email protected]"} -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@controller-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@controller" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672
root      11787  0.0  0.0 112644   952 pts/1    S+   17:13   0:00 grep --color=auto 5000

편집 6

semanage를 사용하여 포트 5000을 추가합니다.

[root@controller httpd]# semanage port -a -t http_port_t -p tcp 5000
ValueError: Port tcp/5000 already defined

편집 7

디렉토리 아래에는 /usr/lib/systemd/system/httpd.service가 있습니다.

[root@controller system]# pwd
/usr/lib/systemd/system
[root@controller system]# ls | grep http
httpd.service

답변1

귀하의 환경은 프로덕션이 아니라 개발이라는 것을 알 수 있습니다.

따라서 selinux 완화 모드를 설정하는 것이 도움이 될 것입니다.

다음 단계를 따르십시오.

# getenforce
# setenforce 0   // there will print `Permissive`
# systemctl start  httpd.service

확인하다:

systemctl status  httpd.service

답변2

SELinux이 문제는 Apache가 포트에 연결하는 것을 허용하지 않기 때문에 발생합니다.5000

systemctl status httpd.service표시되는 내용은 다음과 같습니다 .

Jul 12 15:48:35 controller httpd[10091]: (13)Permission denied: AH00072: make_sock: could not bind to address [::]:5000
Jul 12 15:48:35 controller httpd[10091]: (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:5000

이 문제를 해결하려면 다음과 같이 유형 정의 5000에 포트를 추가해야 합니다 .http_port_t

semanage port -a -t http_port_t -p tcp 5000

포트가 5000이미 정의되어 있으므로 이를 사용해야 합니다 -m.

semanage port -m -t http_port_t -p tcp 5000

노트! 포트가 이미 다른 서비스 유형 정의에 할당된 경우 5000이 포트를 유형 정의에 할당할 수 없습니다 http_port_t. 즉, SELinux 정책에서 허용하지 않기 때문에 다른 포트를 사용해야 합니다.

답변3

/etc/httpd/conf.d복사본을 통해 SSL conf를 추가했지만 ssl.conf원본 파일은 유지했을 때도 동일한 문제가 발생 했습니다 .

ssl.conf.bak오류 로 이동하면 사라졌습니다.

관련 정보