LEOnidUKG

LEOnidUKG
Рейтинг
1776
Регистрация
25.11.2006
Должность
PHP
Интересы
Программирование
myhand:
А у вас их за сотню? ;-)

Тогда, только по wildcard'ам. Т.е. все виртуалхосты должны быть одинаково организованы
http://<virtual host>/<бла/бла/бла>/*.jpg - всегда
отдаем из файлов вида /var/www/<virtual host>/www/<бла/бла/бла>/*.jpg

Тоже с *.gif и т.п. Может быть еще проще, если у каждого хоста есть
стандартныя директория для статики.

Конечно не за сотню, просто разжевали мне эти тонкости. В принципе простое проксирование тоже имеет свои большие плюса. Ладно уже не об этом.

P.S. На Windows nginx у меня падает и падает, никаких ошибок в логах нет. Отправил уже данные разработчику. Сыроват она по винду :(

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

Аха, значит мирхости и теперешние админы решали, что они самые умные и не объясняли мне ничего. Ладно фиг с ним...

Всем спасибо за информацию.

myhand:
1. ну да - никакой раздачи статики нет. просто прокси

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

myhand:
1. Данный конфиг - просто проксирует запросы апачу.
2. Работать на реальном сервере он может из-за переброса портов, например

Чуть подробнее можно? Например, в реальном конфиге IP _одинаковы_?

Реальный конфиг вот:

server {listen 64.191.63.117:88;access_log off;location / {proxy_pass http://64.191.63.117:80;limit_conn one 15;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_redirect off;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 120;proxy_send_timeout 120;proxy_read_timeout 120;proxy_buffer_size 4k;proxy_buffers 120 64k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;}}

myhand:
iptables -t nat -vL что говорит?
Chain PREROUTING (policy ACCEPT 641K packets, 41M bytes)
pkts bytes target prot opt in out source destination
148K 8363K DNAT tcp -- any any anywhere s1.chatukg.n et tcp dpt:http to:64.191.63.117:88
631K 32M DNAT tcp -- any any anywhere chatukg.net tcp dpt:http to:64.191.63.118:88
328 18088 DNAT tcp -- any any anywhere chatukg.net tcp dpt:http to:64.191.63.119:88
306 16696 DNAT tcp -- any any anywhere chatukg.net tcp dpt:http to:64.191.63.120:88
404 22611 DNAT tcp -- any any anywhere chatukg.net tcp dpt:http to:64.191.63.121:88

Chain POSTROUTING (policy ACCEPT 8396K packets, 421M bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 8400K packets, 426M bytes)
pkts bytes target prot opt in out source destination

Это как я понял ответ на мой вопрос насчёт переброса?

NV38:
Потому, что на Windows не сделано типа такого:
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp -d 127.0.0.1 --dport 80 -j DNAT --to-destination 127.0.0.1:88

;)

Из всех правил я вижу связанное с 88 портом только эту строчку:


25....
26 778K 40M ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:88
27...
myhand:
Судя по этому конфигу (nginx работает как прокси, никакой "раздачи статики") - он работал бы,
если входящие запросы приходили на 192.168.0.1:88. Все это проксируется nginx'ом на 192.168.0.1:80.

Значит хотите сказать, что админы onkelhost.ru меня обманули и с таким конфигом статические данные не выдаются nginx?

myhand:

Что именно вас смущает? GET / на 192.168.0.1:80 говорит "Server: nginx"?

Аха, ну сейчас я говорю про реальный сервер, поэтому посмотреть можно по http://64.191.63.118, да там отображается что Nginx.

kisliy2000:
Как вариант, если например apache+nginx в jail на freebsd, то можно просто сделать проброс портов
(external_ip):80->(jail_ip):88. Если на сервере так, тогда понятно почему под windows не работает
тот же конфиг, что и на сервере :)

У меня CentOS, где это можно посмотреть?

Напоминаю, приведённый мной конфиг помимо интересной настройки портов, ещё отдёт статику.

Борисович:
Apache должен работать на отличном от 80 порта, а nginx на 80

У вас заело? Я говорю как он работает, а вы опять за своё.

Да не нужно мне этих стандартных примеров, я понимаю логику и запустил дома более менее, но меня мучает вопрос как может работать мой приведённый конфиг, который работает на реальном серваке (заказывал настройка на onkelhost, такую же мне делали в мирхосте).

В чём замысел такой настройки, кто может объяснить?

В apache на серваке в интернете стандартно прописано:

Listen 0.0.0.0:80

Все виртуальный хосты тоже на 80 порту.

ура! Добавил запросы в грабер хехехе :)

Всего: 31521