504 Gateway Time-Out При Импорте Offers.xml

При импорте offers.xml (обмен с 1С) выдается:

504 Gateway Time-out
------------------------
nginx/1.4.6 (Ubuntu)

Сам offers.xml весом 7,5Мб (весом 3,5Мб проходит нормально))

Max_execution_time стоит 600

В чём траблы?

Маловат временной лимит на выполнение (Max_execution_time). Надо увеличить

Есть серверный лимит, есть лимит в РНР. В РНР можно исправить вызовом set_time_limit(36000), или еще больше. Серверный хостинг вряд ли даст поправить

Маловат временной лимит на выполнение (Max_execution_time). Надо увеличить

10 минут мал? 504 ошибка выдается где-то через минуту


Есть серверный лимит, есть лимит в РНР. В РНР можно исправить вызовом set_time_limit(36000), или еще больше. Серверный хостинг вряд ли даст поправить

И ... что делать то?

Не забудьте увеличить send_timeout, proxy_send_timeout и proxy_read_timeout в NGINX до требуемого значения. По умолчанию 60 секунд.

Если используется fastcgi, у него тоже таймаут имеется

Не забудьте увеличить send_timeout, proxy_send_timeout и proxy_read_timeout в NGINX до требуемого значения. По умолчанию 60 секунд.

в nginx.conf стоит вот такое уже:
	server {
		server_name localhost;
	disable_symlinks if_not_owner;
	listen 80;
	include /etc/nginx/vhosts-includes/*.conf;
	location @fallback {
		error_log /dev/null crit;
		proxy_pass http://127.0.0.1:8080;
		proxy_redirect http://127.0.0.1:8080 /;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		access_log off ;
	}
        proxy_connect_timeout       600;
        proxy_send_timeout          600;
        proxy_read_timeout          600;
        send_timeout                600;
}

Если используется fastcgi, у него тоже таймаут имеется

и где его менять? не подскажете?

Но если смотреть конфигурационные файлы nginx через ISPManager то там этих данных (timeout) нет. Чудеса да и только. И как же тогда увеличить?

Что, неужели никто не знает, как с ISPManager настроить сервер? Даже за деньги?

Проблема решена с помощью хостера - добавили roxy_read_timeout в /etc/nginx/nginx.conf

Проблема решена с помощью хостера - добавили roxy_read_timeout в /etc/nginx/nginx.conf

Сервера и хостинги настолько многолики и мультигранны, то лучше всегда начинать с них в вопросах серверов.

Для тех кто как и я заходит сюда и не совсем понимает что именно и где нужно сделать делаем следующее:
Заходим в /etc/nginx/nginx.conf
Находим директиву http {}, и уже в ней пишем:


http {
    # ... (существующие директивы)

    proxy_connect_timeout       600;
    proxy_send_timeout          600;
    proxy_read_timeout          600;
    send_timeout                600;

    # ... (существующие директивы)
}

В моем случае было достаточно лишь добавить proxy_read_timeout 600;
И не забываем перезагрузить nginx, в моем случае это в консоли:
service nginx restart
Но обязательно проверяйте до перезагрузки корректность конфиг файла, иначе проблем не оберетесь:

nginx -c /etc/nginx/nginx.conf -t

1 лайк