Estoy configurando un servidor con Nginx que redirige subdominios a sitios web (hechos con Django) en servidores distantes (en la misma red local). Funciona bien para servir el contenido de cada sitio, pero tengo problemas para servir archivos estáticos y multimedia (por ejemplo, css). Aquí está el contenido del archivo de configuración:
server { listen 80; server_name myaddress.fr location / { proxy_pass http://192.168.0.85:8000; } }Y aquí está el final de settings.py en el sitio web de Django (que se escucha en 192.168.0.85:8000):
STATIC_ROOT = os.path.join(BASE_DIR, "static") STATIC_URL = '/static/' MEDIA_ROOT = os.path.join(BASE_DIR, "media") MEDIA_URL = '/media/'Por lo general, cuando mis sitios web están en el mismo servidor que nginx, solo tengo que agregar estas líneas al archivo conf de nginx:
location /media/ { alias /local/path/to/media/; } location /static/ { alias /local/path/to/static/; }¿Cómo puedo generalizar esta configuración para servir archivos multimedia y estáticos en un servidor distante (aquí en 192.168.0.85)? ¿Debo instalar otro servidor web en la máquina distante?
¡Gracias de antemano por tu ayuda!
Necesita alguna forma de proporcionar una ruta para mostrar esos archivos.
Una forma de hacerlo sería instalar nginx en los servidores remotos y utilizarlo como proxy tal como lo hace con la propia aplicación.
Una alternativa, ya que dices que todo esto está dentro de la misma red local. sería usar algo como NFS para montar los directorios estáticos en el servidor proxy, de modo que el nginx existente pueda atenderlos directamente.
Una opción similar sería configurar la aplicación staticfiles, así como el almacenamiento de archivos subidos por el usuario, para guardar sus archivos directamente en el proxy.