Комета с uwsgi и nginx, как выключить буфер вывода?

Asuming это - удар, я принимаю это с помощью нормальных файлов профиля в корневом каталоге и /etc. Посмотрите этот вопрос, которые отвечают главным образом на точки на раздел вызова man bash"

   When  bash  is invoked as an interactive login shell, or as a non-interactive shell with the --login
   option, it first reads and executes commands from the file /etc/profile, if that file exists.  After
   reading  that  file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and
   reads and executes commands from the first one that exists and is readable.  The --noprofile  option
   may be used when the shell is started to inhibit this behavior.

Обновление:
Таким образом, Вы используете zsh: man zsh раздел STARTUP/SHUTDOWN FILES. В основном это будет использовать .zsomething файлы, которые упоминаются и заглядывают $ZDOTDIR , если это не установлено, чем $HOME. Файлы, таким образом:

   $ZDOTDIR/.zshenv
   $ZDOTDIR/.zprofile
   $ZDOTDIR/.zshrc
   $ZDOTDIR/.zlogin
   $ZDOTDIR/.zlogout
   ${TMPPREFIX}*   (default is /tmp/zsh*)
   /etc/zsh/zshenv
   /etc/zsh/zprofile
   /etc/zsh/zshrc
   /etc/zsh/zlogin
   /etc/zsh/zlogout

5
задан 30 September 2011 в 15:35
4 ответа

Еще несколько минут назад это было невозможно. nginx всегда буферизует все ответы uwsgi и scgi, и никакая конфигурация этого не изменит.

Я отправил патч для nginx (и он был принят), и со следующей версии есть два метода отключения буферизации для запросов uwsgi:

  • положить uwsgi_buffering off в конфигурации nginx
  • отправить заголовок X-Accel-Buffering «no» в ответе

uwsgi никогда не буферизует ответ, поэтому на этом конце настройка не требуется.

13
ответ дан 3 December 2019 в 01:01

Попробуйте uwsgi_max_temp_file_size = 0

0
ответ дан 3 December 2019 в 01:01

Почему Вы не используете uwsgi-встроенный http-router/load-balancer непосредственно? Это делает без буферизации expecially для comet/websockets приложения. Можно использовать nginx для статических файлов, отображающих их на другой домен.

1
ответ дан 3 December 2019 в 01:01

Модуль "прокси" Nginx имеет директиву, для которой, это называют proxy_buffering on|off, который делает точно, что Вы хотите, это выключает буферизацию и проксирует в восходящем направлении вывод синхронно. Но AFAIK ни FastCGI, ни модули UWSGI имеют его.

BTW, даже когда proxy_buffering off, можно заметить маленькие задержки из-за буферизации стека OS TCP.

0
ответ дан 3 December 2019 в 01:01

Теги

Похожие вопросы