web-dev-qa-db-ja.com

制御プロセスがエラーコードで終了したため、httpd.serviceのジョブが失敗しました。詳細については、「systemctl status httpd.service」および「journalctl -xe」を参照してください

Centos 7の新しいコピーをインストールしました。その後、Apacheを再起動しましたが、Apacheは起動に失敗しました。私はこの問題で3日間立ち往生しています。サポートでさえエラーを把握できません。

Sudo service httpd start


Failed to start Apache :
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.


httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2016-05-09 16:08:02 BST; 59s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 5710 (code=exited, status=1/FAILURE)

May 09 16:08:02 mike079.startdedicated.de systemd[1]: Starting The Apache HTTP Server...
May 09 16:08:02 mike079.startdedicated.de httpd[5710]: (98)Address already in use: AH00072: make_sock: could not bind to address 85.25.12.20:80
May 09 16:08:02 startdedicated.de httpd[5710]: no listening sockets available, shutting down
May 09 16:08:02 startdedicated.de httpd[5710]: AH00015: Unable to open logs
May 09 16:08:02 startdedicated.de systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
May 09 16:08:02.startdedicated.de kill[5712]: kill: cannot find process ""
May 09 16:08:02 .startdedicated.de systemd[1]: httpd.service: control process exited, code=exited status=1
May 09 16:08:02startdedicated.de systemd[1]: Failed to start The Apache HTTP Server.
May 09 16:08:02 startdedicated.de systemd[1]: Unit httpd.service entered failed state.
May 09 16:08:02 mike: httpd.service failed.
5
Didi

出力から:

使用可能なリスニングソケットがないため、シャットダウンします

基本的に、あるApacheがリッスンするポートは別のアプリケーションで既に使用されているということです。

netstat -punta | grep LISTEN

使用されているすべてのポートのリストと、どのプロセスがkillstopであるかを認識するために必要な情報が表示されます。

あなたのIPのnmapを実行した後、私はそれを見ることができます

80/tcp    open     http

あなたはそれを整理したと思います。

3
sysfiend

私の場合、Listen 80をファイル内の443をリッスンするように変更したため、エラーが発生しました。

/etc/httpd/conf/httpd.conf 

Yumコマンドを使用してmod_sslをインストールしたので

yum -y install mod_ssl  

ssl.confインストール中に作成されたファイルmod_sslにlisten 443ディレクティブが重複していました。

リスン80または443が重複している場合は、linux centos(My linux)で以下のコマンドを実行して、これを確認できます。

grep  '443' /etc/httpd/conf.d/*

以下はサンプル出力です

/etc/httpd/conf.d/ssl.conf:Listen 443 https
/etc/httpd/conf.d/ssl.conf:<VirtualHost _default_:443>
/etc/httpd/conf.d/ssl.conf:#ServerName www.example.com:443

単に80をリッスンするためにhttd.confのリッスン443を元に戻すと、問題が修正されました。

2
Vincent Mwagiru

コマンドラインでjournalctl -xeと入力すると、結果は

SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 83 or 80

これは、マシン上でSELinuxが実行されており、それを無効にする必要があることを意味します。次に、次を入力して構成ファイルを編集します

nano /etc/selinux/config

次に、行SELINUX=enforceを見つけてSELINUX=disabledに変更します

次に、次を入力し、コマンドを実行してhttpdを起動します

setenforce 0

最後にサーバーを起動します

systemctl start httpd
1
Millz Billz

Vhost.confのタイプミスが原因で同じエラーが発生しました。構成ファイルにエラーがないことを忘れないでください。

apachectl configtest
0
Stack Underflow
<VirtualHost *:80>
    ServerName www.YOURDOMAIN.COM
    ServerAlias YOURDOMAIN.COM
    DocumentRoot /var/www/YOURDOMAIN.COM/public_html
    ErrorLog /var/www/YOURDOMAIN.COM/error.log
    CustomLog /var/www/YOURDOMAIN.COM/requests.log combined

    DocumentRoot /var/www/YOURDOMAIN.COM/public_html
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/YOURDOMAIN.COM/public_html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

</VirtualHost>
0
vijesh c