導航:首頁 > 編程語言 > pythonwsgi例子

pythonwsgi例子

發布時間:2025-02-19 19:07:57

python怎麼運行cgi程序

如果是python2.X的話,可以使用modpython進行python的web編程。如果升級到python3.X的話,則可以使用wsgi。因為modpython不支持python3

在這里介紹使用cgi進行python的web編程,然後通過簡單的例子進行示範。

使用php編程的童鞋都知道,apache在運行php程序之前需要對apache進行配置。同樣,使用python也需要配置。

python的apache配置基本上四個步驟:

1、打開http.conf,找到 #ScriptInterpreterSource Registry,把前面的#去掉。如果沒有找到這句話,則自行添加。

2、找到AddHandler
cgi-script,去掉前面的#,在後面加上.py
3、找到Options Indexes FollowSymLinks,在其後加上ExecCGI, 去掉 Indexes
4、保存,重啟apache。

之後就可以進行python的編程了,編輯 p.py:

[python] view plain print?
#!D:\\software\python\python.exe
#encoding:gb2312
#import cgi, cgitb
print("Content-type:text/html\r\n\r\n")
print("<html>")
print("<head><title>Hello,python</title></head>")
a="100";
print("<body><h1>hello, i am " )
print(a)
print("</h1></body>")
print("</html>")

然後在瀏覽器中輸入: 127.0.0.1/p.py,就可以看到輸出了:
hello, i am 100

㈡ 如何使用Gunicorn的sync模式

Gunicorn作為Python HTTP應用程序中最受歡迎的WSGI伺服器之一,我們將深入了解其配置選項,特別是默認的worker類sync,以提高性能。

Gunicorn通常由一個主進程和多個工作進程組成。在選擇工作進程類型時,實際上是在選擇它們如何工作。對於sync模式,每個工作進程都有一個線程,該線程上請求是順序處理的。

我們將使用一個簡單的WSGI程序來測量sync模式的性能,該程序執行約1秒鍾的I/O受限或CPU受限工作。

使用Gunicorn的sync模式運行代碼後,我們可以使用一個簡單的負載生成器,如hey,來測試其性能。

安裝hey可能有些麻煩,但一個簡單的安裝方法是先安裝一個go編譯器,然後執行以下命令

我們可以看到10個請求是順序處理的。由於每個請求都是1秒鍾的I/O受限,所以服務只能處理1個請求/秒。由於沒有並發,最慢的響應需要10秒鍾。這與Gunicorn對sync工作進程的描述非常一致。

增加更多的worker數量可以處理更多的請求,但可能會耗盡內存。例如,單個Django worker進程可能需要大約100MB內存。因此,Gunicorn建議以(2 x $num_cores) + 1的worker數量為起點。

在Ubuntu上安裝smem時,默認是python2版本,運行時會報錯。可以下載最新支持python3版本的smem,替換/usr/bin/smem,然後就可以正常運行。

Gunicorn sync模式的性能取決於負載類型。我們對三種不同的工作負載進行了測試:純I/O、純CPU和90% I/O / 10% CPU混合。每個工作負載都用1到10個worker進行基準測試。

對於純I/O工作負載,隨著worker數量的增加,系統吞吐量也會增加。這種工作負載的例子包括爬蟲、發送簡訊或發送郵件。

對於純CPU工作負載,添加超過兩個worker進程根本不會提高吞吐量。這種工作負載的例子包括圖像處理或計算機視覺。

對於混合負載,即使只有10%的I/O受限也會大幅降低吞吐量。

在本地測試中,我發現當啟動8個CPU受限的worker時,40個並發請求處理時間為5秒。當啟動10個worker時,處理時間為4秒左右。當繼續增加worker數量時,響應時間沒有變化。這與其他測試結果有所不同,因此在性能調試時應根據自己的程序進行測試。

總結來說,如果吞吐量很重要,那麼任何CPU密集型的工作都不應有使用Python來做。即使在Gunicorn中使用sync模式是處理計算密集型任務的最佳方法,但這項測試表明它可能無法同時有效地利用所有CPU核。

另一個重要結論是,長時間的請求會佔用sync進程並降低吞吐量。正如Gunicorn文檔所述,當進行第三方請求的工作進程是不應該使用sync工作模式的。

默認的同步工作模式是假設程序是資源受限的。通常這表示程序不應進行需要不確定時間的操作,比如請求互聯網。在某些情況下,外部請求會以某種方式失敗,客戶端將在您的伺服器上堆積。因此,任何發出外部API請求的應用程序使用非同步工作進程將會更好。

然而,這與其他地方的描述自相矛盾。默認的同步工作模式可以處理大多數"正常"類型的工作負載。向其他伺服器發請求不是"正常"的Web應用程序嗎?如果吞吐量很重要,則應使用sync工作模式來獲得非常快的響應和合理的內存佔用。如果由於慢的第三方請求導致吞吐量低,則可以通過使用Celery任務隊列在WSGI請求-響應生命周期外運行這些請求。這樣,就可以很快向客戶端響應,後台可以等待慢的網路請求的調用。

㈢ 你都用Python 來做什麼

當我知道可以做這些之後,我特別想會。因為論文查閱、答案確認查詢;想知道豆瓣8分以上電影,或者穿越類的電影、處理工資數據考核表等。

可以干什麼

1、上學吧答案神器 主要實現的是無限制獲取上學吧網站上的題目答案(繞過 IP 限制),並實現了自動識別驗證碼,只用輸入某個題目的網址,即可一鍵獲取答案,速度非常快。「想要哈哈,自己或者給孩子輔導作業必備啊?」

2、抓取某系統內全部學生姓名學號及選課信息

3、掃描研究生系統上的弱密碼用戶、模擬登錄圖書館系統並自動續借

4、給釣魚網站批量提交垃圾信息 經常會收到含有釣魚網站鏈接的簡訊的,一般都是盜取 QQ 密碼的偏多,其實可以使用 Python 來批量給對方的伺服器提交垃圾數據(需要先抓包),這樣騙子看到信息之後就不知道哪些是真的哪些是假的了,說不定可以解救一部分填了密碼的同學。

5、網易雲音樂批量下載 可以批量下載網易雲音樂熱歌榜的歌曲,可以自己設定數量,速度非常快。

6、批量下載讀者雜志某一期的全部文章

7、 獲取城市PM2.5濃度和排名

8、爬取某網商品價格信息

你都用 Python 來做什麼?

那Python 作為一種功能強大的編程語言,因其簡單易學而受到很多開發者的青睞。那麼,Python 的應用領域有哪些呢?

Python 的應用領域非常廣泛,幾乎所有大中型互聯網企業都在使用 Python 完成各種各樣的任務,例如國外的 Google、Youtube、Dropbox,國內的網路、新浪、搜狐、騰訊、阿里、網易、淘寶、知乎、豆瓣、汽車之家、美團等等。概括起來,Python 的應用領域主要有如下幾個。

Web應用開發

Python 經常被用於 Web 開發,盡管目前 PHP、JS 依然是 Web 開發的主流語言,但 Python 上升勢頭更勁。尤其隨著 Python 的 Web 開發框架逐漸成熟(比如 Django、flask、TurboGears、web2py 等等),程序員可以更輕松地開發和管理復雜的 Web 程序。例如,通過 mod_wsgi 模塊,Apache 可以運行用 Python 編寫的 Web 程序。Python 定義了 WSGI 標准應用介面來協調 HTTP 伺服器與基於 Python 的 Web 程序之間的通信。舉個最直觀的例子,全球最大的搜索引擎 Google,在其網路搜索系統中就廣泛使用 Python 語言。另外,我們經常訪問的集電影、讀書、音樂於一體的豆瓣網(如圖 1 所示),也是使用 Python 實現的。



圖2Python開發的游戲

除此之外,Python 可以直接調用 Open GL 實現 3D 繪制,這是高性能游戲引擎的技術基礎。事實上,有很多 Python 語言實現的游戲引擎,例如 Pygame、Pyglet 以及 Cocos 2d 等。以上也僅是介紹了 Python 應用領域的「冰山一角」,例如,還可以利用 Pygame 進行游戲編程;用 PIL 和其他的一些工具進行圖像處理;用 PyRo 工具包進行機器人控制編程,等等。有興趣的讀者,可自行搜索資料進行詳細了解。

㈣ python可以應用在哪些領域

① Web開發:眾多大型網站均為 python 開發。
豆瓣:公司幾乎所有的業務均是通過 python 開發的
知乎:國內最大的問答社區,通過 python 開發(Quora) 春雨醫生:國內知名的在線醫療網站是用 python 開發的
還有搜狐、金山、騰訊、盛大、網易、網路、阿里、淘寶、土豆、新浪、果殼等公司都在使用 python 完成各種各樣的任務。
國外的網站:
谷歌:Google App Engine、code.Google.com、Google earth、谷歌爬蟲、Google 廣告等項目都在大量使用 python 開發
CIA:美國中情局網站就是用 python 開發的
NASA:美國航天局(NASA)大量使用 python 進行數據分析和運算
YouTube:世界上最大的視頻網站 YouTube 就是 python 開發的
Dropbox:美國最大的在線雲存儲網站,全部用 python 實現,每天網站處理 10 億個文件的上傳和下載
Instagram:美國最大的圖片分享社交網站,每天超過 3 千萬張照片被分享,全部用 python 開發
Facebook:大量的基礎庫均通過 python 實現的
Redhat:世界上最流行的 Linux 發新版本中的 yum 包管理工具就是用 python 開發的
② 爬蟲:
現在是大數據時代,爬蟲是屬於運營的比較多的一個場景吧,比如谷歌的爬蟲早期就是用跑Python寫的,如果你對採集數據、處理數據感興趣,爬蟲工程師將會是一個很好的選擇。
③ 數據分析:
一般我們用爬蟲爬到了大量的數據之後,我們需要處理數據用來分析,不然爬蟲白爬了,我們最終的目的就是分析數據,在這方面關於數據分析的庫也是非常的豐富的,各種圖形分析圖等都可以做出來。也是非常的方便,其中諸如Seaborn這樣的可視化庫,能夠僅僅使用一兩行就對數據進行繪圖,而利Pandas和Numpy、scipy則可以簡單地對大量數據進行篩選、回歸等計算。
④ 人工智慧:
Python近年來被人們熟知的主要原因就是人工智慧領域的興起。
Python在科學計算領域一直有著較好的聲譽,其簡潔清晰的語法以及豐富的計算工具,深受此領域開發者喜愛。
python 由於具有編寫簡單、改動少等特點。特別適合用在機器學習方向。並且提供了豐富的庫。減少了學習人工智慧的成本。

閱讀全文

與pythonwsgi例子相關的資料

熱點內容
中小型超市收銀系統源碼 瀏覽:989
手機哪個app相片美顏又瘦身 瀏覽:361
加密請求數據錯誤 瀏覽:665
netbeans開發php教程 瀏覽:435
如何免費下載我的世界伺服器 瀏覽:962
文件夾用於存放文件 瀏覽:652
華為模擬器命令 瀏覽:459
OPPO手機信息怎麼加密 瀏覽:709
如何把pdf文件變小 瀏覽:260
安卓車機如何更換車標 瀏覽:793
centos7如何更換php版本 瀏覽:467
java字元串轉換16進制字元串 瀏覽:58
程序員修復病毒 瀏覽:445
三星單片機開發環境 瀏覽:785
長風租賃軟體找不到指定的加密鎖 瀏覽:340
java方法中的方法的區別 瀏覽:476
單片機後面ir什麼意思 瀏覽:198
解壓軟體無法使用搜狗輸入法 瀏覽:68
labview的vi加密後怎麼解 瀏覽:237
蜂鳥團隊版app壁紙怎麼改 瀏覽:640