¿Es posible ejecutar un código Python desde un servidor como GoDaddy?

¡Creo que esta respuesta en SO será suficiente para sus necesidades!

Fuente | Chris

Para referencia futura, como supongo que ha seguido adelante …

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 ~/codeTenga 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

Sí, puede configurar todo el entorno de Python con GoDaddy VPS. Obtenga una solución de alojamiento de VPS administrada: GoDaddy IN. Se le dará acceso de root a una máquina. para que pueda configurar el servidor apache para servir el código pyyhon con django o matraz de trabajo de marco.

Si tiene privilegios de root, puede ejecutar código desde cualquier servidor de la compañía.