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可以通过额外的扩展包来增加更多的高级功能。