linuxdjango安裝
① 如何安裝python
1、首先,需要到python的官方網站下載python的安裝包。
② Linux涓嬪皢Python鐨凞jango欏圭洰閮ㄧ講鍒癆pache鏈嶅姟鍣
榪欏嚑澶╄姳浜嗙偣鏃墮棿,灝嗘妸django寮鍙戝ソ鐨剋eb欏圭洰閮ㄧ講鍒癆pache涓婏紝鍙傝冧簡瀹樻柟鐨勪竴浜涙枃妗e拰浜掕仈緗戜笂鐨勬枃妗o紝榪樻槸鑺變簡姣旇緝澶氱殑鏃墮棿錛岃繖閲屾妸閰嶇疆鐨勮繃紼嬭翠竴涓嬨
鏂逛究鏈夐渶瑕佺殑鏈嬪弸錛屽彲浠ュ弬鑰冿紝灝戣蛋寮璺!
1. django欏圭洰閮ㄧ講鐜澧冭存槑
鎿嶄綔緋葷粺 : Red Hat Enterprise Linux Server release 5.3 (Tikanga) x86_64
apache鐗堟湰 : httpd-2.2.3-22.el5
mod_wsgi鐗堟湰 : mod_wsgi-3.2-1.el5 fedora epel鍙浠ヤ笅杞
Django鐗堟湰 : 1.2.3
python 鐗堟湰 : 2.5
榪欓噷鍋囧畾Django鍜孉pache宸茬粡瀹夎呭ソ錛屽苟涓擠jango鐨勯」鐩宸茬粡寮鍙戝ソ銆
浠ヤ笂杞浠跺寘閮芥槸閫氳繃yum鍖呭畨瑁,杞浠跺寘閮芥槸緋葷粺鏍囧噯鐩褰曠粨鏋!
django寮鍙戝ソ鐨勯」鐩鐩褰曟槸 /var/www/html/server,欏圭洰鐩褰曠粨鏋勫備笅(鏍囧噯django欏圭洰鐩褰曠粨鏋)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#tree -d server/
server/
|-- __init__.py
|-- manage.py
|-- settings.py
|-- backend
|-- static
| |-- images
| |-- locale
| |-- plugins
| `-- themes
| |-- default
| | `-- images
| |-- gray
| | `-- images
| `-- icons
|-- template
`-- view
2. Apache鍜宮od_wsgi閰嶇疆
淇鏀箇sgi閰嶇疆(/etc/httpd/conf.d/wsgi.conf)
?
1
2
3
4
5
6
7
8
#cat /etc/httpd/conf.d/wsgi.conf
LoadMole wsgi_mole moles/mod_wsgi.so
WSGIScriptAlias / "/var/www/html/server/django.wsgi"
Directory "/var/www/html/server"
Order Deny,Allow
Allow from all
/Directory
欏圭洰鐩褰曚腑鐨刣jango.wsgi榪欎釜鏂囦歡鏄闇瑕佹柊寤虹殑錛屽悗闈浼氳村埌濡備綍鏂板緩榪欎釜鏂囦歡銆
apache浣跨敤鐨勬爣鍑嗛厤緗,Apache鐨凞ocumentRoot 鎸囧悜鐨勬槸 /var/www/html 鐩褰
3. 鏂板緩django.wsgi鏂囦歡
鍦ㄩ」鐩鐩褰/var/www/html/server涓嬫柊寤轟竴涓猟jango.wsgi錛屾枃浠跺唴瀹瑰備笅:
?
1
2
3
4
5
6
7
8
9
10
#cat /var/www/html/server/django.wsgi
# -*- coding: utf-8 -*-
import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
os.environ['PYTHON_EGG_CACHE'] = '/tmp/.python-eggs'
current_dir = os.path.dirname(__file__)
if current_dir not in sys.path: sys.path.append(current_dir)
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
絎涓夎 os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' 錛岃繖涓猻ettings灝辨槸鎸囬」鐩鐩褰曚笅鐨剆etting.py鏂囦歡.
絎鍥涜 os.environ['PYTHON_EGG_CACHE'] = '/tmp/.python-eggs' 錛屾寚瀹氳В鍘媏gg鏂囦歡鐨刢ache鐩褰曪紝紜淇濊繍琛宎pache鐨勭敤鎴鳳紝鑳藉熷規ょ洰褰曟湁璇誨啓鏉冮檺.
絎浜旓紝鍏琛 灝嗗綋鍓嶇洰褰曡嚜鍔ㄥ姞鍏ュ埌python鐨勬悳緔㈣礬寰,濡傛灉欏圭洰涓鏈夎嚜宸卞啓鐨勬ā鍧楋紝鏂逛究浣跨敤鍜屽彂甯
鏈鍚庯紝榪欎釜django.wsgi鏂囦歡鍚嶅彲浠ラ殢渚垮彇錛屼緥濡倀est.wsgi銆乤pp.wsgi絳夌瓑錛屼絾鏄涓瀹氳佷笌/etc/httpd/conf.d/wsgi.conf閰嶇疆鏂囦歡涓閰嶇疆淇濇寔涓鑷淬
濡傛灉鎮ㄨ繖閲屾柊寤虹殑鏂囦歡鍚嶄笉鏄痙jango.wsgi鑰屾槸test.wsgi錛岄偅涔/etc/httpd/conf.d/wsgi.conf涓鐨勯厤緗灝卞簲璇ヤ慨鏀逛負
?
1
WSGIScriptAlias / "/var/www/html/server/test.wsgi"
4. 淇鏀筪jango欏圭洰涓鐨剆etting.py鏂囦歡
鎵懼埌欏圭洰鐩褰曚笅鐨剆etting.py錛屽逛簬榪欓噷灝辨槸/var/www/html/server/setting.py銆傛壘鍒板叾涓鐨凾EMPLATE_DIRS錛屼慨鏀逛負錛
?
1
TEMPLATE_DIRS = ("/var/www/html/server/template",)
娉ㄦ剰: 妯℃澘鐩褰曞湪榪欓噷涓瀹氳佺敤緇濆硅礬鍔詫紝鑰屼笉鑳界敤鐩稿硅礬寰,褰撶劧涔熸湁鏂規硶鍔ㄦ佽劇疆妯℃澘璺鍔
PS錛氬叧浜巑od_wsgi
鐩鍓峬od_wsgi鏈変袱縐嶅伐浣滄ā寮忥細
絎涓縐嶆槸宓屽叆妯″紡錛岀被浼間簬mod_python錛岀洿鎺ュ湪apache榪涚▼涓榪愯岋紝榪欐牱鐨勫ソ澶勬槸涓嶉渶瑕佸彟澶栧炲姞榪涚▼錛屼絾鏄鍧忓勪篃寰堟槑鏄撅紝鎵鏈夊唴瀛橀兘鍜宎pache鍏變韓錛屽傛灉鍜宮od_python涓鏍烽犳垚鍐呭瓨婕忔礊鐨勮瘽錛屽氨浼氬嵄瀹蟲暣涓猘pache銆傝屼笖濡傛灉apache鏄鐢╳orker mpm錛宮od_wsgi涔熷氨寮哄埗榪涘叆浜嗙嚎紼嬫ā寮忥紝榪欐牱瀛愬逛簬闈炵嚎紼嬪畨鍏ㄧ殑紼嬪簭鏉ヨ村氨娌℃硶鐢ㄤ簡銆
榪欑嶆ā寮忎笅闇瑕佸湪apache鐨剉host涓濡備笅璁劇疆錛
?
1
span style="font-family: 'times new roman', times;"WSGIScriptAlias /path /path-to-wsgi/span
鍗沖彲鐢熸晥錛屽逛簬灝忓瀷鑴氭湰鐨勮瘽錛岀洿鎺ョ敤榪欑嶆ā寮忓嵆鍙銆
絎浜岀嶆槸鍚庡彴妯″紡錛岀被浼間簬FastCGI鐨勫悗鍙幫紝mod_wsgi浼氬焌pache鐨勫栧3錛屽彟澶栧惎鍔ㄤ竴涓鎴栧氫釜榪涚▼錛岀劧鍚庨氳繃socket閫氫俊鍜宎pache鐨勮繘紼嬭仈緋匯
榪欑嶆柟寮忓彧瑕佷嬌鐢ㄤ互涓嬮厤緗鍗沖彲錛
?
1
2
3
4
5
6
7
8
9
10
#鍚鍔╓SGI鍚庡彴錛宻ite1鏄鍚庡彴鍚嶅瓧
WSGIDaemonProcess site1 processes=1 threads=15 display-name=%{GROUP}
#鍒嗛厤褰撳墠涓婁笅鏂囧簲璇ヤ嬌鐢ㄥ摢涓猈SGI鍚庡彴錛屽彲浠ユ斁鍦↙ocation閲岄潰鎸囧畾
WSGIProcessGroup site1
#鏍規嵁褰撳墠涓婁笅鏂囩殑ProcessGroup鍒嗛厤鍒板瑰簲鐨勫悗鍙
WSGIScriptAlias /path /path-to-wsgi
鍦ㄨ繖縐嶆ā寮忎笅錛屾垜浠鍙浠ラ氳繃璋冭妭processes鍜宼hreads鐨勫兼潵璁劇疆涓夌峂PM鐨勬ā寮忥細prefork', 'worker', 'winnt'銆
winnt妯″紡
?
1
2
3
WSGIDaemonProcess example threads=25
wsgi.multithread True
wsgi.multiprocess False
姝ゆ椂processes=1錛屼絾鏄痬ultiprocess涓篺alse
濡傛灉鏄懼紡鍦版寚鍑簆rocesses涓1閭d箞錛
?
1
2
3
WSGIDaemonProcess example processes=1 threads=25
wsgi.multithread True
wsgi.multiprocess True
worker妯″紡
?
1
2
3
4
WSGIDaemonProcess example processes=2 threads=25
wsgi.multithread True
wsgi.multiprocess True
preforker妯″紡
?
1
2
3
WSGIDaemonProcess example processes=5 threads=1
wsgi.multithread False
wsgi.multiprocess True
鍚庡彴妯″紡鐢變簬鏄涓巃pache榪涚▼鍒嗙諱簡錛屽唴瀛樼嫭絝嬶紝鑰屼笖鍙浠ョ嫭絝嬮噸鍚錛屼笉浼氬獎鍝峚pache鐨勮繘紼嬶紝濡傛灉浣犳湁澶氫釜欏圭洰(django)錛屽彲浠ラ夋嫨寤虹珛澶氫釜鍚庡彴鎴栬呭叡鍚屼嬌鐢ㄤ竴涓鍚庡彴銆
姣斿傚湪鍚屼竴涓猇irtualHost閲岄潰錛屼笉鍚岀殑path瀵瑰簲涓嶅悓鐨刣jango欏圭洰錛屽彲浠ュ悓鏃朵嬌鐢ㄤ竴涓狣aemon錛
?
1
2
3
4
5
6
7
span style="font-family: 'times new roman', times;"WSGIDaemonProcess default processes=1 threads=1 display-name=%{GROUP}
WSGIProcessGroup default
WSGIScriptAlias /project1 鈥/home/website/project1.wsgi鈥
WSGIScriptAlias /project2 鈥/home/website/project2.wsgi鈥/span
榪欐牱瀛愪袱涓猟jango閮戒嬌鐢ㄥ悓涓涓猈SGI鍚庡彴銆
涔熷彲浠ユ妸涓嶅悓鐨勯」鐩鍒嗗紑錛屽垎寮浣跨敤涓嶅悓鐨勫悗鍙幫紝榪欐牱寮閿姣旇緝澶э紝浣嗗氨涓嶄細鑰﹀悎鍦ㄤ竴璧蜂簡銆
display-name鏄鍚庡彴榪涚▼鐨勫悕瀛楋紝榪欐牱鏂逛究閲嶅惎瀵瑰簲鐨勮繘紼嬶紝鑰屼笉闇瑕佸叏閮ㄦ潃鎺夈
?
1
2
3
4
5
6
7
8
9
10
11
12
13
span style="font-family: 'times new roman', times;"WSGIDaemonProcess site1 processes=1 threads=1 display-name=%{GROUP}
WSGIDaemonProcess site2 processes=1 threads=1 display-name=%{GROUP}
Location 鈥/project1鈥
WSGIProcessGroup site1
/Location
WSGIScriptAlias /project1 鈥/home/website/project1.wsgi鈥
Location 鈥/project1鈥
WSGIProcessGroup site2
/Location
WSGIScriptAlias /project2 鈥/home/website/project2.wsgi鈥/span
瀵逛簬django 1.0浠ヤ笅鐨勭増鏈錛岀敱浜庡畼鏂硅ゅ畾涓嶆槸綰跨▼瀹夊叏鐨勶紝鎵浠ュ緩璁浣跨敤澶氳繘紼嬪崟綰跨▼妯″紡
?
1
processes=n threads=1
瀵逛簬django 1.0浠ュ悗錛屽氨鍙浠ユ斁蹇冪殑浣跨敤澶氳繘紼嬪氱嚎紼嬫ā寮忥細
?
1
processes=2 threads=64
榪欐牱瀛愭ц兘浼氭洿濂姐
③ python 集成開發環境哪個好
推薦10個好用的Python集成開發環境:
1. Pydev+Eclipse–最好的免費python IDE
Pydev的是Python IDE中使用最普遍的,原因很簡單,它是免費的,同時還提供很多強大的功能來支持高效的Python編程。Pydev是一個運行在eclipse上的開源插件,它把python帶進了eclipse的王國,如果你本來就是是一個eclipse的用戶那麼Pydev將給你家裡一樣的感覺。
Pydev能高居榜首,得益於這些關鍵功能,包括Django集成、自動代碼補全、多語言支持、集成的Python調試、代碼分析、代碼模板、智能縮進、括弧匹配、錯誤標記、源代碼控制集成、代碼折疊、UML編輯和查看和單元測試整合等。
2. PyCharm–最好的商業python IDE
PyCharm是專業的python集成開發環境,有兩個版本。一個是免費的社區版本,另一個是面向企業開發者的更先進的專業版本。
大部分的功能在免費版本中都是可用的,包括智能代碼補全、直觀的項目導航、錯誤檢查和修復、遵循PEP8規范的代碼質量檢查、智能重構,圖形化的調試器和運行器。它還能與IPython
notebook進行集成,並支持Anaconda及其他的科學計算包,比如matplotlib和NumPy。
PyCharm專業版本支持更多高級的功能,比如遠程開發功能、資料庫支持以及對web開發框架的支持等。
3.VIM
VIM是一個很先進的文本編輯器,在python開發者社區中很受歡迎。它是一個開源軟體並遵循GPL協議,所以你可以免費的使用它。
雖然VIM是最好的文本編輯器,但是它提供的功能不亞於此,經過正確的配置後它可以成為一個全功能的Python開發環境。此外VIM還是一個輕量級的、模塊化、快速響應的工具,非常適合那些很牛的程序員—編程從不用滑鼠的人。
4. Wing IDE
Wing IDE是另外一個商業的、面向專業開發人員的python集成開發環境,可以運行在windows、OS X和Linux系統上,支持最新版本的python,包括stackless Python。Wing
IDE分三個版本:免費的基礎版,個人版以及更強大的專業版。
調試功能是Wing IDE的一大亮點,包括多線程調試,線程代碼調試,自動子進程調試,斷點,單步代碼調試,代碼數據檢查等功能,此外還提供了在樹莓派上進行遠程調試的功能。
5.Spyder Python
Spyder Python是一個開源的python集成開發環境,非常適合用來進行科學計算方面的python開發。是一個輕量級的軟體,是用python開發的,遵循MIT協議,可免費使用。
Spyder python的基本功能包括多語言編輯器、互動式控制台、文件查看、variable explorer、文件查找、文件管理等。Spyder IDE也可以運行於windows、Mac或者Linux系統之上。
6.Komodo IDE
Komodo是Activestate公司開發的一個跨平台的集成開發環境,支持多種語言包括python。它是商用產品,但是提供了開源的免費版本叫Komodo Edit,能夠安裝在Mac、Windows和Linux系統上。
和大多數的專業python IDE一樣,Komodo也提供了代碼重構,自動補全,調用提示,括弧匹配,代碼瀏覽器,代碼跳轉,圖形化調試,多進程調試,多線程調試,斷點,代碼分析,集成測試單元等功能,並且集成其他的第三方庫,比如pyWin32。
7.PTVS-Best Python IDE for Windows
PTVS集成在Visual Studio中,就像Pydev可以集成在eclipse中一樣。PTVS將Visual
Studio變成了一個強大的、功能豐富的python集成開發環境,並且它是開源的,完全的免費。PTVS發布於2015年,由社區和微軟自己在維護。
8.Eric Python
Eric是一個開源python代碼編輯器和集成開發環境,提供很多高效編程需要的功能。它是純python編寫的,基於Qt GUI並集成強大的Scintilla編輯器功能。
Eric由Detlev Offenbach創建,遵循GPL協議,免費使用。經過多年的開發完善Eric已經成為一個常用的、功能豐富的集成開發環境。它提供一個可靠的插件管理系統,可以通過插件來擴展功能。Eric提供所有的基礎功能,比如調用提示、代碼折疊、代碼高亮、類瀏覽器、代碼覆蓋及分析等等。
9.Sublime Text3
Sublime Text3是目前為止功能最強大的跨平台的、輕量級的代碼編輯器。通過添加插件Sublime Text3可以成一個全功能的python IDE。
10.Emacs-Python Editor cum IDE
Emacs有屬於它自己的生態系統,它是一個可擴展的並能高度定製的GNU文本編輯器。它可以配置為一個全功能的免費的python集成開發環境。
Emacs在python開發中很受歡迎,他通過python-mode提供開箱即用的python。Emacs可以通過額外的擴展包來增加更多的高級功能。