Cómo servir contenido estático con Apache en AppFog (aplicación WSGI Python)

Estoy usando el sistema AppFog PaaS por unos días, y me encanta. Es probablemente el mejor sistema PaaS que he probado (he usado otros 3 anteriormente), pero no encontré información sobre cómo servir la estática. contenido con el servidor web en la interfaz (Apache https o nginx) No estoy seguro de qué servidor se está utilizando.

Mi aplicación es un WSGI de Python con CherryPy y funciona perfectamente en AppFog pero no quiero que CherryPy sirva contenido estático, creo que Apache httpd o nginx es una mejor opción para eso.

¡Con el soporte de Ryan, finalmente puedo cargar archivos estáticos! Aquí están los pasos:

  1. Se creó un directorio ‘estático’ en la raíz del proyecto: aquí se recostackrán todos los archivos estáticos ejecutando el comando collectstatic .

  2. Edite el archivo settings.py :

    STATIC_ROOT = os.path.join (os.path.abspath (os.path.dirname ( archivo )), ‘../static’) # ¡Puede cambiar dependiendo de dónde esté el archivo settings.py!

    STATIC_URL = ‘/ static /’

  3. Agregue la siguiente línea en la variable urlpatterns en el archivo urls.py :

    url (r ‘^ static / (? P. *) $’, ‘django.views.static.serve’, {‘document_root’: settings.STATIC_ROOT}),

  4. Finalmente, ejecute el comando collectstatic en su máquina local. Esto copiará todos los archivos estáticos de las aplicaciones que está utilizando:

    python manage.py collectstatic

Eso es. Empuje en FA 🙂

Desventaja: Necesitamos ejecutar collectstatic cada vez que tengamos un nuevo archivo estático …

Edite su archivo nginx.conf. En la sección del servidor ingrese …

  # serve static files location ~ ^/(images|javascript|css)/ { root /var/www/html/appname; } 

imagenes, javascript y css serían carpetas en su carpeta de raíz de documentos. Actualice todas sus direcciones URL en consecuencia.