Kesalahan pemasangan Nginx di Ubuntu 16.04

58
: ~ $ sudo apt-get hapus nginx * && sudo apt-get install nginx-full *

Membaca daftar paket ... Selesai
Membangun pohon ketergantungan       
Membaca informasi keadaan ... Selesai

Setelah operasi ini, 5.579 kB ruang disk tambahan akan digunakan.
Apakah Anda ingin melanjutkan? [Y / n] y
Dapatkan: 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]
Diambil 3,789 kB dalam 33 detik (112 kB / dt)                                             
Memilih paket yang sebelumnya tidak dipilih nginx-common.
(Membaca database ... 189767 file dan direktori saat ini diinstal.)
Bersiap untuk membuka paket ... / nginx-common_1.10.0-0ubuntu0.16.04.1_all.deb ...
Membongkar nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Memilih paket yang sebelumnya tidak dipilih, nginx-full.
Bersiap untuk membuka paket ... / nginx-full_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Membongkar nginx-full (1.10.0-0ubuntu0.16.04.1) ...
Memilih paket yang sebelumnya tidak dipilih nginx-full-dbg.
Bersiap untuk membuka paket ... / nginx-full-dbg_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Membuka paket nginx-full-dbg (1.10.0-0ubuntu0.16.04.1) ...
Memproses pemicu untuk ufw (0.35-0ubuntu1) ...
Aturan diperbarui untuk profil 'Apache Full'
Aturan diperbarui untuk profil 'Nginx HTTP'

Memproses pemicu untuk systemd (229-4ubuntu4) ...
Memproses pemicu untuk ureadahead (0.100.0-19) ...
Memproses pemicu untuk man-db (2.7.5-1) ...
Menyiapkan nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Menyiapkan nginx-full (1.10.0-0ubuntu0.16.04.1) ...
Pekerjaan untuk nginx.service gagal karena proses kontrol keluar dengan kode kesalahan. Lihat "systemctl status nginx.service" dan "journalctl -xe" untuk detailnya.

invoke-rc.d: ingincript nginx, action "start" gagal.

dpkg: paket pemrosesan kesalahan nginx-full (--configure):
 subproses yang terinstal skrip pasca pemasangan mengembalikan status keluar kesalahan 1
dpkg: masalah ketergantungan mencegah konfigurasi nginx-full-dbg:
 nginx-full-dbg tergantung pada nginx-full (= 1.10.0-0ubuntu0.16.04.1); namun:
  Paket nginx-full belum dikonfigurasi.

dpkg: paket pemrosesan kesalahan nginx-full-dbg (--configure):

 masalah ketergantungan - meninggalkan tidak dikonfigurasi
Tidak ada laporan paspor yang ditulis karena pesan kesalahan mengindikasikan kesalahan tindak lanjut dari kegagalan sebelumnya.

                          Galat ditemukan saat memproses:
 nginx-penuh

 nginx-full-dbg

E: Sub-proses / usr / bin / dpkg mengembalikan kode kesalahan (1)
Mohit
sumber
Coba apt-get -f installtanpa paket apa pun
Motte001
sudah diperiksa, kesalahan yang sama !! Silakan lihat:: ~ $ sudo apt-get -f install nginx-full-dbg tergantung pada nginx-full (= 1.10.0-0ubuntu0.16.04.1); namun: Paket nginx-full belum dikonfigurasi. dpkg: paket pemrosesan kesalahan nginx-full-dbg (--configure): masalah dependensi - meninggalkan tidak terkonfigurasi Kesalahan dijumpai saat memproses: nginx-full nginx-full-dbg E: Sub-proses / usr / bin / dpkg mengembalikan kode kesalahan (1)
Mohit
1
Apakah Anda telah menginstal dan menjalankan Apache pada port 80 sebelum Anda menginstal nginx? Edit pertanyaan Anda untuk memasukkan outputnya systemctl -l status nginxjuga
Thomas Ward
Apakah Anda juga menginstal versi nginx yang berbeda? Saya melihat Anda menjalankan tugas hapus, tetapi jika konfigurasi yang lebih lama masih ada, mereka dapat merusak instalasi jika mereka memiliki perintah yang sudah usang atau sejenisnya.
Thomas Ward
See "systemctl status nginx.service" and "journalctl -xe" for details.- Bisakah Anda melakukan itu dan memasukkan output dalam pertanyaan Anda?
David Foerster

Jawaban:

140

Mematikan apache2 terlebih dahulu sebelum menginstal nginx akan memperbaiki masalah ini:

sudo service apache2 stop
Andrew Chan
sumber
3
Selamat Datang di Tanya Ubuntu! Saya sarankan untuk mengedit jawaban ini untuk meluaskannya dengan detail spesifik tentang bagaimana melakukan ini. (Lihat juga Bagaimana cara saya menulis jawaban yang baik? Untuk saran umum tentang jenis jawaban apa yang dianggap paling berharga di Ask Ubuntu.)
David Foerster
Ini memberi saya petunjuk yang saya butuhkan. Dalam kasus saya, saya menggunakan wadah buruh pelabuhan yang menjalankan server nginx lain
mithril_knight
Saya menekan hal yang sama, tetapi menemukan pelakunya dengan netstat -tulpn | grep :80, dalam kasus saya itu Varnish dikonfigurasi untuk mendengarkan pada port 80. systemctl stop varnish, kemudian menginstal Nginx, memperbaikinya untuk saya. Mengapa paket Debian / Ubuntu mencoba memulai sendiri saat pemasangan sudah di luar jangkauan saya ... Saya lebih suka menginstal, mengonfigurasinya
sesuka
Sungguh aneh bahwa NGINX tidak memeriksa ini di installer mereka, dan setidaknya memberikan pesan yang lebih bermanfaat. Apache sangat umum diinstal pada sistem Linux.
machineghost
28

Andrew Chan memberikan jawaban yang tepat untuk saya. Untuk sedikit memperluas jawabannya, inilah yang dapat Anda lakukan di commandline;

hentikan apache2

sudo systemctl stop apache2.service

cegah apache2 untuk memulai saat boot

sudo systemctl disable apache2.service

Instal ulang nginx

sudo apt-get install nginx

AR Winters
sumber
1
Saya menyarankan agar Anda tidak menonaktifkan Apache2 saat boot jika Anda membutuhkannya - ada banyak kasus di mana Anda tidak perlu menonaktifkan Apache jika Anda akhirnya mengkonfigurasi untuk mendengarkan di port lain. Setelah melakukan ini sendiri, untuk beberapa pengaturan, saya dapat berbicara dari beberapa pengalaman (saya juga melakukan banyak pekerjaan dalam paket nginx, yang merupakan asal pengalaman ini)
Thomas Ward
7

Saya baru saja mengalami masalah ini, tetapi solusinya sedikit berbeda.

Setelah saya memecahkan kesalahan konfigurasi situs, saya dapat memperbarui nginx.

Periksa log kesalahan nginx Anda :

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

Lalu coba lagi:

sudo apt-get update;sudo apt-get upgrade
Taiger
sumber
log FTW, dalam kasus saya port 80 sudah digunakan yang merupakan penyebab kesalahan
xliiv
6

Dalam kasus saya kesalahannya adalah server IPv6 dinonaktifkan. Larutan:

Edit /etc/nginx/sites-enabled/defaultdan komentar IPv6 keluar:

listen [::]:80 default_server;

Instal ulang nginx:

apt purge nginx
apt autoremove
apt install nginx
pengguna551419
sumber
@DavidFoerster Dengan apt 1.0, sebuah biner baru diperkenalkan yang mengumpulkan banyak perintah (sub-) yang akrab yang didistribusikan di antara apt-get, apt-cachedan sebagainya. Misalnya apt updatesama dengan apt-get update, apt search some-namesama apt-cache search some-namedan sebagainya. Dalam beberapa kasus, ada beberapa penulisan ulang, seperti apt full-upgradeitu sama dengan apt-get dist-upgrade. Binari lama dan perintah mereka masih tersedia untuk mereka yang menyukainya, juga.
Henning Kockerbeck
@ HenningKockerbeck: Terima kasih. Saya benar-benar tidak tahu saat itu dan berpikir itu salah ketik tetapi saya mendidik diri saya sendiri pada saat itu.
David Foerster
Bekerja untuk saya, tapi saya tidak bisa menerapkan ini dalam skrip shell saya untuk penyebaran server, itu bundaran konyol ...
Menasheh
1

Ketika saya memeriksa /var/log/nginx/error.log saya melihat bahwa installer tidak dapat membuka / var / cache / nginx / microcache

Daftar direktori menunjukkan tidak ada direktori / var / cache / nginx, jadi saya membuatnya dan instal berhasil.

Charles Oertel
sumber
1

Dalam kasus saya, ini merupakan file yang tidak terkonfigurasi di / etc / nginx / sites-enabled / Saya menamainya sebagai file .old, tapi itu tidak masalah. Mereka akan dibaca dan dapat mencegah instalasi yang berhasil atau memulai layanan itu. Hati-hati dengan file di folder itu dan baca output kesalahan Anda dengan hati-hati seperti yang dijelaskan oleh @Taiger

Godot85
sumber
0

Sebelum instalasi hapus semua symlink yang ditambahkan secara manual dari /sites-enabled.

Deto
sumber
0

Dalam kasus saya tidak ada yang membantu sama sekali, kecuali untuk ini:

sudo fuser -k 80/tcp

service nginx start
mansim
sumber