• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    使用FastCGI部署Python的Django應用的教程

    來源:懂視網 責編:小采 時間:2020-11-27 14:42:05
    文檔

    使用FastCGI部署Python的Django應用的教程

    使用FastCGI部署Python的Django應用的教程:作為一個mod_python模塊的替代,你可以考慮使用mod_wsgi模塊,此模塊開發的時間比mod_python的開發時間離現在更近一些,在Django社區已有一些使用。 一個完整的概述超出了本書的范圍,你可以從官方的Django文檔查看到更多的信息。 使用FastCGI部署D
    推薦度:
    導讀使用FastCGI部署Python的Django應用的教程:作為一個mod_python模塊的替代,你可以考慮使用mod_wsgi模塊,此模塊開發的時間比mod_python的開發時間離現在更近一些,在Django社區已有一些使用。 一個完整的概述超出了本書的范圍,你可以從官方的Django文檔查看到更多的信息。 使用FastCGI部署D

    作為一個mod_python模塊的替代,你可以考慮使用mod_wsgi模塊,此模塊開發的時間比mod_python的開發時間離現在更近一些,在Django社區已有一些使用。 一個完整的概述超出了本書的范圍,你可以從官方的Django文檔查看到更多的信息。
    使用FastCGI部署Django應用

    盡管將使用Apache和mod_python搭建Django環境是最具魯棒性的,但在很多虛擬主機平臺上,往往只能使用FastCGI

    此外,在很多情況下,FastCGI能夠提供比mod_python更為優越的安全性和效能。 針對小型站點,相對于Apache來說FastCGI更為輕量級。
    FastCGI 簡介

    如何能夠由一個外部的應用程序很有效解釋WEB 服務器上的動態頁面請求呢? 答案就是使用FastCGI! 它的工作步驟簡單的描述起來是這樣的:

    和mod_python一樣,FastCGI也是駐留在內存里為客戶請求返回動態信息,而且也免掉了像傳統的CGI一樣啟動進程時候的時間花銷。 但于mod_python不同之處是它并不是作為模塊運行在web服務器同一進程內的,而是有自己的獨立進程。

    為什么要在一個獨立的進程中運行代碼?

    在以傳統的方式的幾種以mod_*方式嵌入到Apache的腳本語言中(常見的例如: PHP,Python/mod_python和Perl/mod_perl),他們都是以apache擴展模塊的方式將自身嵌入到Apache進程中的。

    每一個Apache進程都是一個Apache引擎的副本,它完全包括了所有Apache所具有的一切功能特性(哪怕是對Django毫無好處的東西也一并加載進來)。 而FastCGI就不一樣了,它僅僅把Python和Django等必備的東東弄到內存中。

    依據FastCGI自身的特點可以看到,FastCGI進程可以與Web服務器的進程分別運行在不同的用戶權限下。 對于一個多人共用的系統來說,這個特性對于安全性是非常有好處的,因為你可以安全的于別人分享和重用代碼了。

    如果你希望你的Django以FastCGI的方式運行,那么你還必須安裝 flup 這個Python庫,這個庫就是用于處理FastCGI的。 很多用戶都抱怨 flup 的發布版太久了,老是不更新。 其實不是的,他們一直在努力的工作著,這是沒有放出來而已。
    運行你的 FastCGI 服務器

    FastCGI是以客戶機/服務器方式運行的,并且在很多情況下,你得自己去啟動FastCGI的服務進程。 Web服務器(例如Apache,lighttpd等等)僅僅在有動態頁面訪問請求的時候才會去與你的Django-FastCGI進程交互。 因為Fast-CGI已經一直駐留在內存里面了的,所以它響應起來也是很快的。

    記錄

    在虛擬主機上使用的話,你可能會被強制的使用Web server-managed FastCGI進程。 在這樣的情況下,請參閱下面的“在Apache共享主機里運行Django”這一小節。

    web服務器有兩種方式于FastCGI進程交互: 使用Unix domain socket(在win32里面是 命名管道 )或者使用TCP socket.具體使用哪一個,那就根據你的偏好而定了,但是TCP socket弄不好的話往往會發生一些權限上的問題。 What you choose is a manner of preference; a TCP socket is usually easier due to permissions issues.

    開始你的服務器項目,首先進入你的項目目錄下(你的 manage.py 文件所在之處),然后使用 manage.py runfcgi 命令:

    ./manage.py runfcgi [options]
    
    

    想了解如何使用 runfcgi ,輸入 manage.py runfcgi help 命令。

    你可以指定 socket 或者同時指定 host 和 port 。當你要創建Web服務器時,你只需要將服務器指向當你在啟動FastCGI服務器時確定的socket或者host/port。

    范例:

    在TCP端口上運行一個線程服務器:

    ./manage.py runfcgi method=threaded host=127.0.0.1 port=3033
    
    

    在Unix socket上運行prefork服務器:

    ./manage.py runfcgi method=prefork socket=/home/user/mysite.sock pidfile=django.pid
    
    

    啟動,但不作為后臺進程(在調試時比較方便):

    ./manage.py runfcgi daemonize=false socket=/tmp/mysite.sock
    
    

    停止FastCGI的行程

    如果你的FastCGI是在前臺運行的,那么只需按Ctrl+C就可以很方便的停止這個進程了。 但如果是在后臺運行的話,你就要使用Unix的 kill 命令來殺掉它。 然而,當你正在處理后臺進程時,你會需要將其付諸于Unix kill的命令

    如果你在 manage.py runfcgi 中指定了 pidfile 這個選項,那么你可以這樣來殺死這個FastCGI后臺進程:

    kill `cat $PIDFILE`
    
    

    $PIDFILE 就是你在 pidfile 指定的那個。

    你可以使用下面這個腳本方便地重啟Unix里的FastCGI守護進程:

    #!/bin/bash
    
    # Replace these three settings.
    PROJDIR="/home/user/myproject"
    PIDFILE="$PROJDIR/mysite.pid"
    SOCKET="$PROJDIR/mysite.sock"
    
    cd $PROJDIR
    if [ -f $PIDFILE ]; then
     kill `cat -- $PIDFILE`
     rm -f -- $PIDFILE
    fi
    

    exec /usr/bin/env - PYTHONPATH="../python:.." ./manage.py runfcgi socket=$SOCKET pidfile=$PIDFIL
    

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    使用FastCGI部署Python的Django應用的教程

    使用FastCGI部署Python的Django應用的教程:作為一個mod_python模塊的替代,你可以考慮使用mod_wsgi模塊,此模塊開發的時間比mod_python的開發時間離現在更近一些,在Django社區已有一些使用。 一個完整的概述超出了本書的范圍,你可以從官方的Django文檔查看到更多的信息。 使用FastCGI部署D
    推薦度:
    標簽: python python的 部署
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产在线精品一区二区中文| 精品爆乳一区二区三区无码av| 午夜精品久久久久久99热| 99久久亚洲综合精品网站| 国产精品视频a播放| 午夜精品久久久久久| 国产成人综合精品一区| 成人精品视频99在线观看免费| 日韩精品一区二区三区不卡| 国产精品99久久久久久董美香 | 精品国产人成亚洲区| 成人精品一区二区三区中文字幕| 亚洲av午夜成人片精品电影| 亚洲高清国产拍精品26U| 国产精品免费在线播放| 欧美日韩在线亚洲国产精品| 国产精品成熟老女人视频| 亚洲乱码国产乱码精品精| 麻豆精品视频在线观看| 国产日韩高清三级精品人成| 亚洲av成人无码久久精品| 日韩精品免费一线在线观看| 惠民福利中文字幕人妻无码乱精品 | 久久精品国产福利国产秒| 国产精品美女久久久久久2018| 亚洲精品国产成人片| 亚洲无线观看国产精品| 久久亚洲精品视频| 99在线精品视频| 99re国产精品视频首页| 99久久精品午夜一区二区| 国产精品久久久久jk制服| 精品亚洲成AV人在线观看| 久久国产精品成人影院| 精品蜜臀久久久久99网站| 精品无码av一区二区三区| 国产精品综合色区在线观看| 久久精品亚洲精品国产色婷| 久久精品国产亚洲AV香蕉| 国产精品香港三级国产AV| AAA级久久久精品无码片|