本週末我在服務器上部署了我的第一個django應用程序。這是明確的VPS服務器,所以我必須安裝PostgreSQL,PostGIS,設置virtualenv等。製作應用程序需要一些時間。從服務器註銷AJAX請求無法正常使用gunicorn
在Django開發服務器一切正常,但是當我部署我的應用程序gunicorn(nginx的合作)的VPS服務器的AJAX請求不能正常工作。我有三個AJAX請求在另一個之後發送。只有一個或兩個請求返回值。所以我發現GEVENT和這個線程(Django AJAX requests during regular request not going through),並通過以下命令運行gunicorn:
gunicorn myapp:wsgi:application --bind 0.0.0.0:9000 -k gevent --worker-connections 1001 --workers=3
和它的作品。所有的請求返回值,一切看起來不錯。所以我把進程放到後臺並從服務器註銷。
但每次從服務器註銷時,請求都停止工作。行爲與沒有gevent的第一時間相同。可能是激活虛擬環境的問題,設置還是這是Ubuntu作爲服務器的標準行爲?
我甚至不知道我應該在哪裏找到解決辦法,所以我會很高興的任何幫助。
如何將過程放到背景中?我建議你使用主管,如果需要的話,他將運行並重啓gunicorn。 –
不,我只是按CTRL + Z並寫下bg。如何從dahrens中看到答案可能很糟糕。服務器和應用程序仍在工作,但請求無法正常工作。所以我沒有想到將問題推到背景 – Bulva
因此,如果我理解得很好,這是因爲gevent必須由Supervisor(或類似的東西)監控,這就是爲什麼應用程序仍然可以工作但請求不是。 – Bulva