include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
// ===============작성해야하는 것
server {
server_name naver.com;
listen 80;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:3060;
proxy_redirect off;
}
}
// ===============작성해야하는 것
server_name에 naver.com을 넣어놨는데, 본인의 사이트를 넣습니다.
저장할땐 ESC를 눌러서 커서를 제거한 후 :wq!를 입력합니다.
포트 확인
그 후에 80포트로 등록했으니 80포트가 사용되고 있는지 확인합니다.
사용되고 있다면 진행이 안되기 때문입니다.
sudo lsof -i tcp:80
사용 중이라면 kill 해줍니다.
만약 내가 kill을 어떻게 하는 지 모르겠다면 아래와 같이 입력하세요.
위에서 PID는 (프로세스아이디) 19888이므로 아래와 같이 명령어를 입력합니다.
kill -9 19888
인증서 발급
그 후 인증서를 받기위해 명령어를 입력!
sudo certbot --nginx
이메일을 입력해줍니다.
그 후 약관동의를 다 해줍니다.
1번 입력 후 엔터를 쳐줍니다.
nginx.conf 설정
그 다음 다시 vim 에디터를 통해 작업을 합니다.
sudo vim /etc/nginx/nginx.conf
들어가보면 내가 작성하지 않은 코드들이 추가로 작성되어있습니다.
인증서를 발급 받으면서 작성된 코드들인데, 주석으로 #managed by Certbot과 같이 뒤에 적혀있습니다.
(제가 줄 정렬을 새로한 거라 그런데, 원본은 정렬이 안되어있습니다.)
default 수정
nginx.conf 파일에서 include /etc/nginx/sites-enabled/*;가 작성되어있습니다.
때문에.. include가 되는 파일 중에 vim에디터를 통해 default 파일을 수정해줘야합니다.
vim /etc/nginx/sites-enabled/default
안에 server로 설정된 부분을 # <- 을 통해 주석처리합니다.
:wq!를 통해 저장하고 vim 에디터를 나옵니다.
nginx start
sudo service nginx start
참고
에러가 난다면 해 볼 수 있는 행동들입니다.
0. 무조건 상태먼저 확인
systemctl status nginx.service
아래와 같이 status를 확인할 수 있습니다.
저 같은 경우에는 오타였습니다.
1. 포트확인 후 kill
과정 중에 설명이 되어있습니다. 설명대로 다시 진행합니다.
sudo lsof -i tcp:80 // or 443
kill -9 프로세스아이디
2. 문법체크
sudo nginx -t
ok, successful 이 아니라면 해당 파일을 확인해봐야합니다. (오타나 설정을 잘못 입력했는지)
3. 서버가 켜있던 상태에서 vim에디터를 통해 설정을 바꾼거라면 reload
sudo service nginx reload
nginx 명령어
// 시작
sudo service nginx start
// 재시작
sudo service nginx restart
// 중지
sudo service nginx stop
// 상태
sudo service nginx status
// 설정
sudo service nginx reload
// 설정 파일 문법 체크
sudo nginx -t