Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

401
Vistas
Implementación de una aplicación Django (Apache, Passenger, Virtualenv)

Estoy atascado en la implementación de mi aplicación Django en funcionamiento en un servidor PLESK de producción. El proyecto se puede iniciar con éxito como un servidor de desarrollo escribiendo:

 httpdocs# cd mysite httpdocs/mysite# source myvenv/bin/activate httpdocs/mysite# export LD_LIBRARY_PATH="/usr/local/lib" httpdocs/mysite# python manage.py runserver <freyt.de>:8000

Luego, si apunto el navegador a freyt.de:8000, puedo ver mi aplicación. Bien. En este momento, estoy tratando de llamar a mi aplicación por Pasajero desde Apache. Al verificar con "passenger-config restart-app", parece que se ejecuta, pero cuando curl freyt.de me muestra html con 403 Forbidden. Entonces, asumo que mi aplicación Django no se inicia correctamente.

Esta es mi estructura de carpetas actual:

Estructura de carpetas

Ya ajusté algunos temas en PLESK de la siguiente manera:

  • Servidor web Apache: wsgi está activado

  • Creé un plan de servicio y lo suscribí con mi dominio freyt.de

  • En el Plan de servicio en la pestaña "Servidor web", agregué directivas adicionales para HTTP de la siguiente manera.

 PassengerEnabled On PassengerAppType wsgi PassengerStartupFile passenger_wsgi.py
  • En el Plan de servicio, en "Parámetros de alojamiento", habilité el acceso SSH al shell del servidor: /bin/bash

  • Para el "Dominio", configuré la raíz del documento en "..httpdocs/public". También agregué en "Apache & nginx Settings" las mismas directivas. (También probé sin, pero no parece tener efecto).

Algunos detalles en Document Root:

  • Agregué .htaccess en público nuevamente con las mismas directivas (solo para probar). No hay otros archivos en público.

  • Mi Passenger_wsgi.py contiene, lo que parece estar bien:

 import sys, os cwd = os.getcwd() sys.path.append(cwd) sys.path.append(cwd + '/mysite') if sys.version < "2.7.9": os.execl(cwd + "/mysite/myvenv/bin/python", "python3.6", *sys.argv) sys.path.insert(0, cwd + '/mysite/myvenv/bin') sys.path.insert(0, cwd + '/mysite/myvenv/lib/python3.6') #sys.path.insert(0, cwd + '/mysite/myvenv/lib/python3.6/site-packages/django') sys.path.insert(0, cwd + '/mysite/myvenv/lib/python3.6/site-packages') os.environ['DJANGO_SETTINGS_MODULE'] = "mysite.settings" from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
  • El archivo mysite/mysite/wsgi.py está intacto:
 import os from django.core.wsgi import get_wsgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') application = get_wsgi_application()

Sería genial, si alguien pudiera señalarme en la dirección correcta. Creo que es solo un pequeño error en alguna parte :-) Gracias de antemano.

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda