Tengo un Ubuntu VirtualBox configurado por Vagrant. Está ejecutando NGINX para servir algunos archivos estáticos y una aplicación Django.
Tengo la carpeta de origen sincronizada a través de Vagrant con el repositorio en mi host (Windows). Puedo realizar cambios en un archivo de Javascript en Windows y verificar que los cambios se realicen en mi archivo en la máquina virtual mediante SSH y abriendo el archivo en nano.
Sin embargo, cuando realizo los cambios de forma remota, NGINX parece mostrar la versión sin cambios con caracteres "ilegales" agregados al final (lo que realmente asusta a los navegadores). Obtengo el mismo archivo cuando CURL localhost mientras ssh'd en el vm. EDITAR De hecho, hace lo mismo cuando edito el archivo a través de SSH
Puedo recargar la máquina virtual a través de vagabundo (que vuelve a sincronizar las carpetas) y funciona bien hasta el próximo cambio remoto.
Reiniciar nginx y gunicorn no ayuda.
¿Vagrant bloquea los archivos para que nginx tenga que depender de un caché? ¿Qué podría estar pasando aquí?
¡Gracias!
Aparentemente mi compañero de trabajo tiene mejor Google-foo que yo.
Aparentemente, este es un problema conocido con virtualbox y nginx que tiene que ver con el archivo de envío de nginx. Simplemente puede agregar "sendfile off;" en su servidor o bloques de ubicación en la configuración de nginx. Aquí hay una publicación de blog al respecto: archivos estáticos de nginx virtualbox