當前位置:首頁 » 編程語言 » cgipython配置

cgipython配置

發布時間: 2024-05-20 09:29:06

python web 怎麼部署

學過php的都了解,php的正式環境部署非常簡單,改幾個文件就OK,用FastCgi方式也是分分鍾的事情。相比起來,Python在web應用上的部署就繁雜的多,主要是工具繁多,主流伺服器支持不足,在了解Python的生產環境部署方式之前,先明確一些概念!很重要!

CGI:

CGI即通用網關介面(Common Gateway Interface),是外部應用程序(CGI程序)與Web伺服器之間的介面標准,是在CGI程序和Web伺服器之間傳遞信息的規程。CGI規范允許Web伺服器執行外部程序,並將它們的輸出發送給Web瀏覽器,CGI將Web的一組簡單的靜態超媒體文檔變成一個完整的新的互動式媒體。通俗的講CGI就像是一座橋,把網頁和WEB伺服器中的執行程序連接起來,它把HTML接收的指令傳遞給伺服器的執行程序,再把伺服器執行程序的結果返還給HTML頁。CGI的跨平台性能極佳,幾乎可以在任何操作系統上實現。

CGI方式在遇到連接請求(用戶請求)先要創建cgi的子進程,激活一個CGI進程,然後處理請求,處理完後結束這個子進程。這就是fork-and-execute模式。所以用cgi方式的伺服器有多少連接請求就會有多少cgi子進程,子進程反復載入是cgi性能低下的主要原因。當用戶請求數量非常多時,會大量擠占系統的資源如內存,CPU時間等,造成效能低下。

CGI腳本工作流程:

  • 瀏覽器通過HTML表單或超鏈接請求指向一個CGI應用程序的URL。

  • 伺服器執行務器收發到請求。所指定的CGI應用程序。

  • CGI應用程序執行所需要的操作,通常是基於瀏覽者輸入的內容。

  • CGI應用程序把結果格式化為網路伺服器和瀏覽器能夠理解的文檔(通常是HTML網頁)。

  • 網路伺服器把結果返回到瀏覽器中。

  • python有cgi模塊可支持原生cgi程序

    FastCGI:

    FastCGI是一個可伸縮地、高速地在HTTP server和動態腳本語言間通信的介面。多數流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同時,FastCGI也被許多腳本語言所支持,其中就有Python。FastCGI是從CGI發展改進而來的。傳統CGI介面方式的主要缺點是性能很差,因為每次HTTP伺服器遇到動態程序時都需要重新啟動腳本解析器來執行解析,然後結果被返回給HTTP伺服器。這在處理高並發訪問時,幾乎是不可用的。FastCGI像是一個常駐(long-live)型的CGI,它可以一直執行著,只要激活後,不會每次都要花費時間去fork一次(這是CGI最為人詬病的fork-and-execute 模式)。CGI 就是所謂的短生存期應用程序,FastCGI 就是所謂的長生存期應用程序。由於 FastCGI 程序並不需要不斷的產生新進程,可以大大降低伺服器的壓力並且產生較高的應用效率。它的速度效率最少要比CGI 技術提高 5 倍以上。它還支持分布式的運算, 即 FastCGI 程序可以在網站伺服器以外的主機上執行並且接受來自其它網站伺服器來的請求。

    FastCGI是語言無關的、可伸縮架構的CGI開放擴展,其主要行為是將CGI解釋器進程保持在內存中並因此獲得較高的性能。眾所周知,CGI解釋器的反復載入是CGI性能低下的主要原因,如果CGI解釋器保持在內存中並接受FastCGI進程管理器調度,則可以提供良好的性能、伸縮性、Fail-Over特性等等。FastCGI介面方式採用C/S結構,可以將HTTP伺服器和腳本解析伺服器分開,同時在腳本解析伺服器上啟動一個或者多個腳本解析守護進程。當HTTP伺服器每次遇到動態程序時,可以將其直接交付給FastCGI進程來執行,然後將得到的結果返回給瀏覽器。這種方式可以讓HTTP伺服器專一地處理靜態請求或者將動態腳本伺服器的結果返回給客戶端,這在很大程度上提高了整個應用系統的性能。

    FastCGI的工作流程:

  • Web Server啟動時載入FastCGI進程管理器(PHP-CGI或者PHP-FPM或者spawn-cgi)

  • FastCGI進程管理器自身初始化,啟動多個CGI解釋器進程(可見多個php-cgi)並等待來自Web Server的連接。

  • 當客戶端請求到達Web Server時,FastCGI進程管理器選擇並連接到一個CGI解釋器。Web server將CGI環境變數和標准輸入發送到FastCGI子進程php-cgi。

  • FastCGI子進程完成處理後將標准輸出和錯誤信息從同一連接返回Web Server。當FastCGI子進程關閉連接時,請求便告處理完成。FastCGI子進程接著等待並處理來自FastCGI進程管理器(運行在Web Server中)的下一個連接。 在CGI模式中,php-cgi在此便退出。

  • FastCGI 的特點:

  • 打破傳統頁面處理技術。傳統的頁面處理技術,程序必須與 Web 伺服器或 Application 伺服器處於同一台伺服器中。這種歷史已經早N年被FastCGI技術所打破,FastCGI技術的應用程序可以被安裝在伺服器群中的任何一台伺服器,而通過 TCP/IP 協議與 Web 伺服器通訊,這樣做既適合開發大型分布式 Web 群,也適合高效資料庫控制。

  • 明確的請求模式。CGI 技術沒有一個明確的角色,在 FastCGI 程序中,程序被賦予明確的角色(響應器角色、認證器角色、過濾器角色)。

  • WSGI:

    PythonWeb伺服器網關介面(Python Web Server Gateway Interface,縮寫為WSGI)是為Python語言定義的Web伺服器和Web應用程序或框架之間的一種簡單而通用的介面。自從WSGI被開發出來以後,許多其它語言中也出現了類似介面。WSGI是作為Web伺服器與Web應用程序或應用框架之間的一種低級別的介面,以提升可移植Web應用開發的共同點。WSGI是基於現存的CGI標准而設計的。

    WSGI區分為兩個部份:一為「伺服器」或「網關」,另一為「應用程序」或「應用框架」。在處理一個WSGI請求時,伺服器會為應用程序提供環境上下文及一個回調函數(Callback Function)。當應用程序完成處理請求後,透過先前的回調函數,將結果回傳給伺服器。所謂的 WSGI 中間件同時實現了API的兩方,因此可以在WSGI服務和WSGI應用之間起調解作用:從WSGI伺服器的角度來說,中間件扮演應用程序,而從應用程序的角度來說,中間件扮演伺服器。「中間件」組件可以執行以下功能:

  • 重寫環境變數後,根據目標URL,將請求消息路由到不同的應用對象。

  • 允許在一個進程中同時運行多個應用程序或應用框架。

  • 負載均衡和遠程處理,通過在網路上轉發請求和響應消息。

  • 進行內容後處理,例如應用XSLT樣式表。

  • 以前,如何選擇合適的Web應用程序框架成為困擾Python初學者的一個問題,這是因為,一般而言,Web應用框架的選擇將限制可用的Web伺服器的選擇,反之亦然。那時的Python應用程序通常是為CGI,FastCGI,mod_python中的一個而設計,甚至是為特定Web伺服器的自定義的API介面而設計的。WSGI沒有官方的實現, 因為WSGI更像一個協議。只要遵照這些協議,WSGI應用(Application)都可以在任何伺服器(Server)上運行, 反之亦然。WSGI就是Python的CGI包裝,相對於Fastcgi是PHP的CGI包裝。

    WSGI將 web 組件分為三類: web伺服器,web中間件,web應用程序, wsgi基本處理模式為 : WSGI Server -> (WSGI Middleware)* -> WSGI Application 。

    uwsgi:

    uwsgi協議是一個uWSGI伺服器自有的協議,它用於定義傳輸信息的類型(type of information),每一個uwsgi packet前4byte為傳輸信息類型描述,它與WSGI相比是兩樣東西。據稱其效率是fcgi的10倍。具體的協議內容請參考:the uwsgi protocol

    以上四者都可以理解為協議!協議!協議!實現了這樣的協議,就可以實現Web伺服器與Web應用程序相關聯的web服務!

    uWSGI:

    uWSGI項目旨在為部署分布式集群的網路應用開發一套完整的解決方案。uWSGI主要面向web及其標准服務,已經成功的應用於多種不同的語言。由於uWSGI的可擴展架構,它能夠被無限制的擴展用來支持更多的平台和語言。目前,你可以使用C,C++和Objective-C來編寫插件。項目名稱中的「WSGI」是為了向同名的Python Web標准表示感謝,因為WSGI為該項目開發了第一個插件。uWSGI是一個Web伺服器,它實現了WSGI協議、uwsgi、http等協議。uWSGI,既不用wsgi協議也不用FastCGI協議,而是自創了上文說將的uwsgi協議。

    uWSGI的主要特點如下:

  • 超快的性能。

  • 低內存佔用(實測為apache2的mod_wsgi的一半左右)。

  • 多app管理。

  • 詳盡的日誌功能(可以用來分析app性能和瓶頸)。

  • 高度可定製(內存大小限制,服務一定次數後重啟等)。

  • Gunicorn:

    和uWSGi類似的工具,從rails的部署工具(Unicorn)移植過來的。但是它使用的協議是前文所講的WSGI,這是python2.5時定義的官方標准(PEP 333),根紅苗正,而且部署比較簡單,詳細的使用教程請點擊這里。Gunicorn採用prefork模式,Gunicorn 伺服器與各種 Web 框架兼容,只需非常簡單的執行,輕量級的資源消耗,以及相當迅速。它的特點是與 Django 結合緊密,部署特別方便。 缺點也很多,不支持 HTTP 1.1,並發訪問性能不高,與 uWSGI,Gevent 等有一定的性能差距。

    1. Gunicorn設計

    Gunicorn 是一個 master進程,spawn 出數個工作進程的 web 伺服器。master 進程式控制制工作進程的產生與消亡,工作進程只需要接受請求並且處理。這樣分離的方式使得 reload 代碼非常方便,也很容易增加或減少工作進程。 工作進程這塊作者給了很大的擴展餘地,它可以支持不同的IO方式,如 Gevent,Sync 同步進程,Asyc 非同步進程,Eventlet 等等。master 跟 worker 進程完全分離,使得 Gunicorn 實質上就是一個控制進程的服務。

    2. Gunicorn源碼結構

    從 Application.run() 開始,首先初始化配置,從文件讀取,終端讀取等等方式完成 configurate。然後啟動 Arbiter,Arbiter 是實質上的 master 進程的核心,它首先從配置類中讀取並設置,然後初始化信號處理函數,建立 socket。然後就是開始 spawn 工作進程,根據配置的工作進程數進行 spawn。然後就進入了輪詢狀態,收到信號,處理信號然後繼續。這里喚醒進程的方式是建立一個 PIPE,通過信號處理函數往 pipe 里 write,然後 master 從 select.select() 中喚醒。

    工作進程在 spawn 後,開始初始化,然後同樣對信號進行處理,並且開始輪詢,處理 HTTP 請求,調用 WSGI 的應用端,得到 resopnse 返回。然後繼續。

    Sync 同步進程的好處在於每個 request 都是分離的,每個 request 失敗都不會影響其他 request,但這樣導致了性能上的瓶頸。

    Tornado:

    Tornado即使一款python 的開發框架,也是一個非同步非阻塞的http伺服器,它本身的數據產出實現沒有遵從上文所說的一些通用協議,因為自身就是web伺服器,所以動態請求就直接通過內部的機制,輸出成用戶所請求的動態內容。如果把它作為一個單獨伺服器,想用它來配合其他的框架如Flask來部署,則需要採用WSGI協議,Tornado內置了該協議,tornado.wsgi.WSGIContainer。

    wsgiref:

    Python自帶的實現了WSGI協議的的wsgi server。wsgi server可以理解為一個符合wsgi規范的web server,接收request請求,封裝一系列環境變數,按照wsgi規范調用注冊的wsgi app,最後將response返回給客戶端。Django的自帶伺服器就是它了。

    以上都可以理解為實現!實現!實現!實現了協議的工具!

    註:mod_wsgi(apache的模塊)其實也是實現了wsgi協議的一個模塊,現在幾乎不廢棄了,所以也不多說了,感興趣的自己查一下吧。

    所以如果你採用Django框架開發了應用之後,想部署到生產環境,肯定不能用Django自帶的,可以用使用uwsgi協議的uWSGI伺服器,也可以採用實現了WSGI協議的gunicorn或者Tornado,亦可以用FastCGI、CGI模式的Nginx、lighttpd、apache伺服器。其他框架亦如此!明白了這些概念在部署的時候就可以做到心中有數,各種工具之間的搭配也就「知其然,並知其所以然」了。

    在我們組的項目中有兩種框架Django和Tornado,生產環境也用到了兩種部署方式。uWSGI和Gunicorn:

    Django項目用Nginx+uWSGI方式部署,Tornado項目用Nginx+Gunicorn方式部署:

    Nginx都作為負載均衡以及靜態內容轉發。Tornado項目用supervisord來管理Gunicorn,用Gunicorn管理Tornado。眾所周知,由於Python的GIL存在,所以Python的並發都採用多進程模式,所以我們部署的方式是一個核心兩個進程。

❷ 如何在Apache下設置Python

關於Python,本人不想多說了,如果不知道什麼是Python,可以看《什麼是Python?》一文。Python可以開發CGI程序,那麼在Apache下應如何配置呢?本文只講述了如何以CGI方式配置Apache,使其支持Python程序。其它方式,如mod_python則不在討論范圍(其實是沒配成功:-)。我所使用的系統環境為Windows 98, Apache 1.3.19,Python 2.1版。

准備

首先檢查以下要求是否已經達到:
Apache已經安裝,並且可以正常使用
Python已經安裝,並且可以正常使用(在我的環境下,Python安裝目錄為d:\python21)
好,如果一切正常,下面就開始了。

配置

修改DocumentRoot

打開Apache安裝目錄下的conf子目錄的httpd.conf文件。可以修改DocumentRoot為"f:/phpsite"。當然你可以按需要改成其它值。

允許任意目錄執行CGI

這個設置是允許被設目錄及其子目錄下的CGI程序可以CGI方式運行。在Apache中,盡管你可能已經設置了CGI文件後綴,但是如果未設置允許CGI程序運行選項,則無法運行CGI程序。

設置f:/phpsite目錄屬性:

Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all

其實我並未重新設置新的目錄屬性,而是將DocumentRoot的目錄屬性(原來指向Apache安裝目錄下的htdocs目錄,我改成為f:/phpsite了)增加了ExecCGI一項。

只允許特別目錄執行CGI

也可以只允許特別目錄下可以執行CGI程序。與上一步可以同時執行,也可兩種任選其一。只要設置:

ScriptAlias /cgi-bin/ "f:/phpsite/cgi-bin/"

即可。

增加CGI文件名後綴

修改 AddHandler cgi-script 一句為 AddHandler cgi-script .cgi .py。即讓Apache知道.py的文件為CGI程序

好了,到此Apache就配置好了,先啟動Apache,然後進行測試。

測試

Python本身不象PHP,不是一種嵌入式腳本(這種腳本比較適合做Web後端程序),所以所有輸出要自已做。

1 #!d:/python21/python.exe
2 print "Content-type: text/html"
3 print
4 print "
hello,world!
"

第1行是讓腳本以CGI方式運行必需的(這里是我的環境,記得嗎?我前面說了Python是裝在d:/python21下的),告訴Apache如何找到此文件的解釋程序。

第2,3行是告訴瀏覽器輸出內容的MIME格式。這里為輸出HTML文本。

第4行,輸出"hello,world!"。其實不輸出HTML的標記頭瀏覽器也可以正常顯示,盡管它不是完整的HTML格式。

如果測試成功,則一切大功告成。如果不行,聽天由命吧(可以給我發信,咱們共同解決)。

後話

在SourceForge網站上,有一個名字mod_snake的項目。它同mod_python一樣提供了針對Apache的Python模塊化處理,但是mod_snake支持HTML文檔嵌入Python標記,有點象PHP。不過現在它只支持linux,而沒有Windows下的版本。唉,我一定要轉到Linux下面去!使用CGI方式調用Python速度不是很快,而如果使用mod_python則速度可能要快幾十倍。這個不是我測出來的,是mod_python網站上說的。
轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦

❸ linux下python和webpy怎麼搭建

1. 環境搭建。

環境搭建比較繁瑣,記得當時也是滿世界找資料,所以我直接打包好了所有的文件(apache(已經放進去python-wscgi) + web.py+apache所需要的vs2010運行庫+python+網站文件),直接解壓放上去就能用。有需要同學讓我傳一個或者網盤發一把就行。

如果在windows,最好在win7以上版本,我用win8。linux則ubuntu較好,建議12.04以上版本,不過linux我僅僅是開發用過,最終運行的伺服器是採用windows+apache:

安裝python2.7.10,可以去官方網站下載,注意要把python路徑加入系統環境變數。版本不能低於2.7.9,但不能用3.0以上,web.py支持不好。
安裝web.py, 官方網下載來裝就行,記得是解壓後進去:python setup.py install
安裝wingIDE,這個是最好用的python編輯器,可惜只能有幾天試用,我就是不停的試用進行開發,用它的好處就是代碼可以跳轉並且支持調試,需要調試直接將程序文件run起來,單步下段點都可以。
裝apache並配置python-wscgi,這個比較慘,花了好多時間去搜索才搞定,主要是windows上的python-wscgi不好難找。
為了節省以後的開發時間,我把配置好的apache給打包了,反正也是綠色的,新建網站只需要在伺服器上配置開機啟動apache,並在apache的config裡面修改下自己網站路徑就行。

2. 開發。
開發階段倒是沒什麼好說的,web.py官方有教程,不過這里我需要提幾點建議:
如果可以務必全站用utf-8編碼。
建立資料庫建議寫個生成腳本,比如createDataBase.py,有改動重新運行一遍,不要試用ide去建。

❹ nginx閰嶇疆location [=|~|~*|^~]

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
location鏄疦ginx瀵笻TTP璇鋒眰涓鐨刄RI榪涜屽尮閰嶅勭悊鐨勬寚浠わ紝location鐨勮娉曞艦寮忓備笅:

紺轟緥

淇楗拌鈥淍鈥:瀹氫箟涓涓鍙鑳藉唴閮ㄨ塊棶鐨刲ocation鍖哄煙錛屽彲浠ヨ鍏朵粬鍐呴儴璺寵漿鎸囦護浣跨敤錛屽倀ry_files鎴 error_page銆

CGI鏄涓縐嶉氱敤緗戝叧鎺ュ彛瑙勮寖錛岃ヨ勮寖璇︾粏鎻忚堪浜哤eb鏈嶅姟鍣ㄥ拰璇鋒眰澶勭悊紼嬪簭(鑴氭湰瑙f瀽鍣)鍦ㄨ幏鍙栧強榪 鍥炴暟鎹榪囩▼涓浼犺緭鏁版嵁鐨勬爣鍑嗭紝濡侶TTP鍗忚鐨勫弬鏁板悕縐扮瓑銆傚ぇ澶氭暟Web紼嬪簭浠ヨ剼鏈褰㈠紡鎺ユ敹騫跺勭悊璇鋒眰錛岀劧 鍚庤繑鍥炲搷搴旀暟鎹錛屽傝剼鏈紼嬪簭PHP銆丣SP銆丳ython絳夈

FastCGI鏄疻eb鏈嶅姟鍣ㄥ拰鍔ㄦ佽剼鏈紼嬪簭闂寸殑涓涓楂橀熴佸彲 浼哥緝鐨勬帴鍙o紝瀹冮噰鐢–/S鏋舵瀯錛屽皢Web鏈嶅姟鍣ㄥ拰鍔ㄦ佽剼鏈瑙f瀽鍣ㄥ垎紱伙紝鍚屾椂鍚鍔ㄤ竴涓鎴栧氫釜鑴氭湰瑙f瀽鍣ㄥ畧鎶よ繘 紼嬫帴鏀禬eb鏈嶅姟鍣ㄧ殑鍔ㄦ佽剼鏈瑙f瀽璇鋒眰銆傚綋鐢ㄦ埛鍚慛ginx鏈嶅姟鍣ㄥ彂璧峰姩鎬佽剼鏈璇鋒眰鏃訛紝Nginx鏈嶅姟鍣ㄥ皢鍔ㄦ佽剼鏈瑙f瀽浠誨姟浜ょ敱FastCGI榪涚▼鏉ユ墽琛岋紝騫跺皢FastCGI瑙f瀽鐨勭粨鏋滆繑鍥炵粰鐢ㄦ埛銆侾HP-FPM鏄涓涓琚緙栬瘧鍒癙HP鍐 鏍鎬腑鐨凢astCGI搴旂敤錛屽洜涓哄畠鏄浣滀負PHP鐨勮ˉ涓佸紑鍙戠殑錛屾墍浠ュ畠鍦≒HP鑴氭湰鐨勮В鏋愪笂鏇村姞楂樻晥銆

SCGI鏄疌GI鐨勬浛浠g増鏈錛屽畠涓嶧astCGI綾諱技錛屽悓鏍鋒槸灝嗚鋒眰澶勭悊紼嬪簭鐙絝嬩簬Web鏈嶅姟鍣ㄤ箣澶栵紝浣嗘洿瀹規槗瀹 鐜幫紝鎬ц兘姣擣astCGI瑕佸急涓浜涖

WSGI鏄涓篜ython璇璦涓瀹氫箟鐨刉eb鏈嶅姟鍣ㄤ笌Python搴旂敤紼嬪簭鎴栨嗘灦闂寸殑閫氱敤閫氫俊鎺ュ彛錛屽彲浠ヤ嬌Python 搴旂敤紼嬪簭鎴栨嗘灦涓庢敮鎸佽繖涓鍗忚鐨勪笉鍚學eb鏈嶅姟鍣ㄨ繘琛岄氫俊銆傚父瑙佺殑Python Web妗嗘灦閮藉疄鐜頒簡璇ュ崗璁鐨勫皝 瑁呫

uWSGI鏄疨ython瀹炵幇WSGI銆乽WSGI(uWSGI鐙鏈夌殑鍗忚)銆丠TTP絳夊崗璁鍔熻兘鐨刉eb鏈嶅姟鍣錛孨ginx 閫氳繃ngx_http_uwsgi_mole妯″潡瀹炵幇涓巙WSGI鏈嶅姟鍣ㄧ殑鏁版嵁浜ゆ崲騫跺畬鎴怭ython緗戠珯鐨勮鋒眰澶勭悊銆傝ユā鍧 榛樿ょ紪璇戝湪Nginx浜岃繘鍒舵枃浠朵腑錛屾棤欏誨崟鐙緙栬瘧銆

❺ 如何用python和web.py搭建一個網站

一、使用工具:python、web.py

二、搭建步驟:

1、 環境搭建。

安裝python2.7.10,注意要把python路徑加入系統環境變數。版本不能低於2.7.9,但不能用3.0以上,web.py支持不好。安裝web.py, 官方網下載來裝就行,記得是解壓後進去:python setup.py install,安裝wingIDE,這個是最好用的python編輯器,裝apache並配置python-wscgi,

2. 開發。

建立資料庫建議寫個生成腳本,比如createDataBase.py,有改動重新運行一遍,不要試用ide去建。

三、注意事項:注意要把python路徑加入系統環境變數。版本不能低於2.7.9,但不能用3.0以上,web.py支持不好。

❻ python什麼東西

是計算機編程語言。

Python由荷蘭數學和計算機科學研究學會的Guido van Rossum於1990 年代初設計,作為一指尺門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能簡單有效汪逗啟地面向對象編程。

Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。

伺服器

在你進行CGI編程前,確保您的Web伺服器支持CGI及已經配置了CGI的處理程序。

所有的HTTP伺服器執行CGI程序都保存在一個預先配置的目錄。這個目錄被稱為CGI目錄,並按照慣例,它被命名為/var/www/cgi-bin目錄。

CGI文件的擴展名為.cgi,python也可以使用.py擴展名。

默認情況下,Linux伺服器配困如置運行的cgi-bin目錄中為/var/www。

❼ python cgi windows鎬庝箞鍔

濡傛灉鏄痯ython2.X鐨勮瘽錛屽彲浠ヤ嬌鐢╩odpython榪涜宲ython鐨剋eb緙栫▼銆傚傛灉鍗囩駭鍒皃ython3.X鐨勮瘽錛屽垯鍙浠ヤ嬌鐢╳sgi銆傚洜涓簃odpython涓嶆敮鎸乸ython3
鍦ㄨ繖閲屼粙緇嶄嬌鐢╟gi榪涜宲ython鐨剋eb緙栫▼錛岀劧鍚庨氳繃綆鍗曠殑渚嬪瓙榪涜岀ず鑼冦

浣跨敤php緙栫▼鐨勭ラ瀷閮界煡閬擄紝apache鍦ㄨ繍琛宲hp紼嬪簭涔嬪墠闇瑕佸筧pache榪涜岄厤緗銆傚悓鏍鳳紝浣跨敤python涔熼渶瑕侀厤緗銆

python鐨刟pache閰嶇疆鍩烘湰涓婂洓涓姝ラわ細

1銆佹墦寮http.conf錛屾壘鍒 #ScriptInterpreterSource Registry錛屾妸鍓嶉潰鐨#鍘繪帀銆傚傛灉娌℃湁鎵懼埌榪欏彞璇濓紝鍒欒嚜琛屾坊鍔犮

2銆佹壘鍒癆ddHandler
cgi-script錛屽幓鎺夊墠闈㈢殑#錛屽湪鍚庨潰鍔犱笂.py
3銆佹壘鍒癘ptions Indexes FollowSymLinks錛屽湪鍏跺悗鍔犱笂ExecCGI, 鍘繪帀 Indexes
4銆佷繚瀛橈紝閲嶅惎apache銆

涔嬪悗灝卞彲浠ヨ繘琛宲ython鐨勭紪紼嬩簡錛岀紪杈 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

熱點內容
ftp端路徑 發布:2024-11-27 12:51:13 瀏覽:981
無法刪除訪問被拒絕請確定磁碟未滿 發布:2024-11-27 12:51:08 瀏覽:73
編程貓和你 發布:2024-11-27 12:49:33 瀏覽:232
2016郵件伺服器搭建 發布:2024-11-27 12:45:15 瀏覽:927
pythonstrptime 發布:2024-11-27 12:34:50 瀏覽:954
怎麼判斷組裝電腦配置真假 發布:2024-11-27 12:30:18 瀏覽:379
周鴻禕編程 發布:2024-11-27 12:30:12 瀏覽:615
索賠的腳本 發布:2024-11-27 12:30:09 瀏覽:547
什麼是淘寶資料庫 發布:2024-11-27 12:30:08 瀏覽:373
聯系輔導員重設密碼需要什麼 發布:2024-11-27 12:19:16 瀏覽:510