Cómo instalar y desplegar una aplicación Python con Unidad Nginx en DirectAdmin
Prepara una aplicación Python WSGI, selecciona su versión y punto de entrada en Unidad Nginx y comprueba la ruta. Requiere Terminal/SSH.
Unidad Nginx ejecuta aplicaciones Python desde DirectAdmin. Esta guía utiliza una aplicación WSGI sencilla, sin paquetes adicionales, que permite comprobar el procedimiento completo antes de desplegar un proyecto con más dependencias.
La dirección del panel, el nombre del servidor, el dominio, el usuario, las versiones, los límites y las herramientas disponibles pueden variar según tu servicio. Utiliza los datos del correo de alta de tu hosting.
Para abrir la consola del panel y orientarte entre carpetas, consulta Cómo utilizar el terminal incluido en DirectAdmin
1. Comprueba Python y prepara los archivos
Abre Información y archivos → Terminal, conecta la consola y ejecuta python3 --version. Después comprueba las versiones Python ofrecidas al crear la aplicación en Unidad Nginx. El intérprete del proyecto y el módulo elegido deben ser compatibles; tener python3 en Terminal no garantiza que cualquier versión esté disponible en Unidad Nginx.
Crea una carpeta nueva fuera de public_html. Sustituye tudominio.example por el dominio real de tu cuenta:
DOMINIO="tudominio.example"
mkdir "$HOME/domains/$DOMINIO/python-tutorial"
cd "$HOME/domains/$DOMINIO/python-tutorial"En el Administrador de archivos abre esa carpeta, crea wsgi.py y guarda el siguiente contenido:
def application(environ, start_response):
body = 'Aplicacion Python funcionando con Unidad Nginx\n'.encode('utf-8')
start_response('200 OK', [
('Content-Type', 'text/plain; charset=utf-8'),
('Content-Length', str(len(body))),
])
return [body]El archivo define application, la función WSGI que Unidad Nginx llamará para atender cada solicitud. Este ejemplo utiliza únicamente la biblioteca estándar de Python.
2. Configura la aplicación en el panel
En el escritorio abre Funciones Avanzadas → Unidad Nginx y pulsa Crear Aplicación.
Nombre: pythontutorial. Utiliza un nombre sencillo, sin espacios ni guiones.
Tipo: Python.
Versión: selecciona la versión disponible que corresponda al proyecto. En las capturas se utiliza Python 3.10; las opciones pueden variar según el servicio.
Ruta: la carpeta que contiene wsgi.py, por ejemplo /domains/TU_DOMINIO/python-tutorial/ en el selector del panel.
Modulo: wsgi, sin añadir .py.
Llamable: application, exactamente como se llama la función en wsgi.py.
Pulsa Crear y espera la confirmación. Comprueba que pythontutorial aparece en la lista con el directorio correcto. Al abrir su configuración podrás revisar Ruta, Modulo y Llamable.

Si tu proyecto requiere paquetes externos, prepara previamente un entorno virtual con la misma versión mayor y menor de Python que el módulo de Unidad Nginx. Instala en él las dependencias del proyecto y utiliza Inicio, en la configuración de la aplicación, para indicar la ruta de ese entorno. El ejemplo de este artículo no necesita ese campo. Una aplicación ASGI requiere su configuración específica; no cambies solamente el nombre de su archivo para tratarla como WSGI.
3. Vincula una ruta a la aplicación
En Unidad Nginx pulsa Crear Ruta, selecciona pythontutorial en Aplicación y revisa la pestaña JSON. Para atender únicamente /python-tutorial/, la regla debe relacionar ese prefijo con la aplicación:
[
{
"match": {"uri": "/python-tutorial/*"},
"action": {"pass": "applications/tudominio.example_pythontutorial"}
}
]Reemplaza tudominio.example por tu dominio y utiliza el identificador de aplicación propuesto por el panel. Conserva las reglas preexistentes; si ya hay una lista, añade la entrada correspondiente sin borrar las demás. Revisa que match.uri limite las solicitudes al prefijo que deseas utilizar.

Pulsa Crear o Guardar y espera a que la configuración web se aplique. La ruta del dominio debe figurar en Rutas.
4. Verifica el despliegue
Abre la dirección HTTPS de tu dominio terminada en /python-tutorial/. La aplicación de este artículo responde:
Aplicacion Python funcionando con Unidad NginxSi recibes 404, revisa el dominio, la URL y la coincidencia de la ruta. Si hay un error al iniciar, comprueba la versión Python, la carpeta, el módulo sin extensión, el nombre de la función y las dependencias. Un error al guardar exige corregir primero el dato señalado por el panel.
Unidad Nginx administra los procesos de la aplicación; puedes cerrar Terminal después de comprobar el resultado. Si el módulo Python necesario no está disponible, consulta las opciones de tu hosting con soporte.
