subir proyecto elastic awsebcli aws aplicaciones django hosting amazon-ec2

django - proyecto - python en aplicaciones web



¿Cómo configurar el sitio web de Django en el alojamiento de Amazon EC2? (4)

Ciertamente es posible, pero parece que EC2 no es la mejor opción para ti. Para ver ejemplos de personas que lo hacen, busca "django ec2" en google y echa un vistazo al primer y segundo enlace. enlaces como this o this (editado porque esta pregunta ahora es el resultado de google superior para esa consulta!)

En un sentido muy simplificado, EC2 es solo un servidor que puedes alquilar por hora. Puede hacer que ejecute windows o linux, y luego instalar python y django como lo haría normalmente. De hecho, es probable que haya una imagen que ya tiene Django preconfigurado. ¿En qué etapa de tu proyecto estás? Solo investigando, ¿o te has visto atrapado en un problema en particular con django o ec2?

ACTUALIZACIÓN: Ok, creo que lo que te confunde es que hay diferentes tipos de hosting por ahí. En un extremo, puedes pagar tu propio servidor físico, instalar tu propio sistema operativo (como Windows o Linux), instalar tu propia python, tu propio servidor web como apache o IIS, tus propias librerías django, tu propia base de datos (como mysql) etc., y luego suba su sitio web a eso. En el otro extremo, puede pagar una cuenta en un servicio de alojamiento compartido, donde otra persona ha configurado todo el sistema operativo, el python, el servidor web, etc., y todo lo que necesita hacer es cargar el código de su sitio web. EC2 está mucho más cerca del primer extremo, y probablemente sea excesivo para ti. Creo que en su caso debería buscar una solución más administrada.
Verificaría esta página web, que enumera una serie de diferentes compañías de alojamiento de django: Django hosting

¿Puede alguien dar pasos específicos sobre cómo implementar el alojamiento de un sitio web basado en Django utilizando el servicio de alojamiento Amazon EC2?

¿Es eso posible?

El código fuente de mi sitio web se puede encontrar here

Me di cuenta y encontré este article

Pero antes de hacer algo, solo quiero obtener algunas ideas básicas sobre el alojamiento de Amazon EC2.


He alojado mi propio sitio web django en la instancia de AWS EC2 t2.micro (nivel libre de AWS). Usé Django 1.9 para este proyecto y MySQL como base de datos. Haga un túnel SSH a su instancia y siga los pasos:

  1. Instale apache2 y libapache2-mod-wsgi en su instancia:

    sudo apt-get install apache2 libapache2-mod-wsgi

  2. Instala django en tu instancia:

    sudo pip install django

  3. Instalar mysql:

    sudo apt-get install mysqldb

    sudo pip install mysql-python

    sudo apt-get install libmysqlclient-dev

(si no tienes pip instalado: sudo apt-get install python-pip )

  1. Configure mysql, para su proyecto django. Importe su proyecto django a /var/www/html . (Usar git es la mejor manera).

  2. Edite /etc/apache2/sites-available/000-default.conf :

    <VirtualHost *:80> Alias /static /path_to_my_static_folder <Directory /path_to_my_project_folder_containing_wsgi.py> <Files wsgi.py> Require all granted </Files> </Directory> WSGIDaemonProcess project_name python-path=/path_to/lib/python2.7/site-packages WSGIProcessGroup project_name WSGIScriptAlias / /path_to_wsgi.py </VirtualHost>

  3. Ejecute migrar para sincronizar db:

    python manage.py migrate

  4. Reinicie apache2:

    sudo service apache2 reload

Espero que no haya codificado su plantilla y rutas estáticas en settings.py, en caso afirmativo, cámbielo a ruta dinámica, o edítelo en consecuencia.

¡Eso es! Visite su IP pública o DNS para acceder a su sitio web de Django alojado en la instancia de AWS EC2.

Por favor comente a continuación si obtiene algún error.


Otra opción para usted si no desea ocuparse de la configuración de su servidor desde el principio es utilizar la imagen BitNami Django Stack de Amazon . Soy un desarrollador de BitNami y trabajé creando pilas para varias aplicaciones de Python. El BitNami Django Stack ya incluye MySQL 5.1, Apache 2.2 (con mod_wsgi) y Python con MarkDown, html5lib y python-openid instalados. También incluyó django 1.3.

Necesitarás instalar la barra de herramientas Dyango Debug, crear la base de datos y copiar tus archivos en / opt / bitnami / apps / django / django_projects y ejecutar los comandos de python manage.py. Después de eso, necesitará configurar apache para server su proyecto si desea usarlo en producción (en lugar del servidor django).

Antes de intentar implementar su aplicación directamente en la nube, puede usar los instaladores nativos y probar la implementación en su máquina local.

También tenemos una herramienta de estimación de costos . Esto es solo para obtener una idea aproximada para una configuración sencilla de EC2 / EBS, Amazon no siempre es tan caro como se puede esperar, aunque depende de muchos factores. (Aunque según sus comentarios parece que ya echó un vistazo a los costos).


Supongamos que está utilizando el servidor Apache en su instancia, la instrucción oficial en el sitio de Django funciona mejor que muchas publicaciones de blog. Esto es lo que copié del enlace: https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/

Edite y agregue el siguiente código a /etc/apache2/apache2.conf.

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py WSGIPythonPath /path/to/mysite.com <Directory /path/to/mysite.com/mysite> <Files wsgi.py> Order deny,allow Require all granted </Files> </Directory>