LINUX.ORG.RU
ФорумAdmin

Миграция Apache name-based -> Nginx+Apache (name-based)


0

0

Доброе время суток!

Работает Apache, много виртуальных хостов на 1 IP. Попытался по примеру http://server-help.ru/?p=14 перевезти на связку Nginx+Apache и выловил проблемку - все виртуальные хосты апача перебрасывают на дефолтную апачевскую страницу ("It works!").

Собсно в инструкции скачано сменить порт и ничего больше не менять в конфиге Apache. Но, чувствую, надо все-таки изменить каким-то образом. Если не сложно - поделитесь конфигами.

Заранее спасибо.

а для нжинкса написали конфиг? на апаче только порт, а вот с нжинкс прописывается каждый виртуальный хост отдельно

Sylvia ★★★★★
()

server {
listen 80;
server_name .domain.org;
location ~ /\.ht {
deny all;
}
location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|r tf|swf|ico)$
{
root /path/to/virtualserver/root/;
}
location / {
proxy_pass http://127.0.0.1:32323/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}

вот примерно такие секции должны быть для каждого виртхоста

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

да, написал.

пример для пары хостов:

server {
listen zh.idea;
server_name zh.idea;

access_log /var/log/nginx.access_log main;

location / {
proxy_pass http://127.0.0.1/:8080;
proxy_redirect off;
}


location ~* \.(jpg|jpeg|gif|bmp|png)$ {
root /var/www/zh;
access_log off;
expires 30d;
}

}

server {
listen mid.greeks.org.ua;
server_name mid.greeks.org.ua www.mid.greeks.org.ua;

access_log /var/log/nginx.access_log main;

location / {
proxy_pass http://127.0.0.1/:8080;
proxy_redirect off;
}


location ~* \.(jpg|jpeg|gif|bmp|png)$ {
root /var/www/mid;
access_log off;
expires 30d;
}

}

vasya_p
() автор топика
Ответ на: комментарий от Sylvia

Да, со слешем стратил, спасибо 8).

Ошибки (50х) перестали вылетать. Но интересно дургое. Теперь все хосты кроме zh.idea, перекидывает на первый виртувльный хост apache, а zh.idea - на дефолтную страницу.
Быть может стоит еще и в апаче что-то подкрутить?

vasya_p
() автор топика
Ответ на: комментарий от vasya_p

думаете я вам зря кусочек из конфига запостила?

proxy_set_header Host $host;


Sylvia ★★★★★
()

достаточно одной секции server {} c "server_name _;" внутри. в данном случае "_" это вайлдкард.

Somewho ★★
()
Ответ на: комментарий от Sylvia

>вот примерно такие секции должны быть для каждого виртхоста

да ну бросьте, кусок ниже проксирует все подряд

    server {
        listen       ip:80;
        server_name  server.ru;
        location / {
            proxy_pass         http://127.0.0.1:80/;
            proxy_redirect     off;

            proxy_set_header   Host             $host;
            proxy_set_header   ClientIP        $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;
        }

    }

borisych ★★★★★
()
Ответ на: комментарий от borisych

а если надо не только проксировать но и картинки например отдать, не спрашивая их у апача? )

location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|r tf|swf|ico)$
{
root /path/to/virtualserver/root/;
}

Sylvia ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.