2012-09-30 56 views
22

Nunca antes implementé un sitio Django. Actualmente estoy buscando configurarlo en mi cuenta GoDaddy de lujo. ¿Alguien tiene alguna documentación sobre cómo instalar python y django en GoDaddy?Instalación de un sitio django en GoDaddy

+0

No es una buena idea ... eche un vistazo a http://openshift.redhat.com –

+1

El mejor soporte de Python es con Google App Engine. Hay muchos programadores de Python aquí en Stackoverflow ya que he observado el uso de GAE. Estoy seguro de que Django correrá sobre eso. https://developers.google.com/appengine/articles/django –

+0

Python es compatible con el alojamiento compartido Go Daddy Linux (pero no con el plan de nivel Economy). Sin embargo, Django no es compatible ya que mod_wsgi no está instalado en nuestro entorno de alojamiento compartido. –

Respuesta

34

Para futura referencia, ya que supongo que ha pasado ...

Es posible utilizar Django en GoDaddy de alojamiento, utilizando virtualenv que ellos recomiendan. Python 2.7 se instala de forma nativa y funciona bien, aunque no es la versión predeterminada que se ejecutará.

  • Habilite el acceso SSH en su sitio.
  • Utilice el panel de alojamiento para configurar su base de datos inicial de MySQL. No necesita ninguna entrada, solo asegúrese de que exista y anote la información de conexión.
  • SSH en, descargue VirtualEnv.py. Puede obtener todo el tarball, pero solo necesita el archivo único.
  • Run '/usr/bin/python2.7 virtualenv.py --system de sitio paquetes your_new_env'
  • Run 'your_new_env fuente/bin/Activar
  • Run 'PIP instalar Django'
  • Usted ahora puede seguir los tutoriales django directamente, excepto, por supuesto, no usando de ejecución del servidor (como ya tiene un servidor web en ejecución)

Esto funciona para mí en una cuenta de lujo, aunque aun así, recomendaría que cualquiera que definitivamente quiere utilizar Django busca alojamiento alternativo. GoDaddy no es muy amigable, y no estoy seguro de que todo continúe funcionando.


EDITAR

me di cuenta que también puede haber una cierta confusión en cómo llegar Django ejecuta normalmente en el interior de Apache, sin la mod_ regulares * opciones. Este fue mi enfoque:

  • Crea tu proyecto django en algún lugar fuera de la estructura de directorios html. Por ejemplo, ejecute django-admin en ~/code para crear ~/code/yoursite
  • Siga el proyecto normal y la configuración de la base de datos como se describe en los tutoriales de Django.
  • Desde su entorno virtual de python, ejecute 'pip install flup'.
  • Cree la siguiente secuencia de comandos 'django_cgi.py' dentro de ~/código (Anote la ruta pitón!):

    #!~/your_new_env/bin/python 
    import sys, os 
    
    # Add a custom Python path for your project 
    sys.path.insert(0, "/must/be/full/path/to/code/yoursite") 
    
    # Set the DJANGO_SETTINGS_MODULE environment variable. 
    # This should match the name for the project you added to the path above 
    os.environ['DJANGO_SETTINGS_MODULE'] = 'yoursite.settings' 
    
    from django.core.servers.fastcgi import runfastcgi 
    runfastcgi(method="threaded", daemonize="false") 
    
  • Dentro ~/html, crear o editar el archivo .htaccess con alguna variante de los siguientes:

    RewriteEngine On 
    RewriteCond %{REQUEST_URI} !=/mysite.cgi 
    RewriteRule ^(.*)$ /mysite.cgi [QSA,L,PT] 
    
  • Por último, cree ~/html/proyecto.cgi de la siguiente manera:

    #!/bin/sh 
    ~/your_new_env/bin/python ~/code/django_cgi.py 2>&1 
    
  • asegurarse de que todo está chmod'ed apropiada (755)

Esto es más simplificado, pero funcional, y debe dar lugar a todas las solicitudes de cualquier página o archivo que se hizo pasar a Django .

El motivo de este rodeo es que GoDaddy proporciona solo compatibilidad con CGI nativo para las versiones anteriores de Python que no podemos usar, por lo que debemos usar nuestro entorno virtual. Si bien no podemos usar eso directamente en los scripts CGI, afortunadamente podemos ejecutar un script de shell e invocarlo manualmente. La regla mod_rewrite simplemente asegura que todo el tráfico pase por Django.

Referencias
Django with FastCGI
Start of Django Tutorials
VirtualEnv

+0

Esto ayudó mucho, después de dos días insoportables de intentar instalar django en godaddy. gracias – alok

2

Según Godaddy, pueden usar Python 2.7.2, y puede programar si tiene una edición de lujo de su alojamiento web. La manera en que yo entiendo, pitón funcionará el momento de escribir la ubicación del directorio de la instalación de pitón en la primera fila:

#!/usr/local/bin/python2.7 

Pero, cuando traté de probarlo, no funciona. Activaba SSH en mi cuenta. Intenté conectarme con Putty, y funciona si lo ejecuto. Pero, el problema es que el sitio simplemente no aparece.

Traté de verificar cuál es la versión de Python. Descubrí que es Python 2.4.3. Entonces, intenté localizar su directorio. He encontrado que puede ser:

#!/usr/local/bin/python2.4 

O

#!/usr/local/bin/python2.4/site.py - (not sure) 

I intentado cada directorio y cambiado cada sintaxis posible. Nada funciona.

Aquí está el artículo de soporte de Python: http://support.godaddy.com/help/article/7254/can-i-use-python-272-with-my-hosting-account?locale=en

Por lo tanto, ninguna de las respuestas pueden ser correctas, de acuerdo con mi observación:

  • GoDaddy afirma que soportan Python. Pero no tienes la capacidad para apoyarlo.
  • Godaddy admite Python. Pero sus soportes tecnológicos no saben cómo funcionan sus servidores.
  • Godaddy afirma que es compatible con Python. Pero, realmente no lo hacen.

Pero antes de sacar conclusiones, he solicitado el cambio de mi Godaddy Python Server a 2.7. Actualizaré esta publicación una vez que me entere.

Actualización: GoDaddy afirma que usted puede ser capaz de ejecutar Python en el servidor privado virtual o servidor dedicado, que creo que es posible, ya que está ejecutando su propio ordenador. Técnicamente, puedes instalar cualquier cosa en tu propia computadora. Entonces, si Python se ejecuta, Django puede ejecutarse, pero dudo si saben cómo soportarlo.

+0

El soporte de Python no es suficiente para desplegar realmente Django en un servidor web de manera utilizable. Es posible que pueda servir a Django en un puerto con un número alto, pero eso no le servirá de nada en la mayoría de los casos. –

+0

Entiendo. Mi punto aquí es si tienen problemas para Python. ¿Qué más si es django? –

+0

Eso es desafortunado. Me inscribí en el lujoso porque me dijeron que podía manejar a Django. Es hora de buscar un nuevo hosting. –

2

No estoy familiarizado con la configuración de GoDaddy específicamente, pero en general, no puede instalar Django en alojamiento compartido a menos que sea compatible específicamente (a la Dreamhost). Entonces, a menos que GoDaddy mencione específicamente Django (o posiblemente mod_wsgi o algo así) en su documentación, lo cual es poco probable, puede suponer que no es compatible.

Teóricamente puede instalar Python y ejecutar Django desde cualquier lugar que tenga acceso al shell y permisos suficientes, pero no podrá realmente servir su sitio Django como parte de su alojamiento compartido (es decir, en el puerto 80 y respondiendo a su nombre de host seleccionado) porque no tiene acceso a la configuración del servidor web.

Necesitará un VPS (GoDaddy lo ofrece pero no es su actividad principal, Linode y Rackspace son otras opciones) o un host compartido que admita específicamente Django (por ejemplo, Dreamhost) o un host de aplicaciones (Heroku o Google App Engine).Recomiendo a Heroku personalmente, especialmente si no estás seguro de configurar y mantener tu propio servidor web.

1

Según otras respuestas, parece que el alojamiento compartido GoDaddy puede no ser realmente compatible con Django. Además, buscar "django" en el formulario de búsqueda no devuelve nada. Si ese es el caso, creo que su mejor opción sería utilizar una buena reputación de las empresas de alojamiento de Django enumeradas here y here.

0

Ésta es la forma en que lo hice.

  1. Crear en el servidor real (uno tiene acceso total a) de un chroot con CentOS 5.8
  2. instalar todos los paquetes necesarios allí, incluyendo sqlite3-devel, una pitón 2.7 se compila a sí mismo, virtuales env etc.
  3. Instale allí el django y configúrelo todo.
  4. Capture todo el chroot y cópielo en la máquina,
  5. Para la ejecución, simplemente use el virtualenv y funciona.

Vea el archivo léame aquí: https://github.com/lawrencecreates/RHEL5-chroot/blob/master/README También modifiqué el código de esa herramienta y es lo que usé.

Cuestiones relacionadas