Django nginx配置實(shí)現(xiàn)過程詳解
django
在引入第三方模塊的時(shí)候保證服務(wù)的高可用,要設(shè)立一個(gè)備份接口,當(dāng)主接口宕機(jī)時(shí)可以設(shè)置一個(gè)超市參數(shù)來使用備份的接口。
nginx
反向代理器,網(wǎng)站服務(wù)器,負(fù)載均衡
基本命令
sudo nginx啟動 sudo nginx -s stop sudo nginx -s quit sudo nginx -s reopen關(guān)鍵配置模塊
events配置域:網(wǎng)絡(luò)連接相關(guān)配置(I/O模塊) server配置域:相關(guān)服務(wù)節(jié)點(diǎn)配置 location http配置域 upstream配置域:反向代理配置域層次關(guān)系
events {....}http {...upstream {...}server {...location {...}}}
WSGI協(xié)議:web server 和 web application通信的規(guī)范
uwsgi : webserver 接受客戶端的請求,傳送給 web application
web application :django flask tornado
django uwsgi部署
uWSGI可以進(jìn)行多線程調(diào)度,進(jìn)程監(jiān)控 提供完善的請求日志處理 runserver 性能差為什么有了uwsgi還要使用nginx
nginx提供了更加安全的服務(wù)保障 提供反向代理,負(fù)載均衡等功能 對于靜態(tài)文件處理能力強(qiáng)nginx配置步驟
uwsgi啟動django應(yīng)用服務(wù)
修改nginx配置文件完成反向代理配置
/etc/nginx/sites-available/nginx.conf備份
upstream uwsgi {server 127.0.0.1:8000;}server {listen:80;server_name: .xxxxx.com 無論一級域名還是二級域名charset:utf-8;access_log # 可以配置日志文件location / {proxy_pass http://uwsgi; # 所有訪問域名的連接轉(zhuǎn)發(fā)到配置好的upstream }}
刪除源/nginx.conf 給新配置的conf設(shè)置軟連接
收集靜態(tài)文件,完成靜態(tài)文件尋址配置
設(shè)置好static_url
python manage.py collect
拷貝生成的目錄
server {listen:80;server_name: .xxxxx.com 無論一級域名還是二級域名charset:utf-8;access_log # 可以配置日志文件location / {proxy_pass http://uwsgi; # 所有訪問域名的連接轉(zhuǎn)發(fā)到配置好的upstream }location /static {alias 拷貝好的目錄}}
nginx -s reload
https部署,可以在騰訊云申請個(gè)人域名免費(fèi)https,配置好server中的certificate
負(fù)載均衡 反向代理upstream,配置權(quán)重,直接在每一個(gè)配置好的upstream中配置權(quán)重weight。關(guān)閉uwsgi端口的訪問。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. css進(jìn)階學(xué)習(xí) 選擇符2. HTML <!DOCTYPE> 標(biāo)簽3. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera4. css代碼優(yōu)化的12個(gè)技巧5. 詳解瀏覽器的緩存機(jī)制6. HTML DOM setInterval和clearInterval方法案例詳解7. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案8. 告別AJAX實(shí)現(xiàn)無刷新提交表單9. 使用css實(shí)現(xiàn)全兼容tooltip提示框10. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)
