12

I'm working on a Django webapp that's running under nginx and uWSGI. When I deploy new Django code (e.g., settings.py), do I need to restart uWSGI? If so, why?

Background: I had a scenario where I updated settings.py and some other code and deployed it. I did not see the changes in the webapp behavior until I restarted uWSGI.

Rob Bednark
  • 25,981
  • 23
  • 80
  • 125

1 Answers1

18

Yes, you need to restart the uWSGI process.

Python keeps the compiled code in memory so it won't get re-read until the process restarts. The django development server (manage.py runserver) actively monitors files for changes, but that won't happen by default with other servers. If you want to enable automatic reloading in uWSGI, the touch-reload and py-auto-reload uWSGI arguments might help.

laike9m
  • 18,344
  • 20
  • 107
  • 140
Nathan Jhaveri
  • 1,834
  • 1
  • 15
  • 17