Lỗi cài đặt Nginx trong Ubuntu 16.04


58
: ~ $ sudo apt-get loại bỏ nginx * && sudo apt-get install nginx-full *

Đọc danh sách gói ... Xong
Xây dựng cây phụ thuộc       
Đọc thông tin trạng thái ... Xong

Sau thao tác này, 5.579 kB không gian đĩa bổ sung sẽ được sử dụng.
Bạn có muốn tiếp tục? [Y / n] y
Nhận: 1 http://in.archive.ubfox.com/ubfox xenial-Updates / Universe amd64 nginx-full-dbg amd64 1.10.0-0ub Ubuntu0.16.04.1 [3.789 kB]
Đã tải 3.789 kB trong 33 giây (112 kB / s)                                             
Chọn gói không được chọn trước đó nginx-common.
(Đọc cơ sở dữ liệu ... 189767 tệp và thư mục hiện được cài đặt.)
Chuẩn bị giải nén ... / nginx-common_1.10.0-0ubfox0.16.04.1_all.deb ...
Giải nén nginx-common (1.10.0-0ubfox0.16.04.1) ...
Chọn gói chưa được chọn trước đó nginx-full.
Đang chuẩn bị giải nén ... / nginx-full_1.10.0-0ubfox0.16.04.1_amd64.deb ...
Giải nén nginx-full (1.10.0-0ubfox0.16.04.1) ...
Chọn gói chưa được chọn trước đó nginx-full-dbg.
Đang chuẩn bị giải nén ... / nginx-full-dbg_1.10.0-0ubfox0.16.04.1_amd64.deb ...
Giải nén nginx-full-dbg (1.10.0-0ubfox0.16.04.1) ...
Xử lý các kích hoạt cho ufw (0,35-0ubfox1) ...
Các quy tắc được cập nhật cho hồ sơ 'Apache Full'
Các quy tắc được cập nhật cho hồ sơ 'Nginx HTTP'

Xử lý các kích hoạt cho systemd (229-4ubfox4) ...
Xử lý các kích hoạt cho ureadahead (0.100.0-19) ...
Xử lý các kích hoạt cho man-db (2.7.5-1) ...
Thiết lập nginx-common (1.10.0-0ubfox0.16.04.1) ...
Thiết lập nginx-full (1.10.0-0ubfox0.16.04.1) ...
Công việc cho nginx.service không thành công vì quá trình kiểm soát đã thoát với mã lỗi. Xem "trạng thái systemctl nginx.service" và "Tạp chí -xe" để biết chi tiết.

invoke-rc.d: initscript nginx, hành động "bắt đầu" không thành công.

dpkg: gói xử lý lỗi nginx-full (--có hình):
 quy trình con được cài đặt tập lệnh sau khi cài đặt trả về trạng thái thoát lỗi 1
dpkg: sự cố phụ thuộc ngăn cấu hình của nginx-full-dbg:
 nginx-full-dbg phụ thuộc vào nginx-full (= 1.10.0-0ubfox0.16.04.1); Tuy nhiên:
  Gói nginx-full chưa được cấu hình.

dpkg: gói xử lý lỗi nginx-full-dbg (--cool):

 vấn đề phụ thuộc - không được cấu hình
Không có báo cáo apport được viết vì thông báo lỗi cho biết đó là lỗi theo dõi từ lỗi trước đó.

                          Đã bắt gặp các lỗi trong quá trình xử lí thông tin:
 nginx đầy

 nginx-full-dbg

E: Quá trình phụ / usr / bin / dpkg trả về mã lỗi (1)

Thử apt-get -f installmà không có gói nào
Motte001

đã kiểm tra, lỗi tương tự !! Vui lòng xem :: ~ $ sudo apt-get -f cài đặt nginx-full-dbg phụ thuộc vào nginx-full (= 1.10.0-0ub Ubuntu0.16.04.1); tuy nhiên: Gói nginx-full chưa được định cấu hình. dpkg: gói xử lý lỗi nginx-full-dbg (--có hình): các vấn đề phụ thuộc - để lại lỗi không được định cấu hình đã gặp phải trong khi xử lý: nginx-full nginx-full-dbg (1)
Mohit

1
Bạn đã cài đặt Apache và chạy trên cổng 80 trước khi cài đặt nginx chưa? Chỉnh sửa câu hỏi của bạn để bao gồm sản lượng systemctl -l status nginxcũng
Thomas Ward

Bạn đã cài đặt phiên bản nginx khác chưa? Tôi thấy bạn đã chạy một tác vụ gỡ bỏ, nhưng nếu các cấu hình cũ hơn vẫn ở xung quanh thì chúng có thể phá vỡ cài đặt nếu chúng có các lệnh không dùng hoặc tương tự được in.
Thomas Ward

See "systemctl status nginx.service" and "journalctl -xe" for details.- Bạn có thể vui lòng làm điều đó và bao gồm đầu ra trong câu hỏi của bạn?
David Foerster

Câu trả lời:


140

Tắt apache2 trước khi cài đặt nginx nên khắc phục sự cố này:

sudo service apache2 stop

3
Chào mừng bạn đến hỏi Ubuntu! Tôi khuyên bạn nên chỉnh sửa câu trả lời này để mở rộng nó với các chi tiết cụ thể về cách thực hiện việc này. (Xem thêm Làm thế nào để tôi viết một câu trả lời hay? Để có lời khuyên chung về loại câu trả lời nào được coi là có giá trị nhất trên Hỏi Ubuntu.)
David Foerster

Điều này đã cho tôi gợi ý tôi cần. Trong trường hợp của tôi, tôi đang sử dụng một container
docker

Tôi cũng gặp phải điều tương tự, nhưng tìm ra thủ phạm netstat -tulpn | grep :80, trong trường hợp của tôi, đó là Varnish được cấu hình để nghe trên cổng 80. systemctl stop varnish, sau đó cài đặt Nginx, sửa nó cho tôi. Tại sao các gói Debian / Ubuntu cố gắng tự khởi động khi cài đặt nằm ngoài tôi ... Tôi thà cài đặt, định cấu hình nó theo cách tôi thích, sau đó khởi động nó: P
ge Muffguy 26/07/17

Thật kỳ lạ khi NGINX không kiểm tra điều này trong trình cài đặt của họ và ít nhất cung cấp một thông báo hữu ích hơn. Apache được cài đặt rất phổ biến trên các hệ thống Linux.
máy

28

Andrew Chan cung cấp câu trả lời đúng cho tôi. Để mở rộng câu trả lời của anh ấy một chút, đây là những gì bạn có thể làm trên dòng lệnh;

ngừng apache2

sudo systemctl stop apache2.service

ngăn apache2 khởi động khi khởi động

sudo systemctl disable apache2.service

Cài đặt lại nginx

sudo apt-get install nginx


1
Tôi khuyên bạn không nên vô hiệu hóa Apache2 khi khởi động nếu bạn cần nó - có nhiều trường hợp bạn không cần phải tắt Apache nếu cuối cùng bạn định cấu hình nó để nghe trên một cổng khác. Sau khi thực hiện điều này, đối với một số thiết lập, tôi có thể nói từ một số kinh nghiệm (tôi cũng làm rất nhiều công việc trong gói nginx, nơi mà trải nghiệm này đến từ đó)
Thomas Ward

7

Tôi chỉ có vấn đề này, nhưng giải pháp hơi khác nhau.

Khi tôi giải quyết được cấu hình sai trang web đơn giản, tôi có thể cập nhật nginx.

Kiểm tra nhật ký lỗi nginx của bạn :

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

Sau đó thử lại:

sudo apt-get update;sudo apt-get upgrade

đăng nhập FTW, trong trường hợp của tôi, cổng 80 đã được sử dụng, đó là nguyên nhân gây ra lỗi
xliiv

6

Trong trường hợp của tôi, lỗi là máy chủ đã tắt IPv6. Giải pháp:

Chỉnh sửa /etc/nginx/sites-enabled/defaultvà nhận xét IPv6 ra:

listen [::]:80 default_server;

Cài đặt lại nginx:

apt purge nginx
apt autoremove
apt install nginx

@DavidFoerster Với apt 1.0, một nhị phân mới đã được giới thiệu thu thập nhiều lệnh (phụ) quen thuộc được phân phối giữa apt-get, apt-cachev.v. Ví dụ, apt updatebằng apt-get update, apt search some-namebằng apt-cache search some-namevà vv. Trong một số trường hợp, đã có một số viết lại, như thế apt full-upgradebằng apt-get dist-upgrade. Các nhị phân cũ và các lệnh của chúng vẫn có sẵn cho những người ưa thích chúng.
Henning Kockerbeck

@HenningKockerbeck: Cảm ơn. Tôi thực sự không biết hồi đó và nghĩ rằng đó là một lỗi đánh máy nhưng tôi đã tự học trong thời gian đó.
David Foerster

Làm việc cho tôi, nhưng tôi không thể thực hiện điều này trong các kịch bản shell của mình để triển khai máy chủ, đó là vòng xoay lố bịch ...
Menasheh

1

Khi tôi kiểm tra /var/log/nginx/error.log tôi thấy rằng trình cài đặt không thể mở / var / cache / nginx / microcache

Một danh sách thư mục cho thấy không có thư mục / var / cache / nginx, vì vậy tôi đã tạo nó và cài đặt thành công.


1

Trong trường hợp của tôi, nó đã là một tệp bị định cấu hình sai trong / etc / nginx / sites-enable / Tôi đặt tên chúng là các tệp .old, nhưng điều đó không quan trọng. Chúng sẽ được đọc và có thể cho phép cài đặt thành công hoặc bắt đầu dịch vụ đó. Hãy cẩn thận với các tệp trong thư mục đó và đọc kỹ đầu ra lỗi của bạn như được @Taiger ghi lại


0

Trước khi cài đặt loại bỏ bất kỳ symlink được thêm bằng tay từ /sites-enabled.


0

Trong trường hợp của tôi không có gì giúp được, ngoại trừ điều này:

sudo fuser -k 80/tcp

service nginx start
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.