最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用FastCGI部署Python的Django應(yīng)用的教程

 更新時間:2015年07月22日 11:12:26   投稿:goldensun  
這篇文章主要介紹了使用FastCGI部署Python的Django應(yīng)用的教程,FastCGI也是被最廣泛的應(yīng)用于Python框架和服務(wù)器連接的模塊,需要的朋友可以參考下

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

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

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

如何能夠由一個外部的應(yīng)用程序很有效解釋W(xué)EB 服務(wù)器上的動態(tài)頁面請求呢? 答案就是使用FastCGI! 它的工作步驟簡單的描述起來是這樣的:

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

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

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

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

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

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

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

記錄

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

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

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

./manage.py runfcgi [options]

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

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

范例:

    在TCP端口上運行一個線程服務(wù)器:

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

    在Unix socket上運行prefork服務(wù)器:

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

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

./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


相關(guān)文章

  • Python爬蟲自動化獲取華圖和粉筆網(wǎng)站的錯題(推薦)

    Python爬蟲自動化獲取華圖和粉筆網(wǎng)站的錯題(推薦)

    這篇文章主要介紹了Python爬蟲自動化獲取華圖和粉筆網(wǎng)站的錯題,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Python中BeautifuSoup庫的用法使用詳解

    Python中BeautifuSoup庫的用法使用詳解

    這篇文章主要介紹了Python中BeautifuSoup庫的用法使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-11-11
  • Python的Django中將文件上傳至七牛云存儲的代碼分享

    Python的Django中將文件上傳至七牛云存儲的代碼分享

    七牛云存儲可以幫助服務(wù)器轉(zhuǎn)存圖片等數(shù)據(jù),類似于Dropbox等存儲服務(wù),這里就帶給大家Python的Django中將文件上傳至七牛云存儲的代碼分享,需要的朋友可以參考下
    2016-06-06
  • pytorch中使用LSTM詳解

    pytorch中使用LSTM詳解

    這篇文章主要介紹了pytorch中使用LSTM,可以在troch.nn模塊中找到LSTM類,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Python實現(xiàn)計算AUC的三種方式總結(jié)

    Python實現(xiàn)計算AUC的三種方式總結(jié)

    AUC(Area?under?curve)是機器學(xué)習常用的二分類評測手段,直接含義是ROC曲線下的面積。本文總結(jié)了Python語言實現(xiàn)計算AUC的三種方式,感興趣的可以學(xué)習一下
    2022-07-07
  • pandas對齊運算的實現(xiàn)示例

    pandas對齊運算的實現(xiàn)示例

    本文主要介紹了pandas對齊運算的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Python中zipfile壓縮文件模塊的基本使用教程

    Python中zipfile壓縮文件模塊的基本使用教程

    這篇文章主要給大家介紹了關(guān)于Python中zipfile壓縮文件模塊的基本使用教程,文中通過示例代碼介紹的非常詳細,對大家學(xué)習或者使用Python具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧
    2020-06-06
  • Python 連連看連接算法

    Python 連連看連接算法

    這段時間老是“不務(wù)正業(yè)”的搞一些東西玩。之前的貪吃蛇,俄羅斯方塊激發(fā)了我研究游戲算法的興趣。經(jīng)過1個星期的構(gòu)思,連連看的連接算法終于出爐了。再過一段時間就基于這個算法使用JavaScript推出網(wǎng)頁版的連連看。下面是說明及代碼。
    2008-11-11
  • PyTorch使用GPU加速計算的實現(xiàn)

    PyTorch使用GPU加速計算的實現(xiàn)

    PyTorch利用NVIDIA CUDA庫提供的底層接口來實現(xiàn)GPU加速計算,本文就來介紹一下PyTorch使用GPU加速計算的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Django中如何使用sass的方法步驟

    Django中如何使用sass的方法步驟

    這篇文章主要介紹了Django中如何使用sass的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-07-07

最新評論

临朐县| 蓝山县| 宁阳县| 山东| 浑源县| 长宁区| 平度市| 津南区| 靖安县| 西华县| 海伦市| 项城市| 邛崃市| 中山市| 无为县| 广丰县| 卢湾区| 盐亭县| 丽江市| 剑河县| 桦南县| 长春市| 波密县| 宜阳县| 桃园市| 浙江省| 府谷县| 石家庄市| 丰县| 正安县| 鹤庆县| 高阳县| 北海市| 荆门市| 菏泽市| 湟源县| 昌平区| 兖州市| 湄潭县| 湖南省| 健康|