lus*_*tre 6 linux apache-httpd
我用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.
Run Code Online (Sandbox Code Playgroud)
我状态它,获取以下信息:
[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.
Run Code Online (Sandbox Code Playgroud)
我使用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)
Run Code Online (Sandbox Code Playgroud)
并且在/var/log/httpd/目录中,这里没有日志。
编辑-1
然后我找到了5000端口,得到以下信息:
[root@controller selinux]# netstat | grep 5000
[root@controller selinux]#
Run Code Online (Sandbox Code Playgroud)
编辑-2
在/var/www/目录中:
[root@controller www]# ls
cgi-bin html
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
编辑 4
该/var/log/httpd限制是如下:
[root@controller system]# ll -d /var/log/httpd
drwx------. 2 root root 6 Nov 20 2015 /var/log/httpd
Run Code Online (Sandbox Code Playgroud)
编辑 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/rabbit@controller.log"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/rabbit@controller-sasl.log"} -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
Run Code Online (Sandbox Code Playgroud)
编辑-6
我使用 semanage 添加端口 5000:
[root@controller httpd]# semanage port -a -t http_port_t -p tcp 5000
ValueError: Port tcp/5000 already defined
Run Code Online (Sandbox Code Playgroud)
编辑 7
在目录中/usr/lib/systemd/system/,这里有httpd.service:
[root@controller system]# pwd
/usr/lib/systemd/system
[root@controller system]# ls | grep http
httpd.service
Run Code Online (Sandbox Code Playgroud)
这个问题是由于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
Run Code Online (Sandbox Code Playgroud)
要解决此问题,您需要将端口添加5000到http_port_t类型定义中,如下所示:
semanage port -a -t http_port_t -p tcp 5000
Run Code Online (Sandbox Code Playgroud)
由于端口5000已经定义,因此您需要使用-m. 为此,请使用
semanage port -m -t http_port_t -p tcp 5000
Run Code Online (Sandbox Code Playgroud)
笔记!如果端口5000已分配给另一个服务类型定义,您将无法将此端口分配给http_port_t类型定义。换句话说,您需要使用另一个端口,因为 SELinux 策略不允许这样做。
| 归档时间: |
|
| 查看次数: |
120442 次 |
| 最近记录: |