Ubuntu 16.04의 Nginx 설치 오류


57
: ~ $ sudo apt-get nginx * 제거 && sudo apt-get install nginx-full *

패키지 목록을 읽는 중 ... 완료
의존성 트리 구축       
상태 정보를 읽는 중 ... 완료

이 작업 후에는 5,579kB의 추가 디스크 공간이 사용됩니다.
계속 하시겠습니까? [Y / n] y
Get : 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]
33s (112kB / s)에서 3,789kB 페치                                             
이전에 선택하지 않은 패키지 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, "start"작업이 실패했습니다.

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- 풀

 nginx 전체 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뿐만 아니라
토마스 구

다른 버전의 nginx도 설치 했습니까? 제거 작업을 실행 한 것으로 보이지만 이전 구성이 여전히 사용중인 경우 더 이상 사용되지 않는 명령이 있거나 유사한 내용이 포함 된 경우 설치가 중단 될 수 있습니다.
토마스 워드

See "systemctl status nginx.service" and "journalctl -xe" for details.– 질문에 출력 내용을 포함시켜 주시겠습니까?
David Foerster

답변:


139

nginx를 설치하기 전에 apache2를 먼저 종료하면이 문제가 해결됩니다.

sudo service apache2 stop

3
Ask Ubuntu에 오신 것을 환영합니다! 이를 수행하는 방법에 대한 특정 세부 사항으로 확장 하려면 이 답변을 편집 하는 것이 좋습니다 . Ask Ubuntu에서 어떤 종류의 답변이 가장 가치있는 것으로 생각되는지에 대한 일반적인 조언은 좋은 답변을 작성하는 방법 도 참조하십시오 .
David Foerster

이것은 나에게 필요한 힌트를 주었다. 제 경우에는 다른 nginx 서버를 실행하는 도커 컨테이너를 사용했습니다
mithril_knight

나는 똑같은 것을 쳤지 만와 같은 범인을 찾았 netstat -tulpn | grep :80습니다. 제 경우에는 포트 80 systemctl stop varnish에서 수신 대기하도록 니스가 구성되었습니다. 그런 다음 Nginx를 설치하고 수정했습니다. 데비안 / 우분투 패키지가 설치시 스스로 시작하려고하는 이유는 저를 넘어서는 것입니다 ... 오히려 설치하고, 원하는 방식으로 구성한 다음 시작하십시오. : P
geerlingguy

28

Andrew Chan이 저에게 정답을 제공했습니다. 그의 대답을 약간 확장하기 위해 다음은 명령 줄에서 수행 할 수있는 작업입니다.

아파치 중지 2

sudo systemctl stop apache2.service

부팅시 apache2가 시작되지 않도록 방지

sudo systemctl disable apache2.service

nginx를 다시 설치하십시오

sudo apt-get install nginx


1
필요할 때 부팅 할 때 Apache2를 비활성화하지 않는 것이 좋습니다 . 다른 포트에서 수신 대기하도록 Apache를 구성한 경우에는 Apache를 비활성화 하지 않아도되는 경우가 많습니다 . 이 작업을 직접 수행 한 경우 일부 설정의 경우 일부 경험을 통해 말할 수 있습니다 (이 경험이 시작된 nginx 패키지에서도 많은 작업
Thomas Ward

7

방금이 문제가 있었지만 솔루션은 약간 다릅니다.

간단한 사이트 구성 오류를 해결하면 nginx를 업데이트 할 수있었습니다.

nginx 오류 로그를 확인하십시오 .

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

그런 다음 다시 시도하십시오.

sudo apt-get update;sudo apt-get upgrade

FTW 기록, 제 경우에는 80 포트가 이미 사용
중이며

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-get, apt-cache등 등을. 예를 들어 apt updateequals apt-get update, apt search some-nameequals apt-cache search some-name등. 같은 어떤 경우에는 몇 가지 새로운 표현이 있었다 apt full-upgrade즉 같습니다 apt-get dist-upgrade. 오래된 바이너리와 명령은 여전히 ​​멋진 사람들에게도 사용 가능합니다.
Henning Kockerbeck 2016 년

@HenningKockerbeck : 감사합니다. 나는 그때를 정말로 알지 못했고 그것이 오타라고 생각했지만 그 사이에 나 자신을 교육했습니다.
David Foerster

나를 위해 일했지만 서버 배포를 위해 쉘 스크립트에서 이것을 구현할 수 없습니다. 터무니없이 우회합니다 ...
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.