카테고리 없음

nginx 배포 및 인증서 등록 (https)

seongjin08 2022. 5. 17. 23:10

nginx  삭제

$ sudo apt-get purge nginx nginx-common nginx-full

 

nginx 설치

$ sudo apt-get install nginx

 

$ cd /etc/nginx

 

$ ls -al

여기서 중요한 것은 

nginx.conf : 설정 파일

sites-available : 폴더 설정 파일 저장소

sites-enabled : 설정파일 실행.

 

$  cd sites-available

$ sudo vi default

server {
           listen 80;
           server_name seong-jin.net;
           
           location / {
       proxy_set_header HOST $host;
       proxy_pass http://127.0.0.1:3003;
       proxy_redirect off;
       }
       }

nginx test

$. sudo nginx -t 

$ ps -ef | grep nginx

 

nginx 실행

$ sudo systemctl start nginx   

nginx 중지

$ sudo systemctl stop nginx  

nginx 상태

$ sudo systemctl status nginx  

 

https 적용하기

cerbot 설치

sudo apt-get install python3-certbot-nginx

명령어로 인증서 발급 하기 

sudo certbot --nginx

-  인증서 기간 만료 전에 메일로 알려줌 : 이메일 적기

-  service 동의하냐는 질문 : A

- 이메일로 뉴스레터 받을건지 질문 : N

- 어떤 도메인에 인증서 발급할 건지 번호 선택 : 도메인 선택

- https 리다이렉트 되도록 할건지 선택 : 1번은  별도의 설정을 하고 싶을때. 2번은 cerbot에서 nginx 설정을 해줌

 

마지막으로 인증서가 만료되기 전에 알아서 갱신되도록 Crontab을 설정할 것이다. 먼저 Crontab 설정 파일을 연다. 설정 파일을 열 때 편한 편집기를 고르라는 메시지가 뜨는데, 편한 편집기로 고르면 된다.

sudo crontab -e

 

최하단에 다음 설정을 추가한다. 이렇게 설정하면 매월 1일 오후 6시마다 인증서를 갱신하고 NGINX를 재시작하는 명령어가 실행된다.

0 18 1 * * certbot renew --renew-hook="sudo systemctl restart nginx"