Ubuntu 16.04でのNginxインストールエラー


58
:〜$ sudo apt-get remove nginx * && sudo apt-get install nginx-full *

パッケージリストを読み込んでいます...完了
依存ツリーの構築       
状態情報を読み込んでいます...完了

この操作の後、5,579 kBの追加ディスク容量が使用されます。
続けたいですか?[Y / n] y
取得:1 http://in.archive.ubuntu.com/ubuntu xenial-updates / universe amd64 nginx-full-dbg amd64 1.10.0-0ubuntu0.16.04.1 [3,789 kB]
33秒で3,789 kBを取得(112 kB / s)                                             
以前に選択されていないパッケージnginx-commonを選択します。
(データベースの読み取り中... 189767現在インストールされているファイルとディレクトリ。)
開梱の準備... / nginx-common_1.10.0-0ubuntu0.16.04.1_all.deb ...
nginx-common(1.10.0-0ubuntu0.16.04.1)の展開...
以前に選択されていないパッケージnginx-fullを選択します。
開梱の準備... / nginx-full_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
nginx-full(1.10.0-0ubuntu0.16.04.1)の展開...
以前に選択されていないパッケージnginx-full-dbgを選択します。
展開の準備... / nginx-full-dbg_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
nginx-full-dbg(1.10.0-0ubuntu0.16.04.1)の展開...
ufw(0.35-0ubuntu1)のトリガーの処理...
プロファイル「Apache Full」のルールが更新されました
プロファイル「Nginx HTTP」のルールが更新されました

systemd(229-4ubuntu4)のトリガーの処理...
ウレアダヘッドのトリガーの処理(0.100.0-19)...
man-db(2.7.5-1)のトリガーの処理...
nginx-common(1.10.0-0ubuntu0.16.04.1)のセットアップ...
nginx-full(1.10.0-0ubuntu0.16.04.1)のセットアップ...
制御プロセスがエラーコードで終了したため、nginx.serviceのジョブが失敗しました。詳細については、「systemctl status nginx.service」および「journalctl -xe」を参照してください。

invoke-rc.d:initscript nginx、アクション「開始」が失敗しました。

dpkg:パッケージnginx-fullの処理エラー(--configure):
 インストール後のサブプロセスインストール済みスクリプトがエラー終了ステータス1を返しました
dpkg:依存関係の問題により、nginx-full-dbgの設定が妨げられます:
 nginx-full-dbgはnginx-full(= 1.10.0-0ubuntu0.16.04.1)に依存しています。しかしながら:
  パッケージnginx-fullはまだ構成されていません。

dpkg:パッケージnginx-full-dbgの処理中のエラー(--configure):

 依存関係の問題-未構成のままにする
エラーメッセージは前回の失敗からのフォローアップエラーを示しているため、レポートは作成されません。

                          処理中にエラーが発生しました:
 nginx-full

 nginx-full-dbg

E:サブプロセス/ usr / bin / dpkgがエラーコードを返しました(1)

apt-get -f installパッケージなしでお試しください
Motte001

すでにチェック済み、同じエラー!! 見てください::〜$ sudo apt-get -f install nginx-full-dbgはnginx-full(= 1.10.0-0ubuntu0.16.04.1)に依存しています; ただし、パッケージnginx-fullはまだ構成されていません。dpkg:エラー処理パッケージnginx-full-dbg(--configure):依存関係の問題-処理中に未構成エラーが発生しました:nginx-full nginx-full-dbg E:サブプロセス/ usr / bin / dpkgがエラーコードを返しました(1)
Mohit

1
nginxをインストールする前に、ポート80でApacheをインストールして実行していますか?質問を編集して、出力も含めるsystemctl -l status nginxようにします
Thomas Ward

異なるバージョンのnginxもインストールされていますか?削除タスクを実行したようですが、古い構成がまだ残っている場合、廃止されたコマンドまたは同様の機能が含まれていると、インストールが中断する可能性があります。
トーマスウォード

See "systemctl status nginx.service" and "journalctl -xe" for details.–質問に出力を含めてください。
デビッドフォースター

回答:


140

nginxをインストールする前にまずapache2をシャットダウンすると、この問題が修正されます。

sudo service apache2 stop

3
Ask Ubuntuへようこそ!この回答を編集して、これを行う方法に関する具体的な詳細を追加することを推奨します。(Ask Ubuntuでどのような回答が最も価値があると考えられるについての一般的なアドバイスについては、「よい回答を書くにはどうすればよいですか?」も参照してください。)
David Foerster

これは私に必要なヒントを与えてくれました。私の場合は、別のnginxのサーバーを実行するドッキングウィンドウコンテナを使用していた
mithril_knight

私は同じことを思いつきましたが、犯人を見つけたのnetstat -tulpn | grep :80は、私の場合、ポート80 systemctl stop varnishでリッスンするように構成されたVarnish でした。次に、Nginxをインストールして、それを修正しました。Debian / Ubuntuパッケージがインストール時に自分で起動しようとする理由は私を超えています...私はむしろインストールし、好きなように設定してから起動します:P
geerlingguy

NGINXがインストーラーでこれをチェックせず、少なくともより有用なメッセージを提供するのは奇妙です。Apacheは、Linuxシステムに非常に一般的にインストールされます。
マシンゴースト

28

Andrew Chanは私に正しい答えを提供してくれました。彼の答えを少し拡張するために、コマンドラインでできることは次のとおりです。

Apache2を停止

sudo systemctl stop apache2.service

起動時にapache2が起動しないようにします

sudo systemctl disable apache2.service

nginxを再インストールします

sudo apt-get install nginx


1
必要に応じて、起動時にApache2を無効にしないことをお勧めします。別のポートでリッスンするように設定する場合、Apache2 を無効にする必要がない場合が多くあります。自分でこれを行ったので、いくつかのセットアップについて、いくつかの経験から話をすることができます(この経験の由来であるnginxパッケージでも多くの仕事をしています)
トーマスウォード

7

私はこの問題を抱えていましたが、解決策はわずかに異なっていました。

単純なサイトの設定ミスを解決したら、nginxを更新できました。

nginxエラーログを確認します

sudo cat /var/log/nginx/error.log|less

その後、もう一度試してください。

sudo apt-get update;sudo apt-get upgrade

は、FTWをログに記録します。私の場合、80ポートはすでに使用中であり、エラーの原因でした
xliiv

6

私の場合、エラーはサーバーのIPv6が無効になっていることです。解決:

/etc/nginx/sites-enabled/defaultIPv6を編集してコメントアウトします。

listen [::]:80 default_server;

nginxを再インストールします。

apt purge nginx
apt autoremove
apt install nginx

aptの1.0 @DavidFoerster、新しいバイナリが導入された間に分散されたお馴染みの(サブ)コマンドの多く収集しているapt-getapt-cacheなどとします。たとえば、apt update等しいapt-get updateapt search some-name等しいapt-cache search some-nameなど。場合によっては、次のような言い回しapt full-upgradeがありapt-get dist-upgradeます。古いバイナリとそれらのコマンドは、それらを空想した人にも利用可能です。
ヘニングコッカーベック

@HenningKockerbeck:ありがとう。当時は本当に知りませんでしたが、それはタイプミスだと思っていましたが、その間に教育を受けました。
デビッドフォースター

私のために働いたが、私はそれは途方もなくラウンドアバウトだ...、サーバーの展開のための私のシェルスクリプトでこれを実装することはできません
Menasheh

1

/var/log/nginx/error.logを確認したところ、インストーラーが/ var / cache / nginx / microcacheを開けなかったことがわかりました

ディレクトリリストに/ var / cache / nginxディレクトリがないことが示されたため、作成してインストールを成功させました。


1

私の場合、それは/ etc / nginx / sites-enabled /にある誤った構成のファイルでした。それらを.oldファイルと名付けましたが、それは問題ではありません。それらは読まれ、インストールの成功またはそのサービスの開始を防ぐことができます。そのフォルダー内のファイルに注意し、@ Taigerの説明に従ってエラー出力を注意深く読んでください


0

インストールの前に、手動で追加されたシンボリックリンクをから削除します/sites-enabled


0

私の場合、これを除いて何も助けになりませんでした:

sudo fuser -k 80/tcp

service nginx start
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.