mod_wsgi 공식 문서의 내용 중 이런 질문이 있다. "WSGI 응용 프로그램의 Python 소스가 변경될 때마다 아파치를 재시작해야하나요?"(https://modwsgi.readthedocs.io/en/master/user-guides/frequently-asked-questions.html?highlight=touch#application-reloading)
기존에 나는 config 파일, app.py(Flask 객체가 있는 파일)을 제외하고는 'touch -c app.wsgi'를 사용하여 잘 수정하고는 했다. 그러나 기본적으로 작동한는 원리에 대한 확인이 필요하였다.
위 질문에 대한 답은 "WSGI 응용 프로그램이 WSGI 스크립트 파일 내에 완전히 포함되어 있고 변경중인 파일 인 경우에는 그렇지 않습니다. 이 경우 WSGI 스크립트 파일은 스크립트 다시로드가 비활성화되지 않은 경우 변경 사항이있을 때 자동으로 다시로드됩니다."
정확하게 이해가 되진 않지만, 결론적으로는 아파치를 재시작하지 않고 변경이 가능하다.
문서 내용을 더 살펴보면 mod_wsgi의 embedded mode에서는 변경사항 적용을 위해서는 아파치를 재시작하는 방법 밖에는 없다.
daemon mode에서는 프로세스 수와 상관없이 mod_wsgi2.0의 reload machanism 이 활성화 되어있으면 wsgi 스크립트 파일을 'touch'하여 수정시간을 업데이트하면 데몬 프로세스가 자동으로 종료되고 다음 요청을 받을때 다시 시작할 수 있다.(https://modwsgi.readthedocs.io/en/master/user-guides/reloading-source-code.html)
추가로 확인해야할 점
※ 틀린 정보는 댓글 남겨주시면 수정하겠습니다^^