Nginx

학교의 모든 지식. SMwiki
Sam (토론 | 기여)님의 2022년 10월 21일 (금) 23:07 판
둘러보기로 이동 검색으로 이동

개요

아파치와 같은, 유명한 웹서버.

설정파일

파일 설명
/etc/nginx/sites-availables/ 사용 예정인 설정 파일을 이곳에 보관한다.
/etc/nginx/sites-enables/ 사용할 설정파일을 이곳에 보관한다. 이곳에 있는 모든 설정파일을 작동하기 때문에 포트가 겹치는 설정파일이 있으면 에러가 난다.
의도 설명 방법
테스트 엔진엑스 작동에 대한 테스트를 수행한다.

(설정파일 등이 정상인가 파악)

sudo nginx -t

SSL 인증

https 주소를 사용하기 위한 인증이다.

이곳에선 비영리 인증기관인 Let's Encrypt의 인증을 certbot을 통해 자동으로 인증받는 과정을 다룰 것이다.

과정 설명 방법
설치 저장소 등록 및 설치.
OS 방법
우분투 20.04
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
Nginx세팅 /etc/nginx/sites-available 안에 있는 세팅파을을 설정해준다. 이미 서비스를 하고 있었다면 되어있을 터.

(server_name 항목이 채워져 있다면 OK.)

혹시 설정을 바꿨다면 우측의 명령어로 재시작해보자.

sudo nginx -t # 세팅파일이 정상인지 확인

sudo service nginx reload

인증 획득 -d 옵션을 통해 도메인을 추가할 수 있다. 우측의 예시를 참고하자.

진행하면 리다이렉션 설정 등을 선택하게 하는데, 잘 읽고 필요에 따라 진행하자.

Time zone, email 등을 물어본다. 이메일을 보낸다는 내용도 있으니 잘 읽고 답하자.

sudo certbot --nginx -d 도메인 -d 도메인2

sudo certbot --nginx -d example.com -d www.example.com

확인(자동갱신) 이 인증서는 90일동안 유효한데, certbot에서 자동으로 갱신을 해준다.

우측 명령어에서 에러가 나지 않으면 정상.

보통 /etc/cron.d/에 certbot이 생성된다.

sudo certbot renew --dry-run
확인(평가) SSL 적용을 확인해주는 사이트를 통해 확인해본다. https://www.ssllabs.com/ssltest/

에러

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)

nginx: [emerg] "worker_processes" directive is not allowed here in /etc/nginx/sites-enabled/nginx_conf:1

위 형태의 에러는 경로가 sites-enabled에 있는 것으로 보아... 거의 사용자 설정 문제이다.