httpd/apachectl 服务无法在 RHEL 7 上启动

httpd/apachectl service fails to start on RHEL 7

我在从 RHEL 7 (Amazon ec2) 启动我的 Apache 服务器时遇到了一些问题。我更大的目标是使用 Anaconda 环境从 ec2 实例托管 Flask 应用程序,但现在我只关心正确启动 httpd 服务。

我发现许多类似的问题已发布 here, here, here 等,但 none 似乎解决了我遇到的确切问题。

我正在跟踪 this tutorial 直到最后一个 > 字符,但是命令

sudo apachectl restart

sudo service httpd restart

两者都会导致错误,并指示我检查 systemctl status httpd.service 以获取更多信息。该文件的输出如下:

httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2018-04-06 21:00:42 UTC; 4s ago
Docs: man:httpd(8)
      man:apachectl(8)
Process: 32166 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
Process: 32165 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=0/SUCCESS)
Main PID: 32165 (code=exited, status=0/SUCCESS)
[long ec2 ip address] systemd[1]: Starting The Apache HTTP Server...
[long ec2 ip address] httpd[32165]: httpd (pid 28220) already running
[long ec2 ip address] kill[32166]: kill: cannot find process ""
[long ec2 ip address] systemd[1]: httpd.service: control process exited, code=exited status=1
[long ec2 ip address] systemd[1]: Failed to start The Apache HTTP Server.
[long ec2 ip address] systemd[1]: Unit httpd.service entered failed state.
[long ec2 ip address] systemd[1]: httpd.service failed.

journalctl -xereturns的输出相同

关于我的系统的一些信息(不知道这些信息是否有用,但我认为最好包含它):

Apache Version: Apache/2.4.6 (Red Hat Enterprise Linux) configured

$ /usr/bin/python -V
    Python 2.7.5
$ sudo yum install mod_wsgi
    Package mod_wsgi-3.4-12.el7_0.x86_64 already installed and latest version
$ service httpd configtest
    Syntax OK
$ sudo chkconfig --levels 235 httpd on
    Note: Forwarding request to 'systemctl enable httpd.service' 

命令sudo netstat -lnp | grep :80returnstcp 0 0 :::0 :::* LISTEN 28220/httpd

我现在注意到文件 /etc/init.d/httpd 不存在。

有人有提示吗?如果之前有人问过这个问题,请指导我。我到处搜索,到目前为止没有运气。

干杯。

尝试杀死旧的 pidhttpd 下似乎还有 运行。尝试执行 ps -ef | grep httpd 以查看什么是 运行 并使用 sudo kill -9 processid 杀死它(例如 sudo kill -9 13254)。