Добрый день.
Python 2.7+Django 1.4. Работают 4 сервера: 1 фронт (debian7,nginx) и upstream на 3 бекэнда (debian 7, apache), на всех один и тот же репозиторий. Статика собрана на фронтенде и он её отдаёт. Медиа для теста есть только на одном из бекэндов. Но надо сделать, чтобы вся media была на фронтенде.
Как мне реализовать, чтобы Apache'и забирали и складывали media с/на фронтенд?
Каким способом мне подключить фронтенд сервер (а именно папку media) в settings.py у бекенда?http? ssh? nfs?
Или можно это как-то реализовать через сам nginx?Может быть, через рерайты?
Спасибо за Ваши отзывы и ответы, п.с. конфигурация nginx:
front.test:
upstream backend {
ip_hash;
server 192.168.0.231:8080;
server 192.168.0.232:8080 down;
server 192.168.0.233:8080 down;
}
server {
listen 80;
server_name web.ru;
location ~ /\.ht {
deny all;
}
# location ~*\.(bmp|class|css|doc|flv|gif|ico|jpg|jpeg|js|mov|mp3|pdf|png|ppt|rtf|swf|txt|xls|xml|eot|otf|svg|ttf|$
# root /home/user/app/;
#}
location ~ ^/(media|static) {
root /home/user/app/;
}
location / {
client_max_body_size 101m;
client_body_buffer_size 128k;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 30s;
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location = /50x.html {
root /usr/share/nginx/html;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
}
часть settings.py на бекэнде
....
MEDIA_URL = '/media/'
MEDIA_ROOT = '/home/userbackend/app'
....