이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 12629|회답: 0

[웹] Nginx 자가 시작 실패

[링크 복사]
게시됨 2015. 5. 30. 오후 11:46:28 | | |

리노드가 다시 업그레이드되었어요~ 하지만 일본 컴퓨터실에 있는 오래된 기기는 업그레이드하는 데 몇 주가 걸릴 것 같아 기다릴 수 없어서 새 기기를 열었고, 집으로 이사할 계획이며, 서버에 있는 불필요한 쓰레기도 쓸어내릴 계획입니다.

새 기계는 제가 직접 쓴 LNMP 원클릭 설치 스크립트를 사용합니다(사실 대부분의 코드는 온라인에서 찾을 수 있습니다 = =##). 그리고 DigitalOcean에서 스크립트를 만든 후 Linode에 설치했습니다. 설치와 이동에는 문제가 없었지만, 설치 후 재시작하자마자 문제가 발생했습니다.


재시작 후에는 Nginx가 자동으로 시작되어야 하지만, 오랜 시간 기다려도 여전히 웹사이트에 접속할 수 없습니다. SSH에 로그인하고 실행하세요:

서비스 NGINX START

Nginx를 수동으로 실행하면 웹사이트가 금방 접근 가능해집니다. 자동 시작 스크립트는 괜찮고, 수동 시작도 문제없는데, 왜 nginx가 아예 시작이 안 되는 걸까요?

로그를 살펴보다가 이런 문구를 발견했습니다:

2014/05/02 17:02:28 [에머지] 2912#0: bind() to [2400:8900::f03c:91ff:fe6e:5889]:80 실패 (99: 요청된 주소 할당 불가)

Nginx를 시작할 때 IPv6가 초기화되지 않은 것 같아서 시작이 실패한 것 같습니다. SSH에 로그인해서 수동으로 Nginx를 시작하면 IPv6가 이미 초기화되어 있어서 정상적으로 시작할 수 있습니다.

아마 이유를 짐작했겠죠, 어떻게 해결할까요? 긴 구글 검색 끝에 ServerFault에서 비슷한 문제와 해결책을 발견했고, 여기에 기록하겠습니다.

/etc/sysctl.conf에 삽입:
  1. sysctl -w net.ipv6.conf.eth0.dad_transmits=0
코드 복사
또는:

/etc/network/interface에 라인 추가:
  1. post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
코드 복사
저는 후자의 방법을 사용해 문제를 해결합니다.




이전의:디스쿠즈에 대해! (X3.1) https 암호화 활성화 방법
다음:후푸 컵 참가 프로젝트
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com