nginx 재시작 실패 이슈 해결 과정을 정리, 공유

Updated on 2024-11-18 by

일요일 내내, 그리고 월요일 오전내 괴롭히던 nginx 재시작 실패 이슈를 해결했기에 여기 간단히 그 과정을 정리해 보고자 한다.

  • nginx 재시작 실패 이슈는 포트 문제이다
  • nginx 재시작 실패 이슈는 포트 문제이다
  • 포트 80이나 443포트를 죽이는 명령어를 사용하거나 아파치서버를 죽이는 명려어를 입력해 문제를 해결한다.

일요일의 날벼락!!

일요일 가족과 동네 뒷산 등산 후 집에 와서 사진을 정리하려고 자리에 앉으니 갑자기 사이트(happist.com)이 작동하지 않는다.
뭐가 문제이지?

사용료 지불 여부 확인

우선 이번달 사용료를 지불했는지 점검해 본다. 돈을 안내면 서버 접속을 중단시킨 경우가 있었기 때문에.
다행히 서버업체(vultr.com)은 문제없이 접속된다. 지나달거은 지불햇고 이번달 지불할 여분은 약간 부족하다. 그래서 우선 25달러를 지불해 여분을 충분히 확보한다.
그러므로 사용료 문제는 아니다러고 결론을 낸다.

결국 서버에 접속해 문제가 무엇인지 살펴보아야 한다.

그동안 너무 게을러서 ssh, ftp 프로그램 자체를 설치하지 않앗기에 이번 기회에 설치한다. 그런데 설치후 제대로 설정해도 접속은 안된다.

당황스럽다.

혹시나해서 서버업체(vultr.com)에 접속해 그곳 터미널로 서버에 접속해 본다.
여기서는 아이디와 패스워드를 일일히 쳐야하므로 귀찮지만 어쩔 수 없다. 다행히 이곳에서는 서버에 접속 가능하다.

무엇이 문제인가?

업체에 SOS 하다

기대는 하지 않았지만 업체에 도움을 요청해 본다.

업체에서도 포트 문제일거라고 알려준다.

nginx 재시작 실패 이슈 해결 과정을 정리, 공유 1

nginx 재시동 실패 메세지

nginx재시동 시 실패 메세지는 아래와 같다.

root@happist:~# service nginx restart
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.Code language: PHP (php)

nginx -t로 문제점 찾기

nginx -t로 문제가 무엇인지 찾아본다.

아래와 같은 메세지가 나온다 대부분은 문제가 없는데 설정 파일의 일부에 오류가 잇다고 나온다.

root@happist:~# sudo nginx -t
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/etrend.cc.conf:3
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/etrend.cc.conf:284
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/goodtrip.conf:3
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/goodtrip.conf:285
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/happist.com.conf:3
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/happist.com.conf:283
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/happist.com.conf:300
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/nextrend.co.conf:3
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/nextrend.co.conf:284
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/puripia.conf:3
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/puripia.conf:285
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulCode language: PHP (php)

journalctl -xe 명령 입력시

nginx재시동 시 나오는 메세지에 따라 journalctl -xe 명령을 입력해 본다.

-- The unit nginx.service has entered the 'failed' state with result 'exit-code'.  
Nov 18 10:07:53 happist systemd[1]: Failed to start nginx - high performance web s>
-- Subject: A start job for unit nginx.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--                                                                                 
-- A start job for unit nginx.service has finished with a failure.
--
-- The job identifier is 2988 and the job result is failed.                        
Nov 18 10:08:01 happist CRON[16771]: pam_unix(cron:session): session opened for us>Nov 18 10:08:01 happist CRON[16772]: (root) CMD (GET 'https://happist.com/mailster>Nov 18 10:08:01 happist postfix/pickup[16313]: E28A4177A64: uid=0 from=<root>      Nov 18 10:07:51 happist nginx[16755]: nginx: [warn] the "listen ... http2" directi>Nov 18 10:07:51 happist nginx[16755]: nginx: [warn] the "listen ... http2" directi>Nov 18 10:07:51 happist nginx[16755]: nginx: [emerg] bind() to 0.0.0.0:80 failed (>Nov 18 10:07:51 happist nginx[16755]: nginx: [emerg] bind() to 0.0.0.0:80 failed (>Nov 18 10:07:52 happist nginx[16755]: nginx: [emerg] bind() to 0.0.0.0:80 failed (>Nov 18 10:07:52 happist nginx[16755]: nginx: [emerg] bind() to 0.0.0.0:80 failed (>Nov 18 10:07:53 happist nginx[16755]: nginx: [emerg] bind() to 0.0.0.0:80 failed (>Nov 18 10:07:53 happist nginx[16755]: nginx: [emerg] still could not bind()        Nov 18 10:07:53 happist systemd[1]: nginx.service: Control process exited, code=ex>-- Subject: Unit process exited                                                    -- Defined-By: systemd                                                             Code language: PHP (php)
nginx 재시작 실패 이슈 해결 과정을 정리, 공유 2

인터넷 검색

명령을 봐도 무슨 이야기인지 모르겠다.
인터넷을 검색해 본다.

  • 우분투 20.04 이후부터 nginX 재부팅 혹은 재시작시에 bind 에러가 나타날때 – 아칼과 줄리
  • nginx.service failed because the control process exited

등의 글이 있던데 공통적으로 포트 80과 443포트가 동시에 열려거나 열려고 하면서 충돌이 나기 때문이라고 한다.

그래서 아래와 같은 명령어로 해결하라고 한다.
포트 8과 443르 죽이고 다시 nginx 재가동하라는 것이다

하지만 소용이 없었다.

sudo fuser -k 80/tcp
sudo fuser -k 443/tcp

Then execute
sudo service nginx restartCode language: PHP (php)

[해결책]아파치 서버를 죽이는 명령을 입력하다.

인터넷 어디에선가 서버 세팅후 서버 업체에서 nginx웹서버임에도 아파치 서버를 설치하는 경우가 잇다고 한다.
그래서 예전에 해결했던 아파치 서버 삭제 명령어를 사용해 봤다.

## 아파치 삭제
sudo apt-get --purge autoremove apache2 
sudo /etc/init.d/apache2 stop && sudo service nginx restartCode language: PHP (php)

작동하리라는 믿음은 없었고 그냥 테스트삼아 입력해 본건데 이 명령입력 후 nginx웹서버가 다시 가동 되었다.
그래서 재빨리 서버를 백업햇다. 그리고 지금 그 경험을 공유하고 있다.

무사히 해결되어 너무 너무 기쁘다..그런데 왜 아파치 서버가 설치된거지?

새롭게 뉴스레터를 시작했습니다.

1️⃣ 주식 등 투자 정보 : 기업 분석, IB 투자의견 등 투자 관련 내용
..... 테슬라 실적 및 IB들의의 테슬라 투자의견
2️⃣ 사례 및 트렌드 : 사례연구와 트렌드 관련 괜찮은 내용
.....유튜브와 경쟁대신 구독 전환한 비디오 플래폼 비메오 사례

서울에 생긴 Vultr 서버 100$ 프로모션

안녕하세요?
새로운 사이트 구축을 위한 신규 서버를 고민하신다면 , 서울 리젼이 생겨 더욱 빨라진 Vultr 서버를 Vultr 100$ 프로모션으로 이용해 보세요.

아래 프로모션 코드 링크를 통해 Vultr에서 서버 구축 후 1달 이상 사용 및 $25이상 결제 時 추가 100$을 주는 프로모션입니다.

Vultr는 서울에도 리젼이 있어 매우 빠르고, 아마존 웹 서비스(AWS)보다 성능이 높으며 가장 가성비가 뛰어납니다.

거기다 사용자 UI도 좋고, 15개까지 스냅샷을 무료로 제공하기 때문에 관리하기 좋습니다. 그리고 지금 100$ 프로모션처럼 가격적인 메리트도 있습니다.

우분투 20.04와 PHP 8 기반 워드프레스 설치 방법

가상 서버를 운영하고픈 勇者에게 전하는 가상 서버 운영 입문 노하우 – Vultr 가상서버호스팅(VPS)를 중심으로

워드프레스 최적화를 위한 18개월간의 고민, 그 노하우를 담다.

도쿄 리젼과 비교해 본 Vultr 서울 리젼 사용기

가성비가 뛰어난 Vultr 가상서버호스팅(클라우드호스팅,VPS) 사용기

Subscribe
Notify of
guest
0 Comments
Oldest
Newest
Inline Feedbacks
View all comments