@akdes

Как повысить timeout на отдельные routes в nginx?

Всем привет.

есть Laravel и Nginx:
В ларе есть функционал импорта, которые длятся более 60 секунд и запускаются ночью по крону.
Конфиг сервера взял по стандарту для ларавель:
server {
    listen 80;
    index index.php index.html;
    root /var/www/public;
    client_max_body_size 5M;

    location / {
        try_files $uri /index.php?$args;
    }

    location ~ \.php$ {
        ...
        fastcgi_read_timeout 60
        fastcgi_send_timeout 60;
    }
}


для того, чтобы не увилечивать timeout на все руты, хочу реагировать на запросы к /api/system/* с другим timeout.
Перепробовал разные варианты из сети: и умнее не стал, и работать не хотело.

Подскажите пожалуйста что в конфиг добавить? Прочитал пару статей на эту тему, но в итоге всегда получалось, что "location ~ \.php$ " случается перед вариантом с повышенным timeout.

Спасибо большое
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
  • AlexMcArrow
    @AlexMcArrow
    Люблю РНР, да я такой!
    Вы можете разместить блок location ~ \.php$ в каждый блок location
    пример
    location / {
            try_files $uri /index.php?$args;
            location ~ \.php$ {
              ...
              fastcgi_read_timeout 60
               fastcgi_send_timeout 60;
           }
    }
    location /2 {
            try_files $uri /index.php?$args;
            location ~ \.php$ {
              ...
              fastcgi_read_timeout 600
               fastcgi_send_timeout 600;
           }
    }

    Типа такого
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы