본문 바로가기
재밌는 IT 개발/서버는 어려워~ 걍 기본만!

NGINX connection timeout 시간 설정

by 만수킴 2020. 7. 27.

시간 설정을 늘려보자.

환경 : Nginx, php-fpm, php5.6, cloudflare

 

각각의 파일 위치 경로는 phpinfo() 를 이용하여 확인하던가, ps -ef, find등... 알아서 찾을것.

 

1. 우선 cloudflare는 딱 100초까지만 지원한다. cloudflare연동을 하는 경우, 100초 이상 사용하려면 유료 서비스에 가입해야 한다.

 

2. php.ini 설정  -  /usr/local/lib/php.ini

// 전부 기본은 60초이다. 아래 3가지를 변경해야 한다.
max_input_time = 60;
default_socket_timeout = 60;
max_execution_time = 60;

 

3. php-fpm 설정  -  /usr/local/etc/php-fpm.conf

// 0초에서 12초로 변경
;request_terminate_timeout = 0 ;default, by tank. at 200727.
request_terminate_timeout = 120

 

4. NginX 설정 - /usr/local/nginx/conf/nginx.conf

client_header_timeout 1m;   #기본 15
client_body_timeout 1m;     #기본 
client_max_body_size 1024M;

keepalive_timeout 20m;

proxy_connect_timeout 120; #기본 60초
proxy_send_timeout 120;    #기본 60초
proxy_read_timeout 120;    #기본 60초
send_timeout 120;          #기본 60초

proxy_buffers 16 16k;
proxy_buffer_size 32k;

fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_read_timeout 120;  #기본 60초

 

5. NginX - Virtual Host 별 설정  -  /usr/local/nginx/sites-enabled

##### proxy 방식
location / {
    proxy_pass      http://127.0.0.1:9999;
 
    proxy_connect_timeout   120; #기본 60초
    proxy_send_timeout      120; #기본 60초
    proxy_read_timeout       120;
    proxy_buffers            64 16k;  # default 8 4k
}
 
##### fastcgi 방식
location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    if (!-f $document_root$fastcgi_script_name) {
        return 404;
    }
 
    fastcgi_connect_timeout  120; #기본 60초
    fastcgi_send_timeout     120; #기본 60초
    fastcgi_read_timeout     120;
 
    fastcgi_pass unix:/run/php/myuser1.sock;
    fastcgi_index index.php;
    fastcgi_buffers 64 16k;   #기본 8 4k
 
    include fastcgi_params;
}

댓글