Thoughts, stories and ideas.

Nginx

Nginx

Nginx

Nginx는 리버스 프록시이고, 그 다음이 Http 서버라는 점.
설정 파일의 계층 구조라는 점을 알아야하는데, 상위 블럭의 설정이 하위 블럭의 기본값으로 사용된다. Http블럭 > server블럭 > location블럭

서브도메인 설정하기

nginx.conf 파일 수정하기
/etc/nginx/sites-available/default

server {
    listen       80;
    server_name  nginx1.appsroot.com;

    location / {
        root   /home/nginx1;
        index  index.html index.htm;
    }
}

Reference
Nginx 주요설정 참고
Reverse-Proxy 서버 참고


Nginx 에러 로그 확인하기

리눅스에서는 오류나 파일의 로그를 보고싶을 때 tail 명령어 를 사용하여 실시간으로 확인할 수 있다.
기본적으로 파일의 마지막 부분을 출력하고, 뒤에 옵션값을 넣을 수 있다.

[옵션]
f: 파일의 10라인을 실시간으로 출력
F: 파일 변동 시 실시간으로 보여줌
n: n라인만큼 출력 (n은 숫자)

Nginx의 에러로그 위치
var/log/nginx/error.log
example
tail -f /var/log/nignx/error.log


Certbot 인증하기

설정파일 위치 찾기

/etc/nginx/nginx.conf
/etc/nginx/sites-available/default
$ sudo find / -name nginx.conf

과정 정리
  1. nginx.conf 에서 아래 내용 주석처리
    return 301 https://$server_name$request_uri;
  2. $ sudo service nginx reload
  3. $ ./certbot-auto renew
  4. nginx.conf에서 return시작하는 부분 주석 해제
  5. $ sudo service nginx reload 실행

주석처리하면 HTTP주소로 접속시 자동으로 HTTPS로 리다이렉트 되지 않아, 갱신 후 다시 원래대로 돌려놓아야 함.

Nginx 특정 IP 차단하기

# sudo vi /etc/nginx/conf.d/ips.conf
deny 192.168.0.0;
deny ...

# sudo vi /etc/nginx/sites-available/default 
server {
    ...
    include /etc/nginx/conf.d/ips.conf;
    ...