nginx проксируют к комете

Основное отличие - то, что Константа является эквивалентом C #DEFINE. Число буквально получает предварительный компилятор крыла, которым заменяют. Только для чтения на самом деле рассматривается как переменную.

Это различие особенно релевантно, когда у Вас есть Проект A в зависимости от Общедоступной константы из Проекта B. Предположим общедоступные постоянные изменения. Теперь Ваш выбор константы / только для чтения повлияет на поведение на проект A:

Константа: проект A не ловит новое значение (если это не перекомпилировано с новой константой, конечно), потому что это было скомпилировано с константами, в которых заменяют.

ReadOnly: Проект A будет всегда спрашивать проект B, поскольку это - значение переменной, таким образом, это возьмет новое значение общедоступной константы в B.

Честно, я рекомендовал бы использовать только для чтения для почти всего кроме действительно универсальных констант (например, Пи, Inches_To_Centimeters). Для чего-либо, что могло возможно измениться, я говорю использование, только для чтения.

Hope это помогает, Alan.

15
задан Sam Saffron 14 May 2010 в 04:54
поделиться

6 ответов

Если вам нужно очень доступное и основательное введение в Prolog (это больше относится к «изучению языка»), перейдите к «Программирование на Prolog: Использование стандарта ISO» Clocksin и Mellish, теперь в его 5-м издании.

какой сервер комет вы используете? не могли бы вы позволить серверу кометы проксировать веб-сервер? нормальные HTTP-запросы следует обрабатывать быстро ...

greetz

back2dos

5
ответ дан 1 December 2019 в 03:14
поделиться

Вот мои nginx.conf и мои proxy.conf. Обратите внимание, однако, что proxy.conf - это слишком много - я просто устанавливал все эти параметры, пытаясь отладить свою программу.

/etc/nginx/nginx.conf

worker_processes  1;                                                                                                                                     
user www-data;

error_log  /var/log/nginx/error.log debug;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include /etc/nginx/proxy.conf;

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    tcp_nopush     on;

    keepalive_timeout  600;
    tcp_nodelay        on;

    gzip  on;
    gzip_comp_level 2;
    gzip_proxied any;
    gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

/etc/nginx/proxy.conf

proxy_redirect              off;                                                                                                                         
proxy_set_header            Host $host;
proxy_set_header            X-Real-IP $remote_addr;
proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size        10m;
client_body_buffer_size     128k;
proxy_connect_timeout       6000;
proxy_send_timeout          6000;
proxy_read_timeout          6000;
proxy_buffer_size           4k;
proxy_buffers               4 32k;
proxy_busy_buffers_size     64k;
proxy_temp_file_write_size  64k;
send_timeout                6000;
proxy_buffering             off;
proxy_next_upstream error;
7
ответ дан 1 December 2019 в 03:14
поделиться

Мне действительно удалось заставить это работать. Спасибо вам всем. Причина тайм-аута 504 у nginx была глупой: я не включил proxy.conf в свой nginx.conf вот так:

include /etc/nginx/proxy.conf;

Итак, я сохраняю nginx в качестве внешнего прокси для сервера COMET.

6
ответ дан 1 December 2019 в 03:14
поделиться

Попробуйте

proxy_next_upstream error;

По умолчанию

proxy_next_upstream error timeout;

Тайм-аут не может быть больше 75 секунд.

http://wiki.nginx.org/NginxHttpProxyModule#proxy_next_upstream

http: //wiki.nginx.org/NginxHttpProxyModule#proxy_connect_timeout

2
ответ дан 1 December 2019 в 03:14
поделиться

без некоторого серьезного заглушения TCP / IP, вы не можете открыть два приложения на одном TCP-порту на одном IP-адресе. как только nginx начал обслуживать соединение, он не может передать его другому приложению, он может только проксировать его.

таким образом, либо пользователь другой порт, другой IP-адрес (может быть на той же физической машине), либо жить с прокси.

править: я предполагаю, что у nginx истекает время ожидания, потому что он не видит никакой активности в течение длительного времени. возможно, добавление пустого сообщения каждые несколько минут может предотвратить сбой соединения.

0
ответ дан 1 December 2019 в 03:14
поделиться

Теперь есть плагин Comet для Nginx. Вероятно, это решит ваши проблемы очень хорошо.

http://www.igvita.com/2009/10/21/nginx-comet-low-latency-server-push/

3
ответ дан 1 December 2019 в 03:14
поделиться
Другие вопросы по тегам:

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