版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Nginx+uwsgi+DjangoPython開發(fā)環(huán)境部署1名詞解釋W(xué)SGIWSGI 的全稱為: Python Web Server Gateway Interface v1.0 (Python Web 服務(wù)器網(wǎng)關(guān)接口), 它是 Python 應(yīng)用程序和 WEB 服務(wù)器之間的一種接口。作用類似于FCGI 或 FASTCGI 之類的協(xié)議的作用。WSGI 的目標(biāo),是要建立一個(gè)簡單的普遍適用的服務(wù)器與 WEB 框架之間的接口。WSGI 的特點(diǎn)是:簡單、可移植等。2名詞解釋FlupWSGI 還只是一種規(guī)范,一種標(biāo)準(zhǔn),它要完成的作用是用來定義 Python 應(yīng)用程序要如何于 apache/lightt
2、pd/nginx 等之類的 WEB 服務(wù)器之間如何進(jìn)行通信和交換信息,它不是實(shí)際 可以直接拿來用的東西。而 flup 就是使用 Python 語言對 WSGI 的一種實(shí)現(xiàn),是可以用 于 Python 的應(yīng)用開發(fā)中的一種工具或者說是一種庫。flup 的官方網(wǎng)站為: 。flup 屬于開源軟件,采用了 BSD 風(fēng)格 的開放源碼授權(quán)。那么, WSGI 除了 flup 外,還有沒有其他的實(shí)現(xiàn)呢,當(dāng)然有,更多的實(shí)現(xiàn),可以參考:3名詞解釋Flup 支持的 WSGI 服務(wù)器/網(wǎng)關(guān)flup 支持三種 WSGI 服務(wù)器/網(wǎng)關(guān),分別為 AJP 1.3 , FastCGI ,和 SCGI 。而對于 flup 支持的這
3、三種 WSGI 服務(wù)器/網(wǎng)關(guān), flup 有分別提供了兩種不同風(fēng)格的版本:線程版本和進(jìn)程版本。這樣, flup 實(shí)際就支持六種類型的 WSGI 服務(wù)器/網(wǎng)關(guān),分別為:flup.server.ajp flup.server.ajpfork flup.server.fcgi flup.server.fcgifork flup.server.scgi flup.server.scgi_fork flup.server.cgi 4flup 在 Django 中的應(yīng)用作為一款非常著名和使用比較廣泛的 Python Web 開發(fā)框架,Django 中就應(yīng)用到了 flup 。 在 django/core/s
4、ervers/fastcgi.py 文件中,就調(diào)用了 django/core/handlers/wsgi.py 中的 WSGIHandler() 負(fù)責(zé)對 WSGI 的應(yīng)用進(jìn)行處理。WEB 處理流程:nginx flup(wsgi/django)lighttpd flup(wsgi/django)apache flup(wsgi/django)5總結(jié)Apache/Nginx/lighttpd: 相當(dāng)于一個(gè)request proxy,根據(jù)配置,把不同的請求轉(zhuǎn)發(fā)給不同的server處理,例如靜態(tài)的文件請求自己處理,這個(gè)時(shí)候它就像一個(gè)web server,對于fastcgi/python這樣的請求轉(zhuǎn)發(fā)
5、給flup這樣的Server/Gateway進(jìn)行處理flup: 一個(gè)用python寫的web server,也就是cgi中所謂的Server/Gateway,它負(fù)責(zé)接受apache/nginx/lighttpd轉(zhuǎn)發(fā)的請求,并調(diào)用你寫的程序 (application),并將application處理的結(jié)果返回到apache/lighttpdfastcgi: apache/nginx/lighttpd的一個(gè)模塊,雖然flup可以作為一個(gè)獨(dú)立的web server使用,但是對于瀏覽器請求處理一般都交給 apache/nginx/lighttpd處理,然后由apache/nginx/lighttpd轉(zhuǎn)
6、發(fā)給flup處理,這樣就需要一個(gè)東西來把a(bǔ)pache/nginx/lighttpd 跟flup聯(lián)系起來,這個(gè)東西就是fastcgi,它通過環(huán)境變量以及socket將客戶端請求的信息傳送給flup并接收flup返回的結(jié)果6更新yum源源路徑:/etc/yum.repos.d擴(kuò)展名為repo的都是源我是將10.3測試服務(wù)器上的源打包下載后覆蓋到我的虛擬機(jī)上。下圖是/etc/yum.repos.d下的源7安裝nginx模塊依賴性gzip 模塊需要 zlib 庫 rewrite 模塊需要 pcre 庫 ssl 功能需要 openssl 庫8如何檢查包9如何檢查包10獲取nginxWget Groupa
7、dd wwwUseradd g Id www11Nginx 配置選項(xiàng)-prefix=/usr/local/nginx-sbin-path=/usr/local/nginx/nginx #如果不配置此選項(xiàng)nginx命令將默認(rèn)安裝到/usr/local/nginx/sbin下-conf-path=/etc #默認(rèn)/usr/local/nginx/conf下-pid-path=/var/run #默認(rèn)/usr/local/nginx-user=www #nginx.conf下如果沒有配置將使用當(dāng)前設(shè)置-group=www 12Nginx 配置選項(xiàng)-with-http_ssl_module#開啟HTT
8、P SSL模塊,使NGINX可以支持HTTPS請求-with-pcre=/usr/lib#nginx啟用rewrite模塊依賴此庫-with-zlib=/usr/lib#nginx 啟用gzip模塊依賴此庫-with-openssl=/usr/lib#nginx啟用ssl模塊依賴此庫13Nginx 安裝Yum y install pcre-devel./configure -prefix=/usr/local/nginx -pid-path=/var/run/nginx.pid -user= -with-http_ssl_moduleMake & make install14安裝pythonW
9、get ./configure -prefix=/usr/local -enable-unicodeMake & make install/usr/local/bin/python2.715安裝djangowget Python2.7 setup.py installCd /usr/local/lib/python2.7/site-packages/djangoLn s bin/django-admin.py /usr/binMkdir p /wwwCd /wwwDjango-admin.py startproject oa16安裝flupwget Flup依賴setuptoolsWget C
10、d setuptools-0.6c11Python2.7 setup.py installCd flup-1.0.2Python2.7 setup.py install17安裝mysqldbwget Python2.7 setup.py install如果mysql是yum方式安裝的還需要安裝 mysql-devel18安裝uwsgiWget Python2.7 uwsgiconfig.py -build19創(chuàng)建django工程wget Python2.7 setup.py installLn s /usr/local/lib/python2.7/site-packages/django/dj
11、ango-admin.py /usr/binMkdir p /wwwDjango-admin.py startproject oaDjango_wsgi.pyimport osimport django.core.handlers.wsgios.environDJANGO_SETTINGS_MODULE = oa.settingsapplication = django.core.handlers.wsgi.WSGIHandler()20創(chuàng)建django工程Uwsgi.xml :8000 20 true pid 2 django_wsgi / / true true true true 604
12、821配置nginxuser ;worker_processes 8;error_log /usr/local/nginx/logs/nginx_error.log crit;pid /var/run/nginx.pid;#Specifies the value for maximum that can be opened by this process.worker_rlimit_no;events use epoll; worker_connections 51200;http include mime.types; default_type application/octet-strea
13、m; charset utf-8; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 8m;22配置nginx send; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level
14、2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; #limit_zone crawler $binary_remote_addr 10m; # uWSGI serving Django. # upstream django # Distribute requests to servers based on client IP. This keeps load # balancing fair but consistent per-client. In this in
15、stance were # only using one uWGSI worker anyway. # ip_hash; # server unix:/tmp/uwsgi.sock; # 23配置nginx server listen 80; server_name ; # Django admin media. location /media/admin/ alias /usr/local/lib/python2.7/site-packages/django/contrib/admin/media/; # Your projects static media. location /media/ alias /; # Finally, send all non-media requests to the Django server. location / root /; uwsgi_pass :8000; include uwsgi_params; log_format access $remote_addr - $remote_user $ti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度天津市公共營養(yǎng)師之三級營養(yǎng)師押題練習(xí)試題B卷含答案
- 2024年度四川省公共營養(yǎng)師之三級營養(yǎng)師通關(guān)題庫(附答案)
- 2024年度四川省公共營養(yǎng)師之二級營養(yǎng)師能力測試試卷A卷附答案
- 中國環(huán)保膠袋行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略研究報(bào)告
- 2025標(biāo)準(zhǔn)版煤炭鐵路運(yùn)輸合同范本
- 2020-2025年中國體外診斷試劑行業(yè)市場前景預(yù)測及投資方向研究報(bào)告
- 2025年中國手持衛(wèi)星通信終端行業(yè)市場前瞻與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 2025年汽車裝箱項(xiàng)目可行性研究報(bào)告
- 中國垃圾桶市場供需現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 中國軌道交通運(yùn)營維護(hù)行業(yè)市場前景預(yù)測及投資戰(zhàn)略研究報(bào)告
- 中外美術(shù)評析與欣賞智慧樹知到期末考試答案章節(jié)答案2024年湖南大學(xué)
- 事業(yè)單位考試《綜合知識(shí)和能力測試》試卷
- 福利住房與購房補(bǔ)貼制度
- 康師傅烏龍茗茶營銷策劃書
- 【川教版】《生命 生態(tài) 安全》四上第13課《預(yù)防凍瘡》課件
- 工廠籌建方案
- UPVC管道安裝施工方法
- 河南省鄭州高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)2023-2024學(xué)年三年級上學(xué)期1月期末科學(xué)試題
- 女裝行業(yè)退貨率分析
- 計(jì)算機(jī)基礎(chǔ)理論-進(jìn)制的概念及換算試題及答案
- 森林草原防火工作培訓(xùn)課件
評論
0/150
提交評論