首頁 >後端開發 >Python教學 >python web為什麼不火

python web為什麼不火

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-08-01 15:53:343935瀏覽

python web為什麼不火

PHP 從語言層面上講幾乎是一無是處,具體實現的品質也乏善可陳,但它勝在最要命的部署上:沒有任何其他語言有像PHP 一樣適合大規模部署的方式。基本上裝好 Apache/mod_php 之後,PHP 應用的部署簡化為了複製檔案。

即使是考慮到效能原因等採用 nginx/FastCGI 等替代方式,額外的工作也只是在於最初配置。一旦配置完成,之後的部署都是檔案複製。伺服器重新啟動後通常會自動啟動 apache/nginx,fastcgi manager 負責啟動 php-cgi 進程等,而 PHP 應用程式基於檔案的呼叫方式並不需要操心更多的維護。

這對於如 Dreamhost 之類的虛擬主機平台來說至關重要:他們通常要一台伺服器處理成千上萬的低流量用戶,而且這些用戶沒有 root 權限去運行其他進程。

相關推薦:《Python影片教學

PHP 腳本的生命週期很短,沒有常駐進程,每次呼叫之後就被終止,對於應用作者的要求更低,不用太多的考慮資源管理問題。

這和Python 之流的部署有天壤之別:大部分Python 的網路應用如Django, Tornado 等都需要單獨的常駐進程(Apache/mod_python 似乎是個杯具,而且早就不再更新了)。

這些進程需要額外的維護工作以管理其啟動、停止,也需要額外的監控進程處理意外退出後的重新啟動。這需要使用者對系統有更深入的了解。

常駐進程需要佔用系統內存,通常不可能在一台伺服器上運行成百上千個應用,對於Dreamhost 這樣的服務提供者來說不適合用來處理諸如WordPress 博客之類的簡單應用。常駐進程也要求作者對系統資源的管理、垃圾回收機制等有更深入的了解以避免記憶體外洩、資源佔用過度等問題。

現在Python 網路應用部署最簡單的應該是App Engine,採用了類似PHP 的生命週期(請求處理30 秒限制,超時被終止,無法運行常駐進程),極大簡化了管理難度,但國內無法訪問…

所以從流行程度上講,Python 不會超過PHP,因為數量龐大的服務提供者無法用Python 支撐現有的用戶規模。但是這個流行程度對於新創公司、專業人士來說沒有什麼意義。許多核心的網路應用不適合用 PHP 的短暫請求處理機制實作(例如準即時 push 提醒、網頁即時聊天等),而更適合由常駐進程來處理。這些才是 Python,Ruby 等語言實作發揮其能量的地方。

Python 的強大之處在於語言的簡潔與優雅,以及它強大的表達能力。 Hacker 們願意用 Python 來作為他們表達思考的方式。

在 Web 開發上面,Python部署成問題,但是對於商業網站而言,自己處理一台 VPS 不成問題。而 Python的通用性,能保證完成各種非常規的應用。

簡單來說,如果你只是需要 Web1.0 的內容展示網站,考慮php。而 Web2.0,可以考慮 Python,以及RoR。

以上是python web為什麼不火的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn