
Actualmente estoy alojando una aplicación web Django en una instancia AWS EC2. Para ejecutarla en modo de producción, uso NGINX y gunicorn.
ElErroral que me enfrento es:
El servidor de producción no parece actualizar urls.py, no importa lo que haga
Aplicación utilizada para transferir archivos desde un archivo local a una instancia:ArchivoZilla
Pasos que he tomado para intentar resolver el problema:
Eliminar el urls.py y reescribirlo
Comprobar si otros archivos también se niegan a actualizarse
RESULTADO del segundo paso: otros archivos se actualizan correctamente, probé con archivos estáticos y con index.html
Comprobando si el archivo está actualizado en la instancia usandoElnanoeditor
RESULTADO del tercer paso: el archivo se actualiza correctamente en la instancia y se reflejan todos los cambios
Lo ejecuté en la instancia usando
python manage.py runserver
(para fines de desarrollo) y descubrí que urls.py se actualiza correctamente cuando se usa RunServer.
Otra información:
1. Todo se estaba actualizando correctamente ayer, pero de repente decide actuar de forma rebelde.
He actualizado todos los paquetes usando
sudo yum install
He reiniciado nginx y gunicorn: usando comandos como:
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
sudo systemctl restart nginx
Intenté buscar errores usando
sudo nginx -t
, pero no aparece ningún errorRevisé los registros de errores usando
sudo tail -f /var/log/nginx/error.log
, pero tampoco aparecen errores
aquí
¿Cómo puedo solucionar esto?
Gracias
Respuesta1
Ok, encontré la solución.
Pasos seguidos para solucionarlo:
Intenté usarlo
python3 manage.py runserver
en mi instancia y descubrí que los archivos se actualizaron bien, por lo tanto, el problema estaba en el lado de producción.Descubrí que solo se estaban actualizando archivos estáticos y html (nginx los sirve), por lo que el problema no estaba en eso.
Estaba usando gunicorn para ayudar con views.py y urls.py y otros archivos similares, por lo que el problema podría estar en gunicorn.
SOLUCIÓN FINAL:
Entonces ejecuté el comando sudo systemctl restart gunicorn
y el código funcionó perfectamente.