2017-01-02 12 views
1

私はNGINXをUbuntu 16.04にインストールし、私の設定を編集しました。 私はsudo service nginx restartを再起動したい場合は、私はエラーを取得する:NGINXの再起動に失敗しました

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

nginx.serviceステータスの内容は次のとおりです。

nginx.service - A high performance web server and a reverse proxy server 
    Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) 
    Active: failed (Result: exit-code) since Mon 2017-01-02 16:07:54 UTC; 15s ago 
    Process: 26515 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE) 
    Process: 26510 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) 
Main PID: 3464 (code=exited, status=0/SUCCESS) 

Jan 02 16:07:53 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 
Jan 02 16:07:53 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
Jan 02 16:07:53 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 
Jan 02 16:07:54 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
Jan 02 16:07:54 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 
Jan 02 16:07:54 IF-STG-001 nginx[26515]: nginx: [emerg] still could not bind() 
Jan 02 16:07:54 IF-STG-001 systemd[1]: nginx.service: Control process exited, code=exited status=1 
Jan 02 16:07:54 IF-STG-001 systemd[1]: Failed to start A high performance web server and a reverse proxy server. 
Jan 02 16:07:54 IF-STG-001 systemd[1]: nginx.service: Unit entered failed state. 
Jan 02 16:07:54 IF-STG-001 systemd[1]: nginx.service: Failed with result 'exit-code'. 

私はnginxのインスタンスを再起動できないのはなぜ?起動時に他のプログラムが既にあるので、それは再起動をブロックしている理由は、私が表示されていない

答えて

2

エラーメッセージの重要な部分は、このように

bind() to 0.0.0.0:80 failed (98: Address already in use)

で、nginxのは、ポート80にバインドできませんでしたこのポートにバインドされています。この他のプログラムがこのソケットから抜け出したり、解除されたりすると、nginxを起動することしかできません。

現在このポートを結合するプログラムを見つけるために、あなたは(sudoで例えば)rootとしてこのコマンドを実行することができます

ss -ntlp "sport = :80" 
+0

私はこれを実行すると、私が手: '州のRecv-Q送信-Qローカルアドレスを:ポートピアアドレス:ポートは LISTEN 0 128 * 80 *:* はLISTEN 0 128 ::: 80 ::: * 'rootとしてプログラムを実行してください – sesc360

+0

。通常のユーザーには、ポートにバインドされているプログラムを確認する権限がありません。 –

+0

ああ[OK]を、出力は今 '州のRecv-Q送る-Qをローカルアドレスであるので:ポートピアアドレス:ポート 0 128 *をLISTEN:80 *:*ユーザー:(( "nginxの"、PID = 26359、FD = 6)、( "nginxの"、PID = 26358、FD = 6)) 0 128 ::: 80 LISTEN ::: *ユーザー:(( "nginxの"、PID = 26359、FD = 7)、( "nginxの" 、pid = 26358、fd = 7)) ' – sesc360

関連する問題