Comrada Posted August 12, 2011 Share Posted August 12, 2011 Суть проблемы: при авторизации на странице authentication.php?back=my-account.php после ввода логин/пароль и нажатии кнопки Вход, страница обновляется, но опять появляется форма авторизации с пустыми полями, причем авторизация произошла, если обновить страницу еще раз, то она исчезнет и появится блок Мой аккаунт. Тоже самое с выходом, нажимаю Выйти, страница обновляется, но блок Мой аккаунт не исчезает. Исчезает только после еще одного обновления страницы. Не работает в Firefox 5, Chrome 13 и IE8, в Опере 11.50 работает через раз, но тоже не всегда. Например, если я нажимаю выход на индексе /?mylogout то страница обновляется и все, ничего не происходит, такое ощущение что браузер вообще не отправляет запрос, а берет из кэша, а если выхожу со страницы аккаунта /my-account.php то выходит, при этом переходя на индекс. После выхода опять нажимаю Войти, перехожу на /my-account.php и вижу странцу аккаунта, как будто я уже вошел. ерунда какая-то PS 1.4.4 Apache+nginx В настройках производительности в разделе Smarty Перекомпиляция стоит включенной, а Кеширование отключено (при включенном тоже самое). Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 12, 2011 Share Posted August 12, 2011 было такое же, но у меня еще и мемкешед включен. На тот момент - почистил tools/smarty/compile, перегрузил мемкеш - проблема ушла и не появлялась. Link to comment Share on other sites More sharing options...
Kerm Posted August 12, 2011 Share Posted August 12, 2011 Если на сервере установлен memcache то в php.ini должен быть изменен параметр сохранения сессий с того что идет там по умолчанию на memcache сесии (более подробное инфо в google). Так же и в престе memcache должен быть включен. Может еще у вас nginx не правильно настроен и он выдает один и тот же ответ из кэша. Можно еще поробовать переустановить, обновить до последней верси, почистить кэш на FTP. Link to comment Share on other sites More sharing options...
Comrada Posted August 13, 2011 Author Share Posted August 13, 2011 nginx.txt Если на сервере установлен memcache то в php.ini должен быть изменен параметр сохранения сессий с того что идет там по умолчанию на memcache сесии (более подробное инфо в google). Так же и в престе memcache должен быть включен. Может еще у вас nginx не правильно настроен и он выдает один и тот же ответ из кэша. Можно еще поробовать переустановить, обновить до последней верси, почистить кэш на FTP. Да, у меня стоит memcached, действительно в php не были установлены нужные параметры, я установил: session.save_handler=memcache session.save_path="tcp://localhost:11211?persistent=1&weight=1&timeout=1&retry_$ Остальные параметры memcache: memcache.allow_failover 1 memcache.chunk_size 8192 memcache.compress_threshold 20000 memcache.default_port 11211 memcache.hash_function crc32 memcache.hash_strategy consistent memcache.lock_timeout 15 memcache.max_failover_attempts 20 memcache.protocol ascii memcache.redundancy 1 memcache.session_redundancy 2 Почистил папки /smarty/compile/ и /smarty/cache Эффекта нет! Но что странно, заметил в Firebug'е ответ 302 Found на запрос /my-account.php да и просто domain.ru/ когда делаю /?mylogout т.е. кто-то (nginx?) отправляет браузеру ответ о редиректе данного адреса куда-то там, т.е. apache действительно не получает запроса. Это странно, потому что у меня никаких редиректов в настройках nginx нет, вот его настройки: nginx.txt server.txt Link to comment Share on other sites More sharing options...
Kerm Posted August 13, 2011 Share Posted August 13, 2011 Мне кажется что дело в nginx. Да кстате в memcache в session safe patch у меня другое значение стоит... Link to comment Share on other sites More sharing options...
Comrada Posted August 13, 2011 Author Share Posted August 13, 2011 Мне кажется что дело в nginx. Да кстате в memcache в session safe patch у меня другое значение стоит... Да, действительно, дело в nginx'е, отключил его сейчас и обращаюсь напрямую к апачу, проблем нет. Перелопатил все настройки memcached, результата нет, а вот когда работаю только с апачем, memcached включен, выбран в престе и работает. Буду разбираться с nginx'ом Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 13, 2011 Share Posted August 13, 2011 дык, у тебя при обращении к странице товара - 404 в логах апача что? отруби ЧПУ и попробуй нжинкс+апач+мемкеш - т.е. все по дефолту - уверен будет рабоать. П.С. у тебя в хетзне - вдс или впс? Можешь параметры сказать и загрузку по top? Тоже может на них перелезу Link to comment Share on other sites More sharing options...
Comrada Posted August 14, 2011 Author Share Posted August 14, 2011 дык, у тебя при обращении к странице товара - 404 в логах апача что? отруби ЧПУ и попробуй нжинкс+апач+мемкеш - т.е. все по дефолту - уверен будет рабоать. Да нет, ты, видимо, попал на сайт, когда я вчера уже дурью маялся с ЧПУ, я потом отключил его, а проблема с 302 редиректом осталась В аксесс логе апача: XXX.236.255.226 - - [14/Aug/2011:12:24:47 +0800] "GET /cart.php?_=... XXX.236.255.226 - - [14/Aug/2011:12:24:48 +0800] "GET / HTTP/1.0" 200 6494 XXX.236.255.226 - - [14/Aug/2011:12:24:54 +0800] "GET /cart.php?_=... XXX.236.255.226 - - [14/Aug/2011:12:24:56 +0800] "GET /cart.php?_=... XXX.236.255.226 - - [14/Aug/2011:12:26:30 +0800] "GET /authentication.php?back=my-account.php HTTP/1.0" 200 4555 XXX.236.255.226 - - [14/Aug/2011:12:27:02 +0800] "GET /cart.php?_=... XXX.236.255.226 - - [14/Aug/2011:12:27:16 +0800] "POST /authentication.php HTTP/1.0" 302 26 XXX.236.255.226 - - [14/Aug/2011:12:27:17 +0800] "GET /my-account.php HTTP/1.0" 200 4460 XXX.236.255.226 - - [14/Aug/2011:12:27:19 +0800] "GET /cart.php?_=... XXX.236.255.226 - - [14/Aug/2011:12:27:25 +0800] "GET /?mylogout HTTP/1.0" 302 26 XXX.236.255.226 - - [14/Aug/2011:12:27:26 +0800] "GET /cart.php?_=... XXX.236.255.226 - - [14/Aug/2011:12:27:27 +0800] "GET /cart.php?_=... XXX.236.255.226 - - [14/Aug/2011:12:27:29 +0800] "GET /my-account.php HTTP/1.0" 302 26 XXX.236.255.226 - - [14/Aug/2011:12:27:30 +0800] "GET /authentication.php?back=my-account.php HTTP/1.0" 200 4555 XXX.236.255.226 - - [14/Aug/2011:12:27:40 +0800] "GET /cart.php?_=... XXX.249.71.240 - - [14/Aug/2011:12:27:52 +0800] "GET /category.php?id_category=17 HTTP/1.0" 200 4091 В еррор логе ничего особенного нет. POST /authentication.php HTTP/1.0" 302 26 означает что запрос все-таки пришел апачу, но почему тогда редирект? Может преста делает таким образом возврат на нужную страницу, а не header("Location: index.php") П.С. у тебя в хетзне - вдс или впс? Можешь параметры сказать и загрузку по top? Тоже может на них перелезу VPS и VDS одно и тоже Если ты имел в виду дедик, то у меня виртуал. Взял тоже для пробы на хетцнере самый дешевый. За 300р/мес. это просто чудо! RAM 512Mb, HDD 20Gb, процессор (если верить /proc/cpuinfo) 2806.754МГц. Нагрузка в топе единицы %, я на этом серваке сейчас поднимаю только этот магазин да еще несколько сайтов-визиток висит, поэтому нагрузки пока нет. Link to comment Share on other sites More sharing options...
Kerm Posted August 14, 2011 Share Posted August 14, 2011 Nginx смотри...да и ты в ручную в .htaccess прописывал чего? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 14, 2011 Share Posted August 14, 2011 да имел ввиду впс/дедик, спасибо за инфо. я не спец по настройке нжинкса, привожу свой конфиг (сборная солянка из разных манов), может поможет server { listen 80; server_name blablabla; access_log /var/log/nginx/blablabla.log; location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ { root /var/www/blablabla/; index index.html index.php; access_log on; #expires 1d; rewrite ^/([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg last; rewrite ^/([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.jpg last; rewrite ^/([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg last; allow all; } location ~ /\.ht { deny all; } location / { proxy_pass http://127.0.0.1:88/; } } у тебя в локейшн странный синтаксис, или это из терминала так скопировалось? location .......|b$ Link to comment Share on other sites More sharing options...
Comrada Posted August 14, 2011 Author Share Posted August 14, 2011 Nginx смотри...да и ты в ручную в .htaccess прописывал чего? Да нет, у меня .htaccess вообще нет, какой в нем смысл в связке с nginx'ом? SergeyH, ну у нас конфиги принципиально не отличаются, реврайты только, ну это для картинок в режиме ЧПУ. Удивило только проксирование на апач, в принципе работать конечно будет, но некоторую информацию передавать не будет, в частности реальные IP клиентов. Да, это из терминала так скопировалось. Че-то я уже в панике, еще раз сейчас перешел на апач, все работает. Перерыл еще раз все мануалы по скрещиванию престы и nginx'а ничего нового не нашел. Уже начал склоняться с локальной причине. Посмотрите пожалуйста у себя, раз уже все равно засветил домен)) anybrands.ru логин: [email protected] пароль: 12345 Если есть firebug, смотрите с ним, интересуте момент логина и логаута, будет ли у вас такой же 302 Found с временем отклика 1мс(т.е. запроса фактически нет). Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 14, 2011 Share Posted August 14, 2011 Nginx смотри...да и ты в ручную в .htaccess прописывал чего? Да нет, у меня .htaccess вообще нет, какой в нем смысл в связке с nginx'ом? SergeyH, ну у нас конфиги принципиально не отличаются, реврайты только, ну это для картинок в режиме ЧПУ. Удивило только проксирование на апач, в принципе работать конечно будет, но некоторую информацию передавать не будет, в частности реальные IP клиентов. Да, это из терминала так скопировалось. реальные айпи передаются при включении опред.модуля апача (название щас не помню) погоди. у тебя включено ЧПУ? как это нет смысла в .htaccess .... ты запрашиваешь урл вида: сайт/55-товар.штмл а пхп должен получить сайт/товар.штмл?айди=55 - ктото же должен рерайтить урл этот. П.С. тут вообще вопрос - если у тебя там фактически 1 сайт, без плохой наследственности и тяги к апачу - нафиаг тебе там вообще апач? Link to comment Share on other sites More sharing options...
Kerm Posted August 14, 2011 Share Posted August 14, 2011 Сначала почитай о nginx и для чего о нужен, а потом о .htaccess и для чего он нужен, прежде чем писать такой бред. Поставь в админке галку на ЧПУ и после нажми на кнопку сгенерить .htaccess... Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 14, 2011 Share Posted August 14, 2011 это мне? Link to comment Share on other sites More sharing options...
Kerm Posted August 14, 2011 Share Posted August 14, 2011 SergeyH нет Вот пример моего nginx.conf: Link to comment Share on other sites More sharing options...
Kerm Posted August 14, 2011 Share Posted August 14, 2011 И теперь самое главное, не делайте на престашопе редирект на www, преста по умолчанию работает без www и так о оставьте. И лучший редирект с www на без www в nginx это такой: server { listen 127.0.0.1:80; server_name www.site.ru; rewrite ^ http://site.ru$request_uri? permanent; #301 redirect } server { listen 127.0.0.1:80; server_name site.ru; proxy_temp_path /var/cache/nginx/site.ru; rewrite ^(/manager/.*)$ https://$host$1 permanent; error_page 404 = @fallback; location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) { proxy_pass http://127.0.0.1:8080; proxy_redirect http://site.ru.ru:8080/ /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } ....и т.д. P.S.: пути к файлам и папкам в моих конфигах подойдут для тех у кого Centos/fedora, для всех остальных гостевых операционок эти пути могут быть другими. Link to comment Share on other sites More sharing options...
Comrada Posted August 15, 2011 Author Share Posted August 15, 2011 реальные айпи передаются при включении опред.модуля апача (название щас не помню) Все правильно, при включении модуля ngx_http_realip_module, но IP передаваться не будут, если ты не передашь их явно proxy_set_header X-Real-IP $remote_addr; а в апаче не примешь, соответственно, модулем mod_rpaf: RPAFheader X-Real-IP. По крайнем мере, так это работает в теории.Ладно, это оффтоп. погоди. у тебя включено ЧПУ? как это нет смысла в .htaccess .... ты запрашиваешь урл вида: сайт/55-товар.штмл а пхп должен получить сайт/товар.штмл?айди=55 - ктото же должен рерайтить урл этот. Это делается внутри nginx'а: rewrite ^/([a-zA-Z0-9-]*)/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$ /product.php?id_product=$2$4 last; rewrite ^/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$ /product.php?id_product=$1$3 last; Я, собственно, это и имел в виду, когда говорил о смысле htaccess'а в связке с nginx'ом, не знаю че вы так взъелись, мне кажется это логически правильным, разруливать урлы на уровне nginx'а, а не передавать эту функцию тормозному апачу. Нет, ЧПУ у меня не включен, надо сначала разобраться с этим кэшем. П.С. тут вообще вопрос - если у тебя там фактически 1 сайт, без плохой наследственности и тяги к апачу - нафиаг тебе там вообще апач? Хороший вопрос)) пока не разбирался с php-cgi, так-то да, надо переходить. В PHP 5.3 модуль php-fpm уже встроен, так что сам бог велел. Сейчас разбирусь с этим магазином, все равно потом буду переносить его на другой vps, более мощный, там и буду экспериментировать. И теперь самое главное, не делайте на престашопе редирект на www, преста по умолчанию работает без www и так о оставьте. Удивительное замечание. Это серьезно? Есть где-то в официальных источниках такое замечание? Просто это как-то очень странно, с точки зрения программирования, делать какую-то привязку к www или наоборот без неё. И лучший редирект с www на без www в nginx это такой: ок, попробую. Как-то даже не заморачивался по этому поводу, видел где-то такую конструкцию, вот и вставил. Ну а по существу, кто-нибудь проверял логин? Такие же симптомы? Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 Ну да касяк есть, связан он определенно с кэшированием, думаю что трабла где то в nginx, что то там надо прописать чтобы все ок было.. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 15, 2011 Share Posted August 15, 2011 по поводу реал-айпи - я не помню как именно реализовал - но на текущий момент все работает) И апач с бэкенда тоже хочу убрать, но у меня на сервере несколько сайтом, переписывать правила влом. По рерайту - его да можно на нжинксе делать, но у тебя то в конфиге этого нет, во всяком случае в том что ты приложил в посте. Короче как решишь проблему - отпишись, интересно). Link to comment Share on other sites More sharing options...
Comrada Posted August 15, 2011 Author Share Posted August 15, 2011 Я тут нарыл новую информацию по скрещиванию nginx и memcached, судя по манам, они работаю вовсе не так как мы тут с вами пишем в конфигах. Если взять теорию: То nginx сначала обращается к memcached и если не находит там кэша, тогда уже проксирует запрос апачу (ну или php-fpm), т.е. location / { set $memcached_key "localhost$uri"; memcached_pass localhost:11211; error_page 404 405 502 503 = @backend; } location @backend { proxy_pass http://127.0.0.1:8080; proxy_redirect http://site.ru.ru:8080/ /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } Ну или вообще через ngx_http_upstream модуль. А так получается, что мы посылаем запрос с nginx'а апачу, апач генерит информацию, кладет ее в memcached и возвращает ответ nginx'у, а тот никогда не берет ее в memcached. Или я чего-то путаю? P.S. Ладно, пока я в тупике, не буду вас грузить)) как решу, отпишусь. Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 Прикол в том что я в Chorme не как не мог выйти с сайта и после пошел за кофе, пришел минут через 10 и перезагрузил страницу..и о чудо! я был не авторизован, на всех страницах все ок...у меня Chrome...я еще раз попробовал зарегистрироваться и выйти, после подождал минут 10 и опять о чудо! я не авторизован. У кого какие мысли? Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 А вот с авторизацией касяк..тоже самое вбиваю логин и пароль и страница просто перезагружается...но если выйти от туда в карточку товара то там я зарегистрирован.. Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 Глянул firebug..при нажатии на выход идет 302 запрос, а при обновлении страниц пишет везде 304...т.е. без изменений.. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 15, 2011 Share Posted August 15, 2011 можно на пальцах: отключаем мемкеш - тестируем, включаем - тестируем. при таких вот грубых тестах - я вижу ускорение отдачи контента. Предполагаю, что раз мемкешед нативно прописан в Престе все выглядит примерно так: Нжинкс запрос Апачу/ПХП -> далее уже они смотрят в мемкеш и либо отдают кэш, либо генерят страницу. Или же в мемкеш ложатся часто используемые страницы... мда, хз. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 15, 2011 Share Posted August 15, 2011 Прикол в том что я в Chorme не как не мог выйти с сайта и после пошел за кофе, пришел минут через 10 и перезагрузил страницу..и о чудо! я был не авторизован, на всех страницах все ок...у меня Chrome...я еще раз попробовал зарегистрироваться и выйти, после подождал минут 10 и опять о чудо! я не авторизован. У кого какие мысли? вы ж там в выше вроде бы обсуждали хранение сессий в мемкеше. поставь в пхп.ини - session.save_handler = files и проверь еще раз. Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 Memcache я удалил, а в php.ini все как надо стоит, да и к тому же если бы там стояло не верное значение то я бы вообще не смог бы даже зайти на сайт. Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 Блин проблема серьезнее чем я думал то.. Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 Пришлось поставить: proxy_cache off;....только теперь все работает ок(( жалко, ответов не нашел.. А проблема идет с cookie, какое то особое правило нужно для prestashop чтобы cookie нормально передавались. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 15, 2011 Share Posted August 15, 2011 полез читать про нашел вот это http://wiki.enchtex.info/practice/nginx/cache оч интересно, до этого я кешем на нжинксе не рулил п.с. а какие у тебя показатели были по loadimpact при включенном кешировании? Интересно есть ли смысл. Link to comment Share on other sites More sharing options...
Comrada Posted August 15, 2011 Author Share Posted August 15, 2011 Становится все веселей. Вырубил апач совсем, установил PHP 5.3, скрестил его с nginx'ом через php-fpm. Все тоже самое осталось. Теперь еще другие сайты перенастраивать, не все поднялись((. Но на апач больше не вернусь. P.S. Кстати, я отключил мемкэш в престе. Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 Ну вот если сможет под prestu сделать чтобы все ок с nginx работало тогда буду благодарен Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 Становится все веселей. Вырубил апач совсем, установил PHP 5.3, скрестил его с nginx'ом через php-fpm. Все тоже самое осталось. Теперь еще другие сайты перенастраивать, не все поднялись((. Но на апач больше не вернусь. P.S. Кстати, я отключил мемкэш в престе. Да потому что дело в nginx, а не в apache или версии php...я же уже все проверил, нужны специальные настройки для nginx под престу..не сохраняются там cookie, параметры сессии кароче.. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 15, 2011 Share Posted August 15, 2011 алё улю все в порядке у нжинкса с престой - я привел конфиг - у меня все нормально работает и в плане авторизации и чпу. кукам какая ваще разница какой вебсервер! У тебя и правда не сохраняются куки или ты предполагаешь? Давайте вернемся к изначальным проблемам - я так понял они разные в обоих случаях? Из конфига нжинкса - выкинуть все лишнее и поставить околодефолтные настройки, без кешей и прочей мути и на них уже потом навшивать. Эх... зацепили, уже руки чешутся тоже апач кильнуть, давно сдерживаюсь)) Link to comment Share on other sites More sharing options...
Kerm Posted August 15, 2011 Share Posted August 15, 2011 У меня на одном vps 6 сайтов и там необходимо жесткое разграничение кэша для каждого сайта и своя кей зона, с конфигом у меня все ок кроме того места где престашоп...с сайтами на дригух cms все ок, а с престой траблы, сессия или куки хз че там не сохроняется. Просто если я для престы указываю отдельную папку для хранения кэша, назначаю кейзонуи т.д что работает и с битрексом и с другими двумя cms, а вот с престой не хочет, как только убираю кэш в отдельную папку так сразу все начинает работать нормально... Мой конфиг на первой странице. Link to comment Share on other sites More sharing options...
Comrada Posted August 16, 2011 Author Share Posted August 16, 2011 Есть кое какие новости Дело скорее всего в заголовках, которые приходят от nginx'а к клиенту, и которые запоминаются у клиента, я принудительно запретил пересылать заголовки от PHP к клиенту через nginx fastcgi_hide_header "Cache-Control"; #Это подавляет вывод заголовка PHP add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"; #Устанавливает свой заголовок fastcgi_hide_header "Pragma"; #Тоже самое (для старых браузеров) add_header Pragma "no-cache"; И заработало, правда теперь браузер каждую страницу загружает с сервера, вне зависимости от того, что преста может там выдавать в заголовках Cache-Control. Но при этом, nginx все-таки (вроде) кэширует страницы, по крайней мере в /var/cache/nginx/ кэш появляется и, я надеюсь, отдает клиенту из своего кэша. Конечно работа сайта замедлилась, раньше при переходе по сайту, выдача была мгновенная, потому что данные брались из кэша браузера, сейчас она стала зависеть от ширины канала. Было бы здорово, если бразуер все-таки кэшировал страницы, но и чтобы обращал внимание на Last-Modified и загружал обновленные страницы. Нашел интересную статью по кэшированию И ещё, никак не могу понять кто сохраняет сессии на серверной стороне nginx или php-fpm, дело в том, что я выхожу из аккаунта, чищу куки, чищу папку /var/cache/nginx/ чищу /var/lib/php/session/ еще какая-то папка /var/lib/nginx/tmp с пустыми подпапками, затем обновляю страницу и мне в ответе сервера валится мусор в Set-Cookie с той сессионной переменной кук, которую я только что почистил в браузере и браузер ее опять устанавливает, правда авторизация не происходит, просто восстанавливается сессия, блин, зачем вообще устанавливать куки, если это неавторизованный гость?! Причем! я так и не понял в чем прикол, первый раз сервер ответил таким мусором: Set-Cookie: 8812c36dg47e336c2a77bf63211d899a=%2Fee3ItUZbMdAB%2F7TYvGgu ... %3D%3D000148; expires=Mon, 05-Sep-2011 08:36:47 GMT; path=/; domain=anybrands.ru; httponly Я очистил куки в браузере, обновил страницу (авторизация, соответвенно, отвалилась), опять аворизовался и сервер прислал тоже самое плюс еще столько же мусора, начинающегося тем же ключом 8812c36dg47e336c2a77bf63211d899a. После нескольких таких "авторизаций", сервер мне щас сыпет целую кучу их: 8812c36dg47e336c2a77bf63211d899a=%2Fee3ItUZbMdAB%2F7TYvGguC5Tl6l ... Hw%3D%3D000148; expires=Mon, 05-Sep-2011 08:36:47 GMT; path=/; domain=anybrands.ru; httponly 8812c36dg47e336c2a77bf63211d899a=%2Fee3ItUZbMdAB%2F7TYvGguC5Tl6lyBt4K1 ... kO1sbsU1kjeBvbtcrzwfFeyMcS8uqie3XecI000182; expires=Mon, 05-Sep-2011 08:36:47 GMT; path=/; domain=anybrands.ru; httponly 8812c36dg47e336c2a77bf63211d899a=%2Fee3ItUZbMdAB%2F7TYvGguC5Tl6lyBt4K ... 000213; expires=Mon, 05-Sep-2011 08:36:47 GMT; path=/; domain=anybrands.ru; httponly 8812c36dg47e336c2a77bf63211d899a=%2Fee3ItUZbMdAB%2F7TYvGguC5Tl6lyBt4K1v ... 223; expires=Mon, 05-Sep-2011 08:36:47 GMT; path=/; domain=anybrands.ru; httponly 8812c36dg47e336c2a77bf63211d899a=%2Fee3ItUZbMdAB%2F7TYvGguC5Tl6lyBt4K1 ... AAL6oO%2FNnYOk000234; expires=Mon, 05-Sep-2011 08:36:47 GMT; path=/; domain=anybrands.ru; httponly 8812c36dg47e336c2a77bf63211d899a=%2Fee3ItUZbMdAB%2F7TYvGguC5Tl6lyBt4K1 ... 000275; expires=Mon, 05-Sep-2011 08:36:47 GMT; path=/; domain=anybrands.ru; httponly 8812c36dg47e336c2a77bf63211d899a=%2Fee3ItUZbMdAB%2F7TYvGguC5Tl6lyBt4K1 ... vHWZERtOwdv6vXhIye%2BP0A%3D%3D000302; expires=Mon, 05-Sep-2011 08:36:47 GMT; path=/; domain=anybrands.ru; httponly 8812c36dg47e336c2a77bf63211d899a=%2Fee3ItUZbMdAB%2F7TYvGguC5Tl6lyBt4K ... 5kVP6v6V1g%3D%3D000301; expires=Mon, 05-Sep-2011 08:36:47 GMT; path=/; domain=anybrands.ru; httponly Это что за прикол?! Косяк nginx'а из-за того что я принудительно чистил куки или такой метод авторизации престы? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 16, 2011 Share Posted August 16, 2011 уф, сколько всего... тяжело конечно в таком потоке информации чтото понять и предложить)) Кратко - сессии и куки - это нормально!)) То что ты видишь после обновления страницы - это не мусор, а новая сессия, что именно с ее помощью хранит Преста, это уже второй вопрос, например список посещенных товаров и т.п. А по поводу инвалидации кеша - я тему создавал, у меня тоже в админке не обновляется некоторая инфа сразу после изменений, но там ajax... и я не лазил в заголовки и прочее. Давай локализуем проблему - выруби мемкеш и поставь голый-дефолтный конфиг нжинкса, без управления заголовками, кешами и т.п., т.е. просто чтобы вебсервер отдавал контент и все мне уже самом у интересно) Link to comment Share on other sites More sharing options...
Comrada Posted August 16, 2011 Author Share Posted August 16, 2011 Давай локализуем проблему - выруби мемкеш и поставь голый-дефолтный конфиг нжинкса, без управления заголовками, кешами и т.п., т.е. просто чтобы вебсервер отдавал контент и все Такую конфигу можно считать околодефолтной? location / { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 24k; fastcgi_buffers 16 24k; fastcgi_busy_buffers_size 24k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } Статика отдается стандартно, не буду сюда ей приводить. Вот с такой конфигой авторизация сейчас работает (как ни странно) Теперь уже и не вспомнишь, чего изменилось с последней конфы и че это оно заработало. Кэширование в престе отключил, memcached в системе не могу отключить, потому что он является модулем php, не охота лезть в настройки, он точно не действует, session.save_handler = files Кстати, вот если надо мой phpinfo(). Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 16, 2011 Share Posted August 16, 2011 стандартно, не буду сюда ей приводить. Вот с такой конфигой авторизация сейчас работает (как ни странно) Теперь уже и не вспомнишь, чего изменилось с последней конфы и че это оно заработало. Кэширование в престе отключил, memcached в системе не могу отключить, потому что он является модулем php, не охота лезть в настройки, он точно не действует, session.save_handler = files Кстати, вот если надо мой phpinfo(). 1. пхпинфо спрячь от греха подальше, да и конфиги в файлах из первых постов тоже поудаляй. 2. memcache - это модуль пхп для работы с memcached - sudo service memcached stop, но см п.3 3. если работает - то это же зае гуд и кстати поделись ссылкой по скрещиванию nginx + php-fpm и это, рерайты для престы переписал под нжинкс переписал все? если можешь - делись) Link to comment Share on other sites More sharing options...
Kerm Posted August 16, 2011 Share Posted August 16, 2011 Вот только у меня php как модуль apache...cgi у меня нету Link to comment Share on other sites More sharing options...
Comrada Posted August 16, 2011 Author Share Posted August 16, 2011 2. memcache - это модуль пхп для работы с memcached - sudo service memcached stop, но см п.3 Да, все, тупанул, про сам демон забыл, но он у меня все равно не запущен. А насчет мануала по скрещиванию, как такового полного не нашел, из разных мест надергал информации и соединил. Да там ничего сложного нет. Ставить рекомендую PHP 5.3, тогда не придется патчить его fpm'ом, он там уже в виде модуля. Вот только, по ходу, придется удалять старый php, по крайней, мере у меня не хотел без этогоставиться, ругался на несовместимость, так что готовься далее сращивать его с апачем, если не будешь сносить последний. Есть еще такая программка как spawn-fcgi из состава lighthttpd, вот тут про него, но она, судя по тестам, тормознее и там надо писать доп. скрипты по ее запуску. Вот тут кратенько по установке PHP 5.3 на CentOS. Поскольку у CentOS там что-то не срослось с RedHat на почве лицензий, я так понял, они переименовали php53 в php53u. Я ставил эти пакеты из ссылки. Они ставится из репа epel. Он тянет еще какие-то зависимости из других репов, но у меня подключены только стандартные, так что проблем не будет. Далее редактируем конфиг /etc/php-fpm.d/www.conf там все интуитивно понятно listen = 127.0.0.1:9000 listen.allowed_clients = 127.0.0.1 user = nginx ; такой же юзер, под которым запущен и сам nginx group = nginx Остальные параметры - тюнинг, читай мануалы, подбирай под параметры своего vds. Запускаем службу service php-fpm start, втыкаем его в автозапуск chkconfig php-fpm on и все, можно настраивать nginx - здесь, здесь ну и, собственно, здесь. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 16, 2011 Share Posted August 16, 2011 ага, ну примерно ясно, а пхп у меня изначально 5.3 Самый важный вопрос - ты под нагрузкой типа лоадимпакта тестировал до/после удаления апача? у меня по данным гугл вебмастер тулс отдается гдето за 2 сек страница категории с 25 товарами, по лоадимпакт примерно те же данные, очень хочется довести до < 1 сек, так что вопрос разноуровневых кешей остается открытым. П.С. по вдс хорошая мысль, я все присматриваюсь к хетзнеру... но сейчас держу свой сервак, куда то же его надо девать. Link to comment Share on other sites More sharing options...
Kerm Posted August 16, 2011 Share Posted August 16, 2011 #################### configuration for shoploragrig.ru; #################### server { listen 178.250.241.23:80; server_name shoploragrig.ru www.shoploragrig.ru; proxy_temp_path /var/cache/nginx/shoploragrig.ru; rewrite ^(/manager/.*)$ https://$host$1 permanent; error_page 404 = @fallback; location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) { proxy_pass http://178.250.241.23:8080; proxy_redirect http://shoploragrig.ru:8080/ /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } location / { proxy_pass http://178.250.241.23:8080; proxy_redirect http://shoploragrig.ru:8080/ /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; 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 64k; proxy_buffers 16 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; proxy_cache off; } location ~* ^.+\.(jpg|jpeg|gif|png|css|pdf|js|htm|html|shtml)$ { root /var/www/admin/data/www/shoploragrig.ru; index index.html index.htm index.php; expires 1y; } location @fallback { proxy_pass http://178.250.241.23:8080; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } } Вот так у меня все работает.... Кэшируется ли у меня там что хз, сайт работает быстро, папака cache пустая потому что "proxy_cache off;" Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 16, 2011 Share Posted August 16, 2011 ну.. быстро, понятие растяжимое) цифры нужны, цифры. У меня в офисе канал в 1 Мбит, а дома 100 - вроде и там и там быстро работает, но дома все таки быстрее)) канал конечно не показатель, но чем быстрее сервак отдаст контент, тем быстрее он начнет лезть в узкое горлышко канала) Link to comment Share on other sites More sharing options...
Comrada Posted August 16, 2011 Author Share Posted August 16, 2011 Самый важный вопрос - ты под нагрузкой типа лоадимпакта тестировал до/после удаления апача? у меня по данным гугл вебмастер тулс отдается гдето за 2 сек страница категории с 25 товарами, по лоадимпакт примерно те же данные, очень хочется довести до < 1 сек, так что вопрос разноуровневых кешей остается открытым. До мерил как-то, но уже не помню цифры, помню что httpd сильно валил, каждый процесс под 10%, сейчас вот что http://loadimpact.com/result/www.anybrands.ru Link to comment Share on other sites More sharing options...
Comrada Posted August 16, 2011 Author Share Posted August 16, 2011 ... так что вопрос разноуровневых кешей остается открытым. Согласен, пока беру паузу, раз все работает, разберусь с кэшированием, напишу Link to comment Share on other sites More sharing options...
Comrada Posted August 16, 2011 Author Share Posted August 16, 2011 #################### configuration for shoploragrig.ru; #################### Ты зря центральные банеры назвал advertising, у меня их сразу зарубили, один AdBlock, другой каспер и сайт сразу пустым показался. Назови как-нибудь безобидно. А так приятный дизайн. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 16, 2011 Share Posted August 16, 2011 До мерил как-то, но уже не помню цифры, помню что httpd сильно валил, каждый процесс под 10%, сейчас вот что даже интересно почему такой вид графика... из-за свопа может, у меня график - почти ровная линия на уровне примерно 2с. Кстати самое наличие swap говорит о том что памяти надо бы поболе? В любом случае диапазон 1-2 сек - гуд Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 16, 2011 Share Posted August 16, 2011 #################### configuration for shoploragrig.ru; #################### Ты зря центральные банеры назвал advertising, у меня их сразу зарубили, один AdBlock, другой каспер и сайт сразу пустым показался. Назови как-нибудь безобидно. А так приятный дизайн. Адблок же вроде умеет рубить и по типоразмерам стандартным? Самые умные делают размер баннера на 1-2 пикс меньше)) Link to comment Share on other sites More sharing options...
Comrada Posted August 16, 2011 Author Share Posted August 16, 2011 Кстати самое наличие swap говорит о том что памяти надо бы поболе? Вполне может быть, памяти у меня всего 512Мб. сейчас свободно около 200, VDS с 2Г у хетцнера стоит 800р/мес. Для рабочего магазина возьму его. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 16, 2011 Share Posted August 16, 2011 угу, в целом неплохо, это порядка 27 баксов.. я за колокейшн плачу сейчас 50, но мощности тазика толком не использую Link to comment Share on other sites More sharing options...
Kerm Posted August 16, 2011 Share Posted August 16, 2011 ~]# top top - 17:56:00 up 3 days, 22:45, 3 users, load average: 1.65, 1.00, 0.89 Tasks: 96 total, 2 running, 94 sleeping, 0 stopped, 0 zombie Cpu(s): 3.0%us, 1.0%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 2883584k total, 2824092k used, 59492k free, 137776k buffers Swap: 522104k total, 26688k used, 495416k free, 2136836k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4604 root 15 0 2404 1084 824 R 0.0 0.0 0:00.00 top 24713 root 15 0 8420 2608 2116 R 0.0 0.1 0:00.00 sshd: root@pts/2 хм если бы не сделал top не заметил бы что у меня swap начало кушать... Link to comment Share on other sites More sharing options...
Kerm Posted August 18, 2011 Share Posted August 18, 2011 Пообщался я с людьми хорошими на форуме forum.nginx.org правда по поводу сайта на другой CMS но с теми же проблемами и очень много узнал нового если честно и получил серьезную помощь там, так же я теперь знаю в какую сторону по отношению к prestashop нужно капать и в чем проблема. Вот что помогло мне для сайта на другой CMS но с той же проблемой: location / { ......... proxy_cache_valid 200 3h; proxy_cache_valid any 0; proxy_cache_use_stale updating error timeout invalid_header http_500 http_502 http_503 http_504 http_404; proxy_cache_key "$host$uri?$args$cookie_uid$cookie_autol$cookie_autop"; proxy_no_cache $cookie_orderData $cookie_nocache $arg_nocache $arg_comment; proxy_cache_bypass $cookie_orderData $cookie_nocache $arg_nocache $arg_comment; ......... } Наврятли этот код поможет для prestashop, он просто может указать в какую сторону копать. Дело в том что для любой CMS прежде всего нужно указать правильный proxy_cache_key, а чтобы его правильно указать нужно узнать какие у страницы могут быть модификаторы важные для кеширования прежде всего, так же узнать в чем/где храниться идентификатор, например $cookie_uid или $cookie_sid ну и т.д. Так же нужно указать proxy_no_cache, если версия nginx выше 0.8.46+ то так же и proxy_cache_bypass с аналогичными параметрами, естественно параметры тоже должны быть подходящие именно для prestashop. Если кто въедит в это и разберется быстрее меня, просьба написать тут решение! P.S.: Расшифровка $host$uri?$args$cookie_uid$cookie_autol$cookie_autop: $host site.ru $uri? ссылка на раздел сайта + что можно указать аргументы после нее $args аргументы, ну иметься ввиду что в таком то ID, есть такой то товарный ID ну и т.д cookie_uid уникальный идентификатор пользователя $cookie_autol$cookie_autop как мне сказали параметры нужны чтобы яндекс не нароком не проиндексировал инфу пользователя о нем и заказе..как было с мегафоном. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 18, 2011 Share Posted August 18, 2011 а какую задачу решаем то? Link to comment Share on other sites More sharing options...
Kerm Posted August 18, 2011 Share Posted August 18, 2011 Проблема что в первом посте...проблема с печенюшками Их целая куча: Авторизация не сохраняется при переходе на главную страницу. На странице с авторизацией страница при успешной авторизации не обновляется, при переходе с нее на другую Страницу видно что зарегистрировались. Не возможность сделать выход, авторизация сохраняется. Передача куки чужим пользователям. Индексация закрытого профайла пользователя и его заказов поисковиками На лицо проблема с печеньками. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 18, 2011 Share Posted August 18, 2011 Дык.. исходники проблемы какие? То что ты называешь - последствия. У меня, например, не наблюдается ничего из вышесказанного. Юзаю мемкешед+нжинкс+апач, даже если перейду как наш третий участник на мемкешед+нжинкс без апача - проблема не должна возникнуть. За счет чего она появляется у тебя? Специфика применения какая? Link to comment Share on other sites More sharing options...
Kerm Posted August 18, 2011 Share Posted August 18, 2011 А у тебя в nginx/cache папки с файлами создаются? Если указать proxy_cache_path /var/cache/nginx/cache/charmante levels=1:2 keys_zone=one:16m inactive=7d max_size=1024m; Не важно даже какие там цифры, а именно вот если путь указать то по указанному пути если в location добавить proxy_cache и указать имя key зоны например one как выше, то в указанной папке создаются файлы? Link to comment Share on other sites More sharing options...
Kerm Posted August 18, 2011 Share Posted August 18, 2011 ну или не proxy если у тебя там fast cgi.. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 18, 2011 Share Posted August 18, 2011 да я не использую директив proxy_cache это как раз то о чем я говорю - специфика. В чем фишка такого кеширования? Насколько оно лучше дефолтного + мемкеш? Т.е. я пока не могу понять нафига это вообще, т.е. предположить могу, но практическая сторона под вопросом) п.с. не fast cgi Link to comment Share on other sites More sharing options...
Kerm Posted August 18, 2011 Share Posted August 18, 2011 Ок постараюсь объяснить, у меня не 1 сайт на VPS, сейчас их там 6 и хранить их кэш в одной папке создает проблемы. Какие? Напишу: 1)Самый первый epic fail был когда я поставил кэшировать txt и всем сайтам выдался один и тот же robots.txt…По аналогии могут быть везде одинаковые favicon, css, js, картинки и т.д. 2)У меня два сайта на одной CMS и два сайта на другой и они имеют “схожести” так как еще и дизайн у них один, просто один сайт это интернет-магазин, а другой каталог..и вот если картинку на одном меняешь, то она не меняется, потому что она берется из кэша и сравнивается с картинкой другого сайта.. 3)Разграничение по папкам может помочь обнаружить где кэширование работает, а где нет. Так же поиск файла чтобы удалить его из кэша занимает меньше времени. 4)Когда правишь конфиг NGINX который повлияет на кэширование нужно почистить кэш чтобы посмотреть результат, а чистить общий кэш когда это касается одного сайта это бред. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 18, 2011 Share Posted August 18, 2011 Опять друг друга не поняли - я справшиваю - ЗАЧЕМ тебе кеш именно на нжинксе? Зачем ты вообще его используешь?)) а по поводу разграничения/инвалидации, я не вникал в возможности нжинкс, но вижу proxy_cache_key ... т.е. по логике п.1-4 вполне себе разграничиваются по уникальному айди для каждого ресурса. Отдача кеша одного сайта по запросу другого - нонсенс, явно неправильно настроен вебсервер. Link to comment Share on other sites More sharing options...
Kerm Posted August 18, 2011 Share Posted August 18, 2011 Да без nginx у меня VPS и три сайта ели держит..у меня два сайта создают очень высокую нагрузку на проц и создают много запросов к bd, nginx реально спасает.. По поводу разграничений по IP...я сочканул и у меня сайты доменами прописаны в nginx и к тому же на внешних IP, а не по внутренним IP как надо.. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 18, 2011 Share Posted August 18, 2011 Да без nginx у меня VPS и три сайта ели держит.. так.. вижу так мы долго еще будем. Зачем тебе КЕШ на нжинксе? Link to comment Share on other sites More sharing options...
Comrada Posted August 18, 2011 Author Share Posted August 18, 2011 Ого сколько тут нового Зачем тебе КЕШ на нжинксе? Ну хотя бы потому что эту будет быстрее, чем все остальные виды кэширования, даже если использовать memcache, все равно его будет отдавать nginx, пару тактов на запрос/ответ - это конечно не секунды, но тем не менее. Кроме того, я тут уже выше писал, что с такими конфигами, как у нас с вами, memcached не задействован, чтобы nginx отдавал кэш из Memcache'а, конфига должна быть такой: server { location / { set $memcached_key "$uri?$args"; memcached_pass host:11211; error_page 404 502 504 = @fallback; } location @fallback { proxy_pass http://backend; } } Иначе он не используется, пускай даже PHP добросовестно будет писать туда данные, забираться они не будут. Вот еще. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted August 18, 2011 Share Posted August 18, 2011 (edited) У меня используется, бэком стоит апач, там все настроено. А по остальному - пхп (преста) сама по себе юзает мемкеш/файловый кеш + получается мы насильно добавляем кеш вебсервера. Как дружат друг с другом эти 2 кеша? Они знают вообще о существовании друг друга? При инвалидации скрипты тоже в курсе? Если исходить из последней озвученной задачи - проблема на мой взгляд как раз в этом, использование кеширования нжинкса, без соотв настройки. Нжинкс сам по себе хорошо отдает статику (это касательно вышеупомянутой нагрузки на вдс), доп.кэш - круто, никто не спорит, но его же надо уметь готовить. П.С за конфиг спасибо, полез изучать тему. нашел http://www.opennet.r...cached.txt.html (производительность связки nginx+memcached куда выше чем можно добится уnginx+(apache/mod_perl для X-Accel-Redirect)+ memcached)Такая связка реально работает и показывает очень приличную производительность (сколько максимум так можно отдавать не знаю... думаю упрется в ethernet). оч интересно, буду думать Edited August 18, 2011 by SergeyH (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted August 18, 2011 Share Posted August 18, 2011 Оффтоп, может кто подкинет ссылки как к доменам на VDS назначить внутренние ip и в nginx указывать не внешние, а внутренние ip....блин либо это так просто что не кто даже не пишет как это сделать или я все не как не могу задать правильную поисковую фразу... Link to comment Share on other sites More sharing options...
Comrada Posted August 19, 2011 Author Share Posted August 19, 2011 Оффтоп, может кто подкинет ссылки как к доменам на VDS назначить внутренние ip и в nginx указывать не внешние, а внутренние ip....блин либо это так просто что не кто даже не пишет как это сделать или я все не как не могу задать правильную поисковую фразу... Не совсем понял вопрос, все домены на одном сервере или на разных. /etc/hosts не подойдет? i3.domain.ru 127.0.0.1 sport.shop.ru 192.168.1.101 И откуда нужно обращаться к ним? Если только с сервака, то так, а если планируется передавать эти поддомены клиенту, то нужно настраивать DNS твоего хостера(если он есть), у меня у хетцнера его нет (или он платный), так я использую бесплатный afraid.org. А какая разница по каким апишникам обращаться? Скорость от этого не изменится, они же находятся в одной физической сети. Или я неправильно понял вопрос. Link to comment Share on other sites More sharing options...
Kerm Posted August 19, 2011 Share Posted August 19, 2011 Да все там понятно написано было... У меня у одного VPS сервера два внешних IP, на нем 6 сайтов. В HTTP и NGINX домены привязаны к внешним IP, т.е. httpd и nginx слушают парты (8080/80) на внешних IP и по моей теории при наличии большого кол-во сайтов и посетителей на них, вырастает трафик который забивает из-за этого интернет канал внешних IP и из-за этого например можно долго по SSH или к FTP конектится, а так же у кого трафик не анлим..., сайты могут так же медленнее грузиться. А если указать внутренние IP то вся инфа будет летать в пределах VPS сервера..я как то так себе это представляю. В общем как есть и что надо: К ДНСам провайдера кто VPS предоставляет доступ есть и все зоны для доменов прописаны и естественно в А записи стоят у доменов внешние IP. На самом VPS добавлены эти два моих внешних IP и добавлены домены, 5 на одном IP, и один на другом внешнем IP. В HTTP и NGINX все конфиги для виртуальных хостов прописаны с использованием внешних IP. Мне надо переписать в HTTP и NGINX виртуальные хосты на внутренние ip к примеру на 127.0.0.3/4/5/6/7 или 192.168.1.3/4/5/6/7 И чтобы все это работало) Вот как это сделать)? я просто даже не могу сформулировать правильную поисковую фразу чтобы найти в гугле доки по этому. Link to comment Share on other sites More sharing options...
Comrada Posted August 19, 2011 Author Share Posted August 19, 2011 В HTTP и NGINX домены привязаны к внешним IP, т.е. httpd и nginx слушают парты (8080/80) на внешних IP и по моей теории при наличии большого кол-во сайтов и посетителей на них, вырастает трафик который забивает из-за этого интернет канал внешних IP ... Нет все нормально, никуда он[трафик] не ходит, он крутится только внутри хоста. Ты не совсем правильно представляешь себе природу сетевых интерфейсов. Сколько бы ты не навесил на один интерфейс айпишников, маршрутизация от этого не изменится, они все буду просто алиасами, какой бы ты не повесил на интерфейс айпишник (внешний или локальный), хост сам к себе будет обращаться как к 127.0.0.1, в винде можно посмотреть route print, вот у меня: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика XX.78.222.247 255.255.255.255 127.0.0.1 127.0.0.1 50 внешний апишник для системы значится как локалхост и пофигу на то внешний он или локальный. И хостер твой считает трафик между твоим сервером и клиентами, а не внутри твоего сервера, ты физически не сможешь задать такую маршрутизацию, чтобы хост сам к себе ходил через какой-то коммутатор или роутер. На скорости это тоже никак не отражается, еще раз повторяю, система видит свой интерфейс, на котором висит внешний айпи, как локалхост, так что не парься. Link to comment Share on other sites More sharing options...
gabdr Posted April 7, 2012 Share Posted April 7, 2012 ап, интересная тема, продолжаем вот такая ошибка при включении в конфиге нжикса fast cgi 1834#0: unknown directive "includefastcgi_params" in /etc/nginx/sites-enabled/default:51 nginx. Link to comment Share on other sites More sharing options...
gabdr Posted May 31, 2012 Share Posted May 31, 2012 решили проблему с логином? Link to comment Share on other sites More sharing options...
gabdr Posted May 31, 2012 Share Posted May 31, 2012 само заработало ))) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now