Urls.py not updating on Django production server , which uses nginx and gunicorn
I am currently hosting a Django Webapp on an AWS EC2 instance, To run it in production mode I use NGINX and gunicorn.
The Error that I am facing is:
The production server doesnt seem to update urls.py, no matter what I do
App used to transfer files from local file to instance : FileZilla
Steps that I have taken trying to solve the issue:
-
Deleting the urls.py and rewriting it
-
Checking if other files also refuse to get updated
RESULT of 2nd step: Other files are successfully getting updated, I tested with static files and with index.html
-
Checking if the file is updated in the instance using The nano editor
RESULT of 3rd step: The file is properly updated in the instance, with all changes being reflected
-
Running it on the instance using
python manage.py runserver
(for development purposes), and found out that the urls.py is getting updated properly when using runserver
Other Information:
1.Everything was getting updated properly just yesterday, but suddenly it decides to act rebellious
-
I have updated all packages using
sudo yum install
-
I have restarted nginx and gunicorn: using commands such as :
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
sudo systemctl restart nginx
-
I have tried checking for errors using
sudo nginx -t
, but no errors show up -
I've checked the error logs, using
sudo tail -f /var/log/nginx/error.log
, but no errors show
up here either
How do I solve this?
Thank you
Ok so I found the solution.
Steps taken to solve it:
-
I tried to use
python3 manage.py runserver
on my instance, and found out that the files were updated fine , therefore the issue was with the production side -
I figured out that only static and html files were being updated (nginx serves those) , so the problem was not with that
-
I was using gunicorn to help with the views.py and urls.py and other such files, so the problem could be with gunicorn
FINAL SOLUTION:
So I ran the command sudo systemctl restart gunicorn
, and the code worked perfectly