기타

Nginx Reverse Proxy

realtrynna 2022. 9. 30. 21:43

 

프록시: https://thelapssql.tistory.com/113

nginx: https://thelapssql.tistory.com/117

 

Nginx 기본 설정

설치

sudo apt install nginx
systemctl start nginx 시작
systemctl restart nginx 재시작
systemctl stop nginx 중지
service nginx status 상태 확인
ps aux --forest | grep nginx 프로세스 확인
nginx -t 설정 파일 문법 검사

 

마스터와 워커 프로세스 확인

ps aux --forest | grep nginx
root         544  0.0  0.1  55200  1672 ?        Ss   05:49   0:00 nginx: master process /usr/sbin/ngin                x -g daemon on; master_process on;
www-data     549  0.0  0.5  55832  5100 ?        S    05:49   0:00  \_ nginx: worker process

 

워커 프로세스 개수 설정

etc/nginx 디렉터리 nginx.conf 파일에서 설정 가능 기본적으로 서버 컴퓨터 CPU 코어 수에 맞게 자동으로 생성됨

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

 

문법 검사

nginx 설정 파일이 문법에 맞게 작성되었는지 검사(lint)

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

 

설정 파일

  • 기본 위치는 /etc/nginx/nginx.conf 디렉터리에 위치
  • 설정 파일은 디렉티브(Directives)로 관리 간단(Simple) 디렉티브와 블록(Block) 디렉티브로 분류
  • 설정 끝은 세미콜론으로 표시

 

블록으로 감싸져 있으면 블록 디렉티브 감싸져있지 않으면 심플 디렉티브

server {
    location / {
        root /data/www;
    }
    location /images/ {
        root /data;
    }
}

 

설정 파일 분리

include를 사용해 설정 파일을 분리하여 관리

include /etc/nginx/conf.d/*.conf;

 

서버 블록(Server block)

  • 서버 기능을 설정하는 블록
  • 어떤 주소:포트로 요청받을지 설정 
server {
    listen      80;
    server_name example.org www.example.org;
}

 

리버스 프록시

sudo vim /etc/nginx/sites-available/default

server 블록 내부 location / {} 안에 다음과 같은 코드를 추가한다. 도메인이 있을 경우 server_name에 적어준다.  

 index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                proxy_pass http://127.0.0.1:1000;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                # try_files $uri $uri/ =404;
        }