Использование nginx в качестве прокси

K
На сайте с 12.07.2006
Offline
295
Kpd
7878

Есть сервер, на нём apache+nginx и несколько сайтов. Один сайт нужно незаметно для посетителей перенести на другой сервер. Хочу использовать для этого возможности nginx. Конфиг почти дефолтный, сначала proxy_pass на apache, потом отдача статики. С динамическим контентом всё просто,

location / {
proxy_pass http://IP_нового_сервера/;
....

А как исправить отдачу статики

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

чтобы nginx тянул файлы с нового сервера и отдавал посетителям?

N
На сайте с 06.05.2007
Offline
419
#1

что-то вы мудрите. просто уберите location со статикой и все должно заработать

Кнопка вызова админа ()
K
На сайте с 12.07.2006
Offline
295
Kpd
#2
netwind:
что-то вы мудрите. просто уберите location со статикой и все должно заработать

Что-то не получчается, nginx нового сервера отдает 404 вместо картинок. Скорее всего в какой-то мелочи ошибся, буду тестить на свежую голову.

kxk
На сайте с 30.01.2005
Offline
990
kxk
#3

Kpd, В идеале выкиньте Апача из бакэнда и поставьте nginx, rewrite правила можно и периписать, у вас же не шаред хостинг :)

Ваш DEVOPS
K
На сайте с 12.07.2006
Offline
295
Kpd
#4
kxk:
Kpd, В идеале выкиньте Апача из бакэнда и поставьте nginx, rewrite правила можно и периписать, у вас же не шаред хостинг

Переписывать придется много (правил много), а реальной пользы будет мало - сейчас ~90% нагрузки на сервер создает mysql (большая база данных со сложными связями).

Andreyka
На сайте с 19.02.2005
Offline
822
#5

Переносите сайт на новый сервер

Делаете проксирование всех запросов на IP нового сайта

Это все

Не стоит плодить сущности без необходимости
litos0
На сайте с 17.07.2008
Offline
122
#6

proxy_pass http://IP_нового_сервера/;

и больше ничего не надо, все запросы пойдут на IP-адрес нового сервера, а там уже apache примет запрос

возможно не выкинули из конфига из секции server что-то еще ...

N
На сайте с 06.05.2007
Offline
419
#7

ну попробуйте явно указать Host :

proxy_set_header Host $host;

K
На сайте с 12.07.2006
Offline
295
Kpd
#8
litos0:
возможно не выкинули из конфига из секции server что-то еще ...

Так и было, один location забыл закомментироать. Всё отлично сработало, хвала Игорю Сысоеву :) Всем спасибо за помощь.

D3
На сайте с 31.03.2009
Offline
4
#9

1) Меняем ip из 127.0.0.1 на новый


proxy_pass http://127.0.0.1:80/;
proxy_redirect off;

2) Убираем location (как советовали выше)


# for static files
location /s/ {
...

Конфиги можно брать отсюда (Debian LAMP + nginx installation for high-loaded webservers)

-- Блог СисАдмина: SysAdmin.md Server Support Company: SSCompany.net

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий