我有一個運行gunicorn的Django應用程序 - 我現在想用waitress替換它。很簡單,我通過apt-get install python-waitress
安裝了服務員,並通過waitress-serve --port=8080 myproject.wsgi:application
運行。構建蟒蛇服務員的Upstart文件
現在我想設置這個通過Upstart文件(我在Ubuntu上)運行。我希望它在正常的運行級別2,3,4和5上運行,並在其他任何運行級別(如系統重新啓動,關閉或單用戶時)中停止運行。我也希望Upstart在失敗時自動重啓服務。最後但並非最不重要,我需要waitress
運行在端口80上,而不是端口8080上。
我的問題是:如何構建我的Upstart文件以反映這些要求?還有其他的內容會有幫助嗎?請指教;這是我的主要生產服務器。
其次,根據waitress
本身,除了能夠使用SSL以外,使用反向代理(如Nginx
)和waitress
有什麼優勢?我的應用程序是一個閱讀繁瑣的Django網絡應用程序,用戶可以在其中互相聚集和聊天。
三木感謝對主管的職位。關於nginx,作爲女服務員的反向代理,我問了這個問題,因爲(i)我讀了這篇文章,聲稱女服務員是一個足夠好的生產級獨立服務器:http://blog.etianen.com/blog/2014/01/ 19/gunicorn-heroku-django /,以及(ii)有人提到使用nginx與女服務員的唯一原因是因爲https支持:http://stackoverflow.com/questions/19462959/i-can-not-connect-to -https-waitress-wsgi-server –
沒有我自己用過女服務員但是我會想象nginx會提供更高性能的服務靜態文件和其他東西nginx很像負載平衡等。它也有一些基本的工具來防禦DDOS等附加,因爲它可以更有效地管理內存。但在一天結束時,我認爲你應該使用任何適合你的作品。我會給nginx一個試試 – miki725
是的,我已經採取了你的建議,並深入潛水設置nginx + gunicorn。一切工作在那裏,除了當我嘗試訪問一些數據庫記錄,我得到一個**無效輸入語法的類型inet **錯誤。如果你能幫忙,快速瀏覽一下我剛剛打開的單獨問題:http://stackoverflow.com/questions/34238623/invalid-input-syntax-for-type-inet-db-error-in-django-app -with-的Postgres和區 –