LinuxForum.Fans
Тема

Nginx: рецепты

Автор: deleted_user 58 сообщений 52448 просмотров 📌 закреплена
07.05.2010 18:50 · отредактировано #38718

Не для кого не откроется секрет, если я напишу о том, что Apache foundation выпускает отличный http-сервер. Один недостаток - прожорлив он уж очень. Это обуславливается самим принципом работы апача. Но и найти ему достойную замену не всегда удаётся. И проблема тут не в ущербности претендентов, а в том, что большинство веб-приложений (например тот же Drupal) изначально ориентированны именно на апач. Главная проблема апача - отдача сгенерированных страниц и статики клиентам. Попробуем это обойти, добавив прокси в виде Nginx.

Для начала ставим apache и php:

text
# aptitude install apache2 php5 libapache2-mod-rpaf

Далее правим /etc/apache2/apache2.conf с целью уменьшения количества одновременно запущенных процессов apache:

text
<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       1
    MaxSpareServers       2
    MaxClients           50
    MaxRequestsPerChild   0
</IfModule>

Как можно заметить, значения для каждой модели работы апача задаются отдельно. В данном случае поправлялись значения для mpm-prefork модели, используемой вместе с php. Соответственно в других случаях надо будет редактировать значения для иных используемых моделей.

В /etc/apache2/ports.conf изменяем следующие строки:

text
NameVirtualHost *:8080
Listen 8080

Дабы заменить прослушиваемые сервером порты.

Примерный листинг для файла настройки виртуального хоста апача /etc/apache2/sites-enabled/000-default:

text
<VirtualHost *:8080>
    ServerName somedomain.org
    ServerAlias www.somedomain.org
    ServerAdmin webmaster@somedomain.org
 
    DocumentRoot /var/www
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
 
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
 
    ErrorLog ${APACHE_LOG_DIR}/error.log
 
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
 
    CustomLog ${APACHE_LOG_DIR}/access.log combined
 
</VirtualHost>

Настраиваем модуль апача для работы через прокси, листинг /etc/apache2/mods-enabled/rpaf.conf:

text
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 realip [realip1]
</IfModule>

Рестартуем апач:

text
# /etc/init.d/apache2 restart

Если всё нормально, ставим nginx:

text
# aptitude install nginx

Листинг /etc/nginx/nginx.conf:

text
user www-data;
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;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
 
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Листинг /etc/nginx/sites-enabled/default:

text

server {
 
    # Тут порты, которые будет слушать сервак
    listen   80; ## listen for ipv4
    listen   [::]:80 default ipv6only=on; ## listen for ipv6
 
    # Имена виртуального хоста
    server_name  aliech.ru www.aliech.ru;
 
    # Лог доступа
    access_log  /var/log/nginx/localhost.access.log;
 
    # Описание прокси
    location / {
        proxy_pass        http://127.0.0.1:8080/;
        proxy_redirect        off;
 
        # Отдаём апачу в заголовке начальный адрес для mod_rpaf
        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    90;
        proxy_send_timeout    90;
        proxy_read_timeout    90;
 
        proxy_buffer_size    4k;
        proxy_buffers        4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size    64k;
    }
 
    # ну и отдача статики средствами самого Ngnix
    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {
        root   /var/www;
    }
}

Собственно это всё, дальше надо только рестартануться:

text
# /etc/init.d/nginx restart

Собственно на этом всё. Профит.

02.11.2010 16:39 #94733

Добавлю, что порт 8080 может индексироваться некоторыми поисковиками, что выглядит не очень презетабильно. Apache можно смело вешать в таком случае на 80 порт 127.0.0.1, а nginx'у прописать строго realip.
Ну, и кол-во процессов в МРМ Apache, как и кол-во процессов nginx вариативно от ресурсов сервера.

02.11.2010 16:48 #94738

Denlookh, ну я писал как оно у меня есть... У меня все порты, кроме разрешённых - DROP. Так что я об это не задумывался smile

29.11.2010 00:36 #102932

Учимся выстаивать под ддсом средствами nginx
Итак, нас, а точнее один из саИтов на виртуальном хостинге в очередной раз начали ддосить. Как правило, без специальных ддос железок такой клиент заворачивается на днс на 127.0.0.1, или в случае выделенного ip-адреса- на центральном маршрутизаторе. Но мы решили пойти по другому
У нас есть nginx фронт-эндом, поэтому будем пытаться выстаивать под ддосом с 20000 хостов при помощи него.
Подразумевается, что proxy_cache_path у нас уже описан в контексте http.

Для начала обосомим перменную для которой ужесточим и пропишем правила:

text

set $special_limit 0;

if ($http_host ~* 'example.com') { set $personal_limit 1; } if ($http_host ~* '[url=http://www.example.com]www.example.com[/url]') { set $personal_limit 1; }

if ($personal_limit = 1) { rewrite ^(.*)$ /personal_limit last; }

Далее, описываем локейшн:

text

location /personal_limit
{
internal;
access_log logs/personal_limit_access.log cachestatus;
error_log logs/personal_limit_error.log notice;

proxy_connect_timeout 10; proxy_send_timeout 10; proxy_read_timeout 10; proxy_buffering on; proxy_ignore_headers "Expires" "Cache-Control";

proxy_pass http://$host$request_uri; proxy_cache personal_cache;

set $request_uri_without_session $request_uri; if ($request_uri ~* "(.*)(\?|&)(sid|PHPSESSID|session)=([^&]+)(.*)$") { set $request_uri_without_session $1$5; } proxy_cache_key "$request_method$host$request_uri_without_session";

proxy_cache_valid 200 3d; proxy_cache_valid 304 1d; expires 3d; limit_conn by_vhost 10; }

20.01.2011 00:53 #118770

Если в репах нет новой версии nginx:

wget http://sysoev.ru/nginx/nginx-0.x.xx.tar.gz
wget [url]ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-x.tar.gz[/url]
tar xvzf nginx-0.x.xx.tar.gz
tar xvzf pcre-x.tar.gz
cd nginx-0.x.xx
./configure --error-log-path=/var/log/nginx/nginx.error_log --user=apache --group=apache --with-poll_module --with-http_realip_module --with-pcre=../pcre-x --with-http_ssl_module --with-http_stub_status_module
make
make install
cd /usr/local/nginx/conf/
mkdir /usr/local/nginx/conf/vhosts/
ln -s /usr/local/nginx/conf /etc/nginx
rm nginx.conf
vim nginx.conf #создаем свой собственный конфиг
/usr/local/nginx/sbin/nginx -t


Пишем скрипт для старта:

vim /etc/init.d/nginx

text

    #!/bin/sh
    #
    # nginx - this script starts and stops the nginx daemon
    #
    # chkconfig:   - 85 15
    # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
    #               proxy and IMAP/POP3 proxy server
    # processname: nginx
    # config:      /usr/local/nginx/conf/nginx.conf
    # pidfile:     /usr/local/nginx/logs/nginx.pid

# Source function library. . /etc/rc.d/init.d/functions

# Source networking configuration. . /etc/sysconfig/network

# Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval }

stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval }

restart() { configtest || return $? stop sleep 1 start }

reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo }

force_reload() { restart }

configtest() { $nginx -t -c $NGINX_CONF_FILE }

rh_status() { status $prog }

rh_status_q() { rh_status >/dev/null 2>&1 }

case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac

chmod +x /etc/init.d/nginx
service nginx configtest
chkconfig nginx on

21.01.2011 00:25 #119168

Имеем 2 сервера с разными ip адресами,
На обоих запущен Apache2 в качестве веб сервиса,
Возможно ли средствами nginx объединить 2 веб сервера?

21.01.2011 19:14 #119453

iceman, не уверен что правильно понял "объединить". но можете поставить nginx фронтом к обоим апачам
все таки уточните, что именно вы желаете получить в результате объединения, цель какая ?

22.01.2011 03:48 · отредактировано #119611
sergey_ написал:
iceman, не уверен что правильно понял "объединить". но можете поставить nginx фронтом к обоим апачам
все таки уточните, что именно вы желаете получить в результате объединения, цель какая ?

Цель установить как фронтед nginx и собрать оба сервера в кучу. (то есть, чтобы при обращении на nginx он сам как бы проксировал соединения и пользователь не понимал куда его перенаправляют, но при этом на нем должны работать все домены которые раскиданы по обоим серверам в апаче.)(редиректы по разным ip не уместны так как цель создать один общий фронтед в будущем для порядка 10+ серверов.)
Не могу нормально сформулировать свои мысли, поэтому тупо описал, что хочу получить.

Add:

Набросал примерную схемку того, что хотелось бы получить.

22.01.2011 08:37 #119619

iceman, ну собственно для каждого домена - директива server с проксированием на соответствующий бакэенд
что-то вроде:

text

server {
  lesten 80;
  server_name .domain1.com;

location / { proxy_pass http://1.1.1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

server { lesten 80; server_name .domain2.com;

location / { proxy_pass http://2.2.2.2; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

11.10.2011 14:08 #198901

Застой какой-т с Nginx...
-
Прикручиваем .htpasswd к Nginx.
Во первых сам файл надо создать, пару вариантов:
1. Скриптом, забираем, ставим права:
[console]wget http://trac.edgewall.org/export/10791/trunk/contrib/htpasswd.py
chmod 755 /usr/local/bin/htpasswd.py[/console]
Создаем:
[console]./htpasswd.py -c -b /var/www/www.example.com/.htpasswd user password[/console]
2. С помощью утилит апача:
[console]apt-get install apache2-utils
htpasswd -c /var/www/www.example.com/.htpasswd user[/console]
--
Добавляем закрытые locatioin в конфиги виртуальных хостов:

text
server {
       listen 80;
       server_name www.example.com example.com;
       root /var/www/www.example.com/web;

location /test { auth_basic "Restricted Area"; auth_basic_user_file /var/www/www.example.com/.htpasswd; }

}

Вариант для Drupal:

text
  location ~* ^/(install|update|memcached|apc|info).php$ {
      auth_basic "Restricted Area";
      auth_basic_user_file /var/www.example.com/.htpasswd;
      # Use your own port of fastcgi here
      fastcgi_pass   unix:/tmp/php-fpm.sock;
      fastcgi_index  index.php;
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
 
  location /nginx_status {
      auth_basic "Restricted Area";
      auth_basic_user_file /var/www/www.example.com/.htpasswd;

stub_status on; access_log off; allow 127.0.0.1; # Add IP adresses you want to allow allow XXX.XXX.XXX.XXX; deny all; }

20.11.2011 00:59 · отредактировано #206864

В главный конфигурационный файл nginx (обычно /etc/nginx/nginx.conf) стоит еще добавлять следующее:
Мы не хотим чтобы кто-то посещал наш сайт по IP адресу
Значит надо отловить всех кто явно не указал адрес и направить на страницу ошибкой

text
   server {
      # Использовать default для nginx 0.7.x, default_server для 0.8.x+
      listen 80 default_server;
         server_name _;
      return 500;
   }
28.02.2012 21:01 #233126

Посмотрел в debian testing, структура каталогов конфигурационных файлов стала похожа на апач:
Дефолт:

text
/etc/nginx
├── conf.d
├── fastcgi_params
├── koi-utf
├── koi-win
├── mime.types
├── nginx.conf
├── proxy_params
├── scgi_params
├── sites-available
│   └── default
├── sites-enabled
│   └── default -> /etc/nginx/sites-available/default
├── uwsgi_params
└── win-utf
04.09.2012 18:50 · отредактировано #273546

Имеется Debian 6.0 + nginx ver.0.7.67 из репозитория + локальный сервер обновления карты-справочника 2gis
Вот их конфиги:

/etc/nginx/nginx.conf:

text
user www-data;
worker_processes  1;

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;

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

sendfile on; #tcp_nopush on;

#keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on;

gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)";

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

/etc/nginx/sites-available/default:

text

server {

listen 80; ## listen for ipv4 listen [::]:80 default ipv6only=on; ## listen for ipv6

server_name localhost;

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

location / { root /var/www; index index.html index.htm; }

location /doc { root /usr/share; autoindex on; allow 127.0.0.1; deny all; }

location /images { root /usr/share; autoindex on; } }

/etc/nginx/conf.d/2gis-local-update-server.conf:

text

upstream http_backend_2gis {
    server s1.update.2gis.ru:80;
    server s2.update.2gis.ru:80;
    server s3.update.2gis.ru:80;
    server s4.update.2gis.ru:80;
    server s5.update.2gis.ru:80;
    server s6.update.2gis.ru:80;
    server s7.update.2gis.ru:80;
    server s8.update.2gis.ru:80;
    server s9.update.2gis.ru:80;
    server s10.update.2gis.ru:80;
}

upstream https_backend_2gis { server s1.update.2gis.ru:443; server s2.update.2gis.ru:443; server s3.update.2gis.ru:443; server s4.update.2gis.ru:443; server s5.update.2gis.ru:443; server s6.update.2gis.ru:443; server s7.update.2gis.ru:443; server s8.update.2gis.ru:443; server s9.update.2gis.ru:443; server s10.update.2gis.ru:443; }

proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

proxy_temp_path /var/cache/2gis/nginx/temp 1 2;

proxy_cache_path /var/cache/2gis/nginx/infolist levels=1:2 keys_zone=one_2gis:10m inactive=20d max_size=256M;

limit_zone activity_threshold $threshold 10m;

server { listen *:80 default; server_name 2gis-update; default_type application/octet-stream; include '2gis-local-update-server-partial.conf';

location = /ver3/stat { client_max_body_size 2G;

if ($request_method != POST) { return 405; }

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://http_backend_2gis/ver3/stat; } } server { listen *:443; server_name 2gis-update; default_type application/octet-stream;

ssl on; ssl_certificate 2gis-local-update-server.crt; ssl_certificate_key 2gis-local-update-server.key;

include '2gis-local-update-server-partial.conf'; }

/etc/nginx/2gis-local-update-server-partial.conf:

text

set $threshold "1";
limit_conn activity_threshold 1024;
proxy_cache_valid any 10m;
proxy_cache_key $uri$is_args$args;

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; }

При любой попытке обратиться к серверу, хоть из центра обновлений 2gis, хоть из браузера на дефолтную страничку имею такой результат:
В браузере страница 404
в файле /var/log/nginx/error.log:

text

2012/09/01 23:32:20 [error] 1549#0: *7 "/usr/local/nginx/html/index.html" is not found (2: No such file or directory), $
2012/09/02 23:43:51 [error] 1157#0: *1 "/usr/local/nginx/html/index.html" is not found (2: No such file or directory), $
2012/09/03 01:59:03 [error] 1157#0: *2 open() "/usr/local/nginx/html/manager/html" failed (2: No such file or directory$

Дефолтная страничка у меня лежит тут:/var/www/index.html
сервер обновления карты-справочника 2gis: /var/cache/2gis/nginx/{infolist,temp,updates}
ВОПРОС: откуда он берёт эту дорогу - usr/local/nginx/html/ ?! !Реально её нет и не было.
И как его направить на путь истинный? Подскажите пожалуйста, хотя бы куда копать.
PS:Имею дело с nginx первый раз. Исследования сайта nginx.org результата не дало

04.09.2012 19:07 #273547

Kostilo кроме как из location брать особо неоткуда, а это точно все конфиги?
Я бы убрал из include * , и указл только нужные, чтобы не включал все найденные файлы в каталоге, а подключал только конкретно те, которые указал.

04.09.2012 19:36 #273553
newzenon написал:
Kostilo кроме как из location брать особо неоткуда, а это точно все конфиги?
Я бы убрал из include * , и указл только нужные, чтобы не включал все найденные файлы в каталоге, а подключал только конкретно те, которые указал.

Конфиги 2gis - точно все. проверял по их инструкции: http://help.2gis.ru/pc/update/server/server_unix/
Сначала поставил из деб пакета потом переустановил вручную - результат не изменился.

text
2012/09/05 06:29:32 [error] 1224#0: *3 "/usr/local/nginx/html/index.html" is not found (2: No such file or directory), $
2012/09/05 06:29:32 [error] 1224#0: *3 open() "/usr/local/nginx/html/favicon.ico" failed (2: No such file or directory)$
2012/09/05 06:29:50 [error] 1224#0: *4 open() "/usr/local/nginx/html/2gis-update" failed (2: No such file or directory)$
2012/09/05 06:30:39 [error] 1224#0: *4 open() "/usr/local/nginx/html/2gis-update/update" failed (2: No such file or dir$

T.е./usr/local/nginx/html может взятся только из настроек nginx
Законное место для настроек - /etc/nginx. все конфиги оттуда я выложил. usr/local/nginx/html/-такой путь на моём сервере отсутствует физически и при установки nginx он не появлялся.
О существовании этого пути я читал на сайте автора.Это дефолтный путь nginx начиная с версии 1.0(если я правильно прочитал)
откуда он всплывает у меня? Где ещё могут быть конфиги относящиеся к теме?

04.09.2012 19:58 #273556

А, вот еще, в /etc/nginx/conf.d/2gis-local-update-server.conf вижу две дерективы сервера, но куда они ведут не понял, root - путь не указан.
Для сервера важно имя, путь, порт если не отличен от 80-го можно не указывать:

text
server {
        server_name  localhost;
        location / {
                root   /var/www;
                index  index.html;
        }
}

подумаю еще, конфиги с deb пакетом были или сам правил?

04.09.2012 20:11 #273557
"Kostilo" написал:
При любой попытке обратиться к серверу, хоть из центра обновлений 2gis, хоть из браузера на дефолтную страничку имею такой результат:

А собственно как обращался? По ip?
Чтобы направить nginx при обращении к ip на котором он стоит есть такое, дописывается _до_ всех include в /etc/nginx/nginx.conf

text
   server {
      # use default instead for nginx 0.7.x, default_server for 0.8.x+
      listen 80 default_server;

# if no listen is specified, all IPv4 interfaces on port 80 are # listened to listen on both IPv4 and IPv6 as well, listen [::] # and 0.0.0.0 must be specified. server_name _; return 404; }

Этот пример для www но он наглядно показывает как откинуть на 404 всех кто обратился к сервору по ip адресу, обработать, соответственно можно по-другому.

05.09.2012 09:11 #273605
"newzenon" написал:
конфиги с deb пакетом были или сам правил?

Конфиги из деб-пакета. Пробовал править по учебнику http://nginx.org/ru/docs/
но резултата не получил, всё равно он лезет в каталог /usr/local/nginx/html/

text
2012/09/05 11:58:56 [error] 9734#0: *28 directory index of "/usr/local/nginx/html/" is forbidden, client: 192.168.0.34, s$
2012/09/05 11:59:01 [error] 9734#0: *28 open() "/usr/local/nginx/html/2gis-update" failed (2: No such file or directory$
2012/09/05 11:59:04 [error] 9734#0: *28 open() "/usr/local/nginx/html/2gis-update/update" failed (2: No such file or di$
2012/09/05 12:00:20 [error] 9734#0: *29 open() "/usr/local/nginx/html/2gis-update" failed (2: No such file or directory$
2012/09/05 12:00:51 [error] 9734#0: *29 open() "/usr/local/nginx/html/2gis-update" failed (2: No such file or directory$
2012/09/05 12:00:55 [error] 9734#0: *29 open() "/usr/local/nginx/html/2gis-update/update" failed (2: No such file or di$
2012/09/05 12:00:59 [error] 9734#0: *29 open() "/usr/local/nginx/html/2gis-update/update" failed (2: No such file or di$
"newzenon" написал:
А собственно как обращался? По ip?

Обращаться пытался по разному:
http://192.168.0.1
http://192.168.0.1/2gis-update/
http://192.168.0.1/2gis-update/update
http://192.168.0.1/var/cache/2gis/nginx/update(сдесь рабочая папка сервера)
http://2gis-update/
http://2gis-update/update
результат один и тот же /usr/local/nginx/html/ + содержимое адресной строки

05.09.2012 09:22 · отредактировано #273609
"Kostilo" написал:

ошибочный адрес так как имя каталога .../updates
исправил во всех попытках обращения к серву - результат тот же(((

Провёл эксперимент - начал лепить произвольные имена домена - результат тот же(((

Войдите или зарегистрируйтесь, чтобы ответить.