¡Creo que esta respuesta en SO será suficiente para sus necesidades!
Fuente | Chris
Para referencia futura, como supongo que ha seguido adelante …
- Cómo hacer un servidor CS 1.6 en un rastreador de juegos
- ¿Alguien puede darme alguna orientación sobre cómo cobran los colos por el espacio en rack y el poder?
- ¿Cómo se conectan los servidores a internet?
- ¿Cuál es el mejor lugar para comprender los idiomas del lado del servidor y cómo funcionan? Además, ¿cuál es el mejor lugar para aprender conceptos PHP y cómo funcionan?
- ¿Cuáles son las ventajas y desventajas de las diferentes arquitecturas de cometas?
Es posible usar Django en el alojamiento GoDaddy, usando VirtualEnv como lo recomiendan. Python 2.7 está instalado de forma nativa y funciona bien, aunque no es la versión predeterminada para ejecutarse.
- Habilite el acceso SSH en su sitio.
- Use el panel de alojamiento para configurar su base de datos MySQL inicial. No necesita ninguna entrada, solo asegúrese de que exista y anote la información de conexión.
- SSH, descargue VirtualEnv.py. Puede obtener el tarball completo, pero solo necesita el archivo único.
- Ejecute ‘ /usr/bin/python2.7 http://virtualenv.py –system-site-packages your_new_env ‘
- Ejecute ‘
source your_new_env/bin/activate
‘- Ejecute ‘
pip install django
‘- Ahora puede seguir los tutoriales de django directamente, excepto, por supuesto, no usar runserver (ya que tiene un servidor web en ejecución)
Esto funciona para mí en una cuenta de lujo, aunque todavía recomendaría que cualquiera que definitivamente quiera usar Django busque un alojamiento alternativo. GoDaddy no es muy amigable, y no estoy seguro de que todo siga funcionando.
EDITAR
Me di cuenta de que también puede haber cierta confusión sobre cómo hacer que Django se ejecute normalmente dentro de Apache, sin las opciones regulares
mod_*
. Este fue mi enfoque:
- Cree su 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 el siguiente script ‘
django_cgi.py
‘ dentro de~/code
(¡ Tenga en cuenta la ruta de Python! ):#! ~ / your_new_env / bin / python sys de importación, os # Agregue una ruta de Python personalizada para su proyecto sys.path.insert (0, "/ must / be / full / path / to / code / yoursite") # Establezca la variable de entorno DJANGO_SETTINGS_MODULE. # Esto debe coincidir con el nombre del proyecto que agregó a la ruta anterior os.environ ['DJANGO_SETTINGS_MODULE'] = 'yoursite.settings' de django.core.servers.fastcgi import runfastcgi runfastcgi (método = "enhebrado", daemonize = "falso")
- Dentro de
~/html
, cree o edite el archivo.htaccess
con alguna variante de lo siguiente:RewriteEngine On RewriteCond% {REQUEST_URI}! = / Mysite.cgi RewriteRule ^ (. *) $ /Mysite.cgi [QSA, L, PT]
- Finalmente, cree
~/html/mysite.cgi
siguiente manera:#! / bin / sh ~ / your_new_env / bin / python ~ / code / django_cgi.py 2> & 1
- Asegúrese de que todo se modifique adecuadamente (755)
Esto está demasiado simplificado pero es funcional, y debería dar lugar a que cada solicitud de cualquier página o archivo se pase a Django.
La razón de esta solución es que GoDaddy solo proporciona soporte CGI nativo para versiones antiguas 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 solo asegura que todo el tráfico pase por Django.
Referencias
Django con FastCGI
Inicio de los tutoriales de Django
VirtualEnv