2017-01-02 6 views
1

우분투 16.04에 NGINX를 설치하고 구성을 편집했습니다.NGINX를 다시 시작하지 못했습니다.

nginx.service - A high performance web server and a reverse proxy server 
    Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) 
    Active: failed (Result: exit-code) since Mon 2017-01-02 16:07:54 UTC; 15s ago 
    Process: 26515 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE) 
    Process: 26510 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) 
Main PID: 3464 (code=exited, status=0/SUCCESS) 

Jan 02 16:07:53 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 
Jan 02 16:07:53 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
Jan 02 16:07:53 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 
Jan 02 16:07:54 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
Jan 02 16:07:54 IF-STG-001 nginx[26515]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 
Jan 02 16:07:54 IF-STG-001 nginx[26515]: nginx: [emerg] still could not bind() 
Jan 02 16:07:54 IF-STG-001 systemd[1]: nginx.service: Control process exited, code=exited status=1 
Jan 02 16:07:54 IF-STG-001 systemd[1]: Failed to start A high performance web server and a reverse proxy server. 
Jan 02 16:07:54 IF-STG-001 systemd[1]: nginx.service: Unit entered failed state. 
Jan 02 16:07:54 IF-STG-001 systemd[1]: nginx.service: Failed with result 'exit-code'. 

왜 내의 nginx 인스턴스를 다시 시작할 수 없습니다 :

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

nginx.service 상태의 내용입니다 : 내가 sudo service nginx restart로 다시 시작하려는 경우 나는 오류가? 시작할 때 다른 프로그램이 이미 있기 때문에이 다시 시작을 차단하는 이유가 표시되지 않습니다

답변

2

오류 메시지의 중요한 부분 따라서

bind() to 0.0.0.0:80 failed (98: Address already in use)

이다, nginx를 포트 80에 바인딩 할 수 없습니다 이 항구에 묶여있다. 이 다른 프로그램이 종료되거나이 소켓에서 바인드 해제 될 때만 nginx를 시작할 수 있습니다. 현재이 포트를 결합하는 프로그램을 찾으려면

, 당신은 루트로 (예를 들어 sudo로)이 명령을 실행할 수 있습니다 :이 실행하면

ss -ntlp "sport = :80" 
+0

, 내가 얻을 :'주에 수신 된-Q 보내기-Q 로컬 주소 : 포트 피어 주소 : 포트 리스 토큰 0 128 * : 80 * : * 리스 토어 0 128 ::: 80 :::'' – sesc360

+0

프로그램을 루트로 실행하십시오. 일반 사용자는 포트에 바인딩 된 프로그램을 확인할 수있는 권한이 없습니다. –

+0

아, 이제 결과는 입니다. 상태 Recv-Q Send-Q 로컬 주소 : 포트 피어 주소 : 포트 리스너 0 128 * : 80 * : * 사용자 : (("nginx", pid = 26359, fd = ("nginx", pid = 26358, fd = 6),LISTEN 0 128 ::: ::: 사용자 : , pid = 26358, fd = 7))' – sesc360

관련 문제