2012-03-25 18 views
7

Uso una máquina con Windows y tengo un proyecto Django que he implementado exitosamente en Heroku, aunque usando el servidor de desarrollo. Para usar un servidor de producción, Heroku parece necesitar 'Gunicorn', que no se ejecuta en Windows.Implementando Django a Heroku usando una máquina Windows (Servidor de producción NO servidor de desarrollo)

Esto no es bueno para probar localmente antes de la implementación. ¿Alguien sabe de alguna forma de evitar esto? Tal vez alguna forma de usar un servidor diferente en Heroku?

Respuesta

4

he encontrado una solución que puede ayudar a la hora de desplegar heroku utilizando una máquina Windows. Aquí es lo que hago:

Utilice el servidor de desarrollo a nivel local con:

python manage.py runserver 

Instalar y añadir 'Gunicorn' a las aplicaciones instaladas en settings.py.

Agregue un archivo de proceso en el directorio raíz que le dice a heroku que use el servidor de Gunicorn. Este es un archivo llamado 'Procfile' con el siguiente código:

web: python kalail/manage.py run_gunicorn --bind=0.0.0.0:$PORT 

De esta manera se prueba utilizando el servidor de desarrollo, mientras que heroku utiliza el servidor Gunicorn. Después de esto, asegúrese de configurar los archivos estáticos (css/js/imgs), ya que solo el servidor de desarrollo sirve automáticamente los archivos estáticos, y el servidor de Gunicorn deberá estar configurado para hacerlo.

1

puede ejecutar el servidor de desarrollo local con bastante facilidad:

> python manage.py runserver 
+2

Tal vez no era lo suficientemente claro. Puedo ejecutar el servidor de desarrollo con la suficiente facilidad, está usando un servidor de producción localmente en Windows, así que puedo probar antes de presionar a Heroku. Esto es un problema porque Gunicorn no se ejecuta en Windows. – Kalail

0

Todo lo que necesita hacer es especificar ruta de acceso a wsgi script desde el directorio raíz:

$web: gunicorn hellodjango.wsgi

Cuestiones relacionadas