31 (06.09.2012 16:42:54 отредактировано Kostilo)

newzenon пишет:

Так, стоп 2gis ставит один конфиг, /etc/nginx/conf.d/2gis-local-update-server.confНо в нем только одна локация:

Есть ещё один конфиг на который ссылается /etc/nginx/conf.d/2gis-local-update-server.conf.Это /etc/nginx/2gis-local-update-server-partial.conf.В нём прописан  location и путь для root
Я думал этого достаточно

в моём файле /etc/nginx/2gis-local-update-server-partial.conf есть строки:

server {
    listen *:80 default;
server {
    listen *:443 default;

Я правильно понял что мне необходимо избавитьсяот *: иначе оно не включится?

Все системные администраторы делятся на две категории: на тех кто не делает бэкапы и тех кто их уже делает.

32

Kostilo пишет:

Я правильно понял что мне необходимо избавитьсяот *: иначе оно не включится?

Честно говоря я понять не могу чего добиваемся, куда должен попадать пользователь по ip адресу/альясу?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

33

newzenon пишет:

К примеру у меня http://192.168.2.12/ver3/ping pong ответил нормально. (ip - виртуалка для опытов)

Сейчас дома попробовал сделать то же самое - получил результат

http://192.168.0.1/ver3/ping

и в браузере pong
Мне просто в голову не пришло обратиться по этому адресу((

location /ver3/ {
    proxy_pass https://https_backend_2gis;

    proxy_buffering on;
    proxy_cache one_2gis;
    proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
}

location = /ver3/ping {
    limit_conn activity_threshold 960;
    default_type text/plain;
    expires -1;
    add_header Last-Modified $sent_http_Expires;
    alias /var/cache/2gis/nginx/updates/ping;
}

location /ver3/download/ {
    if ($request_method !~ GET|HEAD) {
        return 405;
    }

    open_file_cache max=1000;
    expires 1M;

    root /var/cache/2gis/nginx/updates;

    try_files $uri @download_it;
}

location @download_it
{
    open_file_cache max=1000;
    expires 1M;

    root /var/cache/2gis/nginx/updates;

    proxy_store  on;
    proxy_set_header If-None-Match "";
    proxy_set_header If-Modified-Since "";
    proxy_pass https://https_backend_2gis;
}

Я считал что все эти настройки нужны для связи локального сервера обновлений с основным, который в инете.
По моей логике http://192.168.0.1/ver3/ping приведёт меня на сервер https_backend_2gis
Значит все клиенты туда и ринутся.А сервер то и нужен для того чтобы траф не жрать

Все системные администраторы делятся на две категории: на тех кто не делает бэкапы и тех кто их уже делает.

34 (06.09.2012 18:09:16 отредактировано Kostilo)

newzenon пишет:

Честно говоря я понять не могу чего добиваемся,

Конечная цель - обновлять 2gis в локальной сети, в которой всем клиентам запрещён любой выход в открытую сеть. Это может делать только вот этот самый локальный сервер обновлений с тем чтобы кэшировать файлы обновлений и раздавать их клиентским машинам.
В самой программе 2gis есть ценрт обновлений в который нужно прописать адрес локального сервера и всё остальное он делает сам, автоматически. На сайте разработчиков чётко сказано что по умолчанию имя сервера 2gis-update.
Поэтому я и пробовал такие варианты:

http://192.168.0.1/ 
http://192.168.0.1/2gis-update 
http://2gis-update/ 

Каким он должен быть на самом деле, я теперь уже не представляю.Потому как занимаюсь этим вопросом первую неделю, раньше nginx вообще ни разу не юзал.
Написал письмо разработчикам но ответа пока нет. А сервер как у нас обычно нужен уже вчера)))

Все системные администраторы делятся на две категории: на тех кто не делает бэкапы и тех кто их уже делает.

35

Так что? пришли к общему знаменателю?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

36

Kostilo пишет:

В самой программе 2gis есть ценрт обновлений в который нужно прописать адрес локального сервера и всё остальное он делает сам, автоматически. На сайте разработчиков чётко сказано что по умолчанию имя сервера 2gis-update.

А пробовал прописать локальный?
На самом деле конфиги которые идут с deb пакетом рабочие, просто смысл их понятен только тем кто использует 2gis. Направить же nginx можно куда угодно, а у тебя он попадает в /etc/nginx... потому что корень веб-сервера нигде не прописан и для него это первая попавшаяся локация.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

37

newzenon пишет:

А пробовал прописать локальный?

Извиняюсь за тупость локальный адрес это один из трёх:

Kostilo пишет:

http://192.168.0.1/
http://192.168.0.1/2gis-update
http://2gis-update/

или что-то другое?
PS:убедительная просьба не пинать за безграмотность.

Все системные администраторы делятся на две категории: на тех кто не делает бэкапы и тех кто их уже делает.

38

Kostilo пишет:

или что-то другое?

Дак я ж откуда знаю как у клиентов прописать...  ab
Похоже чтобы самому понтять придется 2gis ставить.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

39 (06.09.2012 18:57:45 отредактировано Kostilo)

Я имел в виду спросить что такое локальный адрес в данном случае?
Если верить документации на http://help.2gis.ru/pc/update/server/server_unix/ в моём случае, при отсутствии ДНС адес должен быть таким

А сейчас после нашего общения я уже думаю что он должен быть таким

http://192.168.0.1/ver3/

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

Все системные администраторы делятся на две категории: на тех кто не делает бэкапы и тех кто их уже делает.

40

Да собственно все работает, поставил под wine.
Сервер обновлений указал свою виртуалку+/ver3:  _http://192.168.2.12/ver3
Лови:
http://storage2.static.itmages.ru/i/12/0906/s_1346944380_7371680_bac45b791b.png

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

41

newzenon - ты волшебник! На тусовке "2gis" в ливжурнале писали что он под вайном не обновляется, только руками. У тебя какая версия wine?

Все системные администраторы делятся на две категории: на тех кто не делает бэкапы и тех кто их уже делает.

42

Kostilo пишет:

newzenon - ты волшебник! На тусовке "2gis" в ливжурнале писали что он под вайном не обновляется, только руками. У тебя какая версия wine?

ab

# wine --version
wine-1.5.10
# uname -a
Linux CROSS 3.4.4-gentoo #1 SMP PREEMPT Wed Jul 11 18:31:40 MSK 2012 x86_64 AMD FX(tm)-4100 Quad-Core Processor AuthenticAMD GNU/Linux
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

43

Спасибо newzenon! Завтра утором всё проверю на работе, отпишусь.

Все системные администраторы делятся на две категории: на тех кто не делает бэкапы и тех кто их уже делает.

44

Последний штрих :

На клиентской машине запускаю 2gis, в центре обновлений прописываю адрес

http://192.168.0.1/ver3

получаю сообщение "сервер не найден". Перезапускаю nginx на сервере и 2gis на клиенте сразу же начинает обновляться. А на сервере, в root-каталоге 2gis
/var/cache/2gis/nginx/update/ кроме файла ping появился каталог /ver3 со списком доступных городов.

Всё работает! Значит к инсталятору сервера обновлений нет вопросов, просто разработчики должны были указать в доке такие адреса для подключения:

http://192.168.0.1/ver3 - для тех у кого нет ДНС
http://2gis-update/ver3 - для тех у кого есть в сети ДНС

Все системные администраторы делятся на две категории: на тех кто не делает бэкапы и тех кто их уже делает.

45

Доброго времени суток есть задача объединить два сервера (отдельные apache и доменные имена соответсвенно) на одном ngnix ab Например А. test.ru B test1.ru Nginx должен отдавать все с домена test.ru , при этом определённые локейшены должны отдаваться с test1.ru , но при этом не палиться в адрессной строке. Кроме того A и B должны быть защищены с SSL , лучше закрывать Nginx и оставлять A и B во внутренней сети или можно проксировать несколько веб приложений с SSL защитой?

46

Как вариант:
Создать примочку в нутри test.ru которая будет по запросу черпать данные с test1.ru и сохранять в своём временном кэше а потом отдавать как своё

Все системные администраторы делятся на две категории: на тех кто не делает бэкапы и тех кто их уже делает.

47

Ребят помогите решить проблему с Nginx, не могу настроить конфиги для  виртуальных серверов, при ребуте Nginx'a он ругается :

[root@10140 ~]# /etc/init.d/nginx restart
nginx: [emerg] "http" directive is not allowed here in /etc/nginx/sites-enabled/sub.site.ru:1
nginx: configuration file /etc/nginx/nginx.conf test failed

nginx.conf :

+ открыть спойлер

user              nginx;
worker_processes  2;

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

events {
    worker_connections  1024;
    # multi_accept on;
}

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

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

    sendfile        on;
    tcp_nopush      on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;

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

sub.site.ru :

+ открыть спойлер

http {
nclude       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

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

    sendfile        on;
    server_tokens off;
    #tcp_nopush     on;
    client_body_timeout 10;
    client_header_timeout 10;
    keepalive_timeout 5 5;
    send_timeout 10;

    gzip  on;
   
    #
    # The default server
    #
    server {
        listen 80;
        server_name  sub.site.ru;
        charset        windows-1251;
        client_body_buffer_size 1K;
        client_header_buffer_size 1k;
        client_max_body_size 1k;
        large_client_header_buffers 2 1k;

        #access_log  logs/host.access.log  main;

        location / {
            root   /var/www/sub.site.ru/public_html;
            index  index.html index.htm index.php;
        }

        error_page  404              /404.html;
        location = /404.html {
            root   /usr/share/nginx/html;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root  /usr/share/nginx/html ;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php index.html;
            fastcgi_param  SCRIPT_FILENAME  /var/www/sub.site.ru/public_html$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
   
       
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 403;
}

if ($http_user_agent ~* msnbot|scrapbot) {
return 403;
}
}
}

Помогите пожалуйста

48

CSSOR пишет:

"http" directive is not allowed here in /etc/nginx/sites-enabled/sub.site.ru:1

А прочитать можно было?
Зачем в sub.site.ru все конфигурацию nginx запихал, она и так есть в /etc/nginx/nginx.conf, сервера добавляются через include.
То бишь из sub.site.ru убери все кроме

server {
        listen 80;
...
...
...
...
}
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

49

zenon пишет:
CSSOR пишет:

"http" directive is not allowed here in /etc/nginx/sites-enabled/sub.site.ru:1

А прочитать можно было?
Зачем в sub.site.ru все конфигурацию nginx запихал, она и так есть в /etc/nginx/nginx.conf, сервера добавляются через include.
То бишь из sub.site.ru убери все кроме

server {
        listen 80;
...
...
...
...
}

Большое спасибо вам, все работает.

50

Ребят можно еще вопрос: как заставить nginx при работе использовать сокет Unix, не используя php-fpm ? Что-то дополнительное ставит нужно, если да то подскажите что. Прошу прощения за возможно плохо сформулированный вопрос, просто я начинающий пользователь Linux. OS Centos 5.5

Спасибо

51

CSSOR пишет:

как заставить nginx при работе использовать сокет Unix, не используя php-fpm ?

Может все-таки заставить nginx и php-fpm работать через сокет?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

52

zenon пишет:
CSSOR пишет:

как заставить nginx при работе использовать сокет Unix, не используя php-fpm ?

Может все-таки заставить nginx и php-fpm работать через сокет?

Нет, php-fpm не нужен, по другому не как ?

53

CSSOR пишет:

Нет, php-fpm не нужен, по другому не как ?

Сформулировать вопрос надо, что собственно нужно.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

54

zenon пишет:
CSSOR пишет:

Нет, php-fpm не нужен, по другому не как ?

Сформулировать вопрос надо, что собственно нужно.

ну хочу чтобы значение строки fastcgi_pass, выглядело вот так: fastcgi_pass   unix:/var/run/php-fcgi.sock;

55

Порядком напрягает уже вытаскивать информацию по кусочкам...

CSSOR пишет:

Нет, php-fpm не нужен, по другому не как ?

А что вместо php-fpm будет?
Php вообще не нужен?
А это как понять:

CSSOR пишет:

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php index.html;
            fastcgi_param  SCRIPT_FILENAME  /var/www/sub.site.ru/public_html$fastcgi_script_name;
            include        fastcgi_params;
        }

На 127.0.0.1:9000 у тебя что?
...
На счет сокета тут тут

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

56

zenon пишет:

Порядком напрягает уже вытаскивать информацию по кусочкам...

CSSOR пишет:

Нет, php-fpm не нужен, по другому не как ?

А что вместо php-fpm будет?
Php вообще не нужен?
А это как понять:

CSSOR пишет:

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php index.html;
            fastcgi_param  SCRIPT_FILENAME  /var/www/sub.site.ru/public_html$fastcgi_script_name;
            include        fastcgi_params;
        }

На 127.0.0.1:9000 у тебя что?
...
На счет сокета тут тут

Ладно, я не смогу объяснить объективно, можно заставить работать через сокет но без  php-fpm, нужно установить что-то другое, блин а что я не знаю

57

CSSOR пишет:

Ладно, я не смогу объяснить объективно, можно заставить работать через сокет но без  php-fpm, нужно установить что-то другое, блин а что я не знаю

Хотя бы объясни что за CMS будет, если самописное то на чем? может на php все-таки?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

58

zenon пишет:
CSSOR пишет:

Ладно, я не смогу объяснить объективно, можно заставить работать через сокет но без  php-fpm, нужно установить что-то другое, блин а что я не знаю

Хотя бы объясни что за CMS будет, если самописное то на чем? может на php все-таки?

Нашел инфу. Устанавливаю spawn-fcgi
в /etc/sysconfig/spawn-fcgi:

OPTIONS="-f /usr/bin/php-cgi -s /tmp/php-fastcgi.sock -C 4 -P /var/run/spawn-fcgi.pid"

в конфигурационный файл домена вписываю :

fastcgi_pass  unix:/tmp/php-fastcgi.sock;

при перезагрузки spawn-fcgi, командой service spawn-fcgi restart :

[root@10140 ~]# service spawn-fcgi restart
Stopping spawn-fcgi:                                       [FAILED]
Starting spawn-fcgi: spawn-fcgi: child exited with: 255
                                                           [FAILED]

в /tmp/php-fastcgi.sock появляется файл php-fastcgi.sock, перезагружаю nginx, захожу на домен через браузер, мне выдает ошибку:

502 Bad Gateway