我在从RHEL 7(Amazon ec2)启动我的Apache服务器时遇到了一些麻烦。我的更大目标是使用Anaconda环境从ec2实例托管Flask应用程序,但是现在我只关心如何正确启动httpd服务。
我发现了一些类似的问题here,here,here等等,但似乎都没有解决我遇到的确切问题。
我正在关注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 -xe
的输出返回相同的内容。
关于我的系统的一些信息(不知道这些信息是否有用,但我认为最好包含它):
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 :80
返回tcp 0 0 :::0 :::* LISTEN 28220/httpd
我现在注意到文件/etc/init.d/httpd
不存在。
有人有提示吗?如果之前已经提出过这个问题,请指导我。到目前为止,我一直在搜索,没有运气。
干杯。
答案 0 :(得分:2)
尝试杀死旧pid
。看起来某些内容仍然在httpd
下运行。尝试执行ps -ef | grep httpd
查看正在运行的内容并使用sudo kill -9 processid
将其终止(例如sudo kill -9 13254
)。