라이브러리

[NGINX] fastcgi_pass - FastCGI 서버로 요청을 전달할 URL을 설정합니다.


NGINX에서 fastcgi_pass는 FastCGI(FCGI) 프로토콜을 사용하여 웹 서버와 프로그래밍 언어 인터프리터 또는 컴파일러 간의 통신을 위한 역할을 합니다. 이 기능을 사용하면 NGINX가 웹 요청을 처리하고, 프로그래밍 언어 인터프리터 또는 컴파일러가 요청을 처리한 후 결과를 반환받을 수 있습니다.

FastCGI란?


FastCGI는 CGI(CGI는 Common Gateway Interface의 약자)와 유사한 프로토콜입니다. CGI는 웹 서버와 프로그래밍 언어 인터프리터 간의 통신을 위한 프로토콜로, 웹 서버가 프로그래밍 언어 인터프리터를 호출하여 요청을 처리하는 방식입니다. 그러나 CGI는 요청을 처리하는 동안 프로그래밍 언어 인터프리터가 종료되기 때문에, 요청이 처리되는 동안 프로그래밍 언어 인터프리터를 다시 호출해야 하는 문제가 발생했습니다.

FastCGI는 CGI의 이러한 문제를 해결하기 위해 개발된 프로토콜로, 프로그래밍 언어 인터프리터를 웹 서버와 함께 실행하여 요청을 처리하는 방식입니다. FastCGI는 요청을 처리하는 동안 프로그래밍 언어 인터프리터를 종료하지 않기 때문에, 요청이 처리되는 동안 프로그래밍 언어 인터프리터를 다시 호출하지 않아도 됩니다.

NGINX에서 FastCGI 사용하기


NGINX에서 FastCGI를 사용하려면, NGINX 구성 파일에 fastcgi_pass를 지정해야 합니다. fastcgi_pass는 프로그래밍 언어 인터프리터 또는 컴파일러의 주소로, NGINX가 요청을 처리할 프로그래밍 언어 인터프리터 또는 컴파일러를 호출할 수 있도록 합니다.

# 예제 1: PHP 사용하기


NGINX에서 PHP를 사용하려면, NGINX 구성 파일에 fastcgi_pass를 다음과 같이 지정합니다.

#hostingforum.kr
nginx

http {

    ...

    server {

        listen 80;

        server_name example.com;



        location / {

            index index.php index.html index.htm;

            try_files $uri $uri/ /index.php$is_args$args;

        }



        location ~ .php$ {

            try_files $uri =404;

            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

            fastcgi_param SCRIPT_FILENAME $request_filename;

            include fastcgi_params;

        }

    }

}



위 예제는 NGINX 구성 파일에서 PHP를 사용하는 방법을 보여줍니다. NGINX는 요청을 처리할 PHP-FPM을 호출하여 요청을 처리합니다.

# 예제 2: Python Flask 사용하기


NGINX에서 Python Flask를 사용하려면, NGINX 구성 파일에 fastcgi_pass를 다음과 같이 지정합니다.

#hostingforum.kr
nginx

http {

    ...

    server {

        listen 80;

        server_name example.com;



        location / {

            index index.py;

            try_files $uri $uri/ /index.py$is_args$args;

        }



        location ~ ^/app/(.*)$ {

            fastcgi_pass unix:/var/run/gunicorn.sock;

            fastcgi_param SCRIPT_FILENAME /var/www/app/$1;

            include fastcgi_params;

        }

    }

}



위 예제는 NGINX 구성 파일에서 Python Flask를 사용하는 방법을 보여줍니다. NGINX는 요청을 처리할 Gunicorn을 호출하여 요청을 처리합니다.

결론


NGINX에서 FastCGI를 사용하여 프로그래밍 언어 인터프리터 또는 컴파일러를 호출하여 요청을 처리할 수 있습니다. FastCGI를 사용하면 NGINX가 요청을 처리할 프로그래밍 언어 인터프리터 또는 컴파일러를 호출할 수 있도록 하며, 요청이 처리되는 동안 프로그래밍 언어 인터프리터 또는 컴파일러를 종료하지 않기 때문에, 요청이 처리되는 동안 프로그래밍 언어 인터프리터 또는 컴파일러를 다시 호출하지 않아도 됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 24 페이지

검색

게시물 검색