nginx란 (작성중)


nginx란

  • 웹서버로 정적/동적 요청을 처리하는 서버이다.
  • 클라이언트에서 오는 요청을 분산시키는 역할
  • 리버스 프록시 역할 (서버의 진짜 ip를 가려준다)

gunicorn이란

웹서버가 동적 페이지 요청을 처리하기 위해 호출하는 서버로 WSGI(web server gateway interface) 서버 종료 중 하나이다.
구니콘을 서버에 구동시키는 방식은 여러가지가 있다. 운영 환경에서는 에플리케이션(ex - fastapi…)을 사용하기 위해 서버를 구동시켜야 한다.


웹 서버로 (nginx) 동적 요청이 오는 경우 웹 서버는 파이썬 프로그램을 호출해야 한다. 웹 서버에는 파이썬 프로그램을 호출 할 수 있는 기능이 없기 때문에 호출할 수 있는 WSGI(web server gateway interface)가 필요하다. 웹 서버에 동적 요청이 발생하는 경우 웹 서버가 WSGI 서버를 호출하고, WSGI서버가 파이썬 프로그램을 호출하여 동적 요청을 처리한다


nginx conf 파일

    # ----- Server Settings -----

# import server
include /opt/moneycoon/nginx/conf/*.conf;
include /opt/moneycoon/nginx/site-enabled/*;


server {
    listen 80;
    server_name {server_domain_name};

    return 301 https://$host$request_uri;
}
.
.


# ----- /nginx/site-enabled file -----
server {
    listen  443 ssl;
    server_name {server_domain_name};

    ssl_certificate /root/.ssh/keys/private.crt;
    ssl_certificate_key /root/.ssh/keys/private.pem;
    ssl_prefer_server_ciphers on;

    proxy_set_header Host $host;
    proxy_set_header User-Agent $http_user_agent;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE_ADDR $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    location / {
       proxy_pass http://127.0.0.1:8000;
    }
}

proxy_set은 엔진엑스 쪽으로 요청오는 클라이언트에 대한 정보를 설정해주는거라고 생각하면 된다. 찾아보면 각자 설정 값들이 뭘 말하는지 알 수 있다. https://hw00173.tistory.com/91