Debian Stretchでnginxのインストールに失敗しました。

Debian Stretchでnginxのインストールに失敗しました。

nginx次のコマンドを使用してDebian 9 / stretchにインストールしようとしたとき:

sudo apt-get install nginx-full

次のエラーが原因でインストールが失敗します。

Setting up nginx-full (1.10.2-2) ...
[FAIL] Starting nginx: nginx failed!
invoke-rc.d: initscript nginx, action "start" failed.
dpkg: error processing package nginx-full (--configure):
  subprocess installed post-installation script returned error exit status 1

何が問題なの?

答え1

エラーメッセージをnginx開始できません。したがって、Stretchのインストール後のスクリプトは、正常なインストールのためにスクリプトの実行に依存しているため、このエラーが表示されます。

問題をさらにデバッグするために実行しようとすると、より明確なエラーが表示されました。

#nginx
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)

ここで何が起こるのかは、サーバー上でIPv6が無効になっており、インストール時にこれがデュアルスタックシステムであると仮定することです。

この問題を修正するには、以下を修正して/etc/nginx/sites-enabled/defaultコメントしてください。

#listen [::]:80 default_server;

もう一度インストールしてみると正常に動作します。

sudo apt-get install nginx-full

または@Stephen Kittが指摘したように:

sudo dpkg --configure --pending

関連情報