在主機(jī)商的共享服務(wù)器上部署Django站點(diǎn)的方法
許多共享主機(jī)的服務(wù)提供商不允許運(yùn)行你自己的服務(wù)進(jìn)程,也不允許修改 httpd.conf 文件。 盡管如此,仍然有可能通過Web服務(wù)器產(chǎn)生的子進(jìn)程來運(yùn)行Django。
記錄
如果你要使用服務(wù)器的子進(jìn)程,你沒有必要自己去啟動FastCGI服務(wù)器。 Apache會自動產(chǎn)生一些子進(jìn)程,產(chǎn)生的數(shù)量按照需求和配置會有所不同。
在你的Web根目錄下,將下面的內(nèi)容增加到 .htaccess 文件中:
AddHandler fastcgi-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ mysite.fcgi/$1 [QSA,L]
接著,創(chuàng)建一個腳本,告知Apache如何運(yùn)行你的FastCGI程序。 創(chuàng)建一個 mysite.fcgi 文件,并把它放在你的Web目錄中,打開可執(zhí)行權(quán)限。
#!/usr/bin/python
import sys, os
# Add a custom Python path.
sys.path.insert(0, "/home/user/python")
# Switch to the directory of your project. (Optional.)
# os.chdir("/home/user/myproject")
# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "myproject.settings"
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
重啟新產(chǎn)生的進(jìn)程服務(wù)器
如果你改變了站點(diǎn)上任何的python代碼,你需要告知FastCGI。 但是,這不需要重啟Apache,而只需要重新上傳 mysite.fcgi 或者編輯改文件,使得修改時間發(fā)生了變化,它會自動幫你重啟Django應(yīng)用。 你可以重新上傳mysite.fcgi或者編輯這個文件以改變該文件的時間戳。 當(dāng)阿帕奇服務(wù)器發(fā)現(xiàn)文檔被更新了,它將會為你重啟你的Django應(yīng)用。
如果你擁有Unix系統(tǒng)命令行的可執(zhí)行權(quán)限,只需要簡單地使用 touch 命令:
touch mysite.fcgi
相關(guān)文章
Python+Pygame實戰(zhàn)之炫舞小游戲的實現(xiàn)
提到QQ炫舞,可能很多人想到的第一個詞是“青春”。恍然間,這個承載了無數(shù)人回憶與時光的游戲品牌,已經(jīng)走到了第十幾個年頭。今天小編就來給大家嘗試做一款簡單的簡陋版的小游戲——《舞動青春*炫舞》,感興趣的可以了解一下2022-12-12
Python os.mkdir()與os.makedirs()的使用區(qū)別
這篇文章主要介紹了Python os.mkdir()與os.makedirs()的使用區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python進(jìn)階篇之正則表達(dá)式常用語法總結(jié)
正則表達(dá)式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。本文為大家總結(jié)了一些正則表達(dá)式常用語法,希望有所幫助2022-08-08

