1. 程式人生 > >python 伺服器的架構搭建

python 伺服器的架構搭建

今天我將給大家介紹一種簡單的python伺服器的架構搭建:nginx + gunicron+supervisor + Django

Django 雖然自帶了http相應服務,但不穩定,響應個數也很少,不能滿足生產環境的需求,所以我們讓nginx 來專門響應http請求,nginx的作用是:路由轉發、負載均衡。
ubuntu環境 nginx伺服器的安裝:
sudo apt-get install nginx
nginx 伺服器配置
http請求配置

upstream http_cluster {
    server 127.0.0.1:8886;
    server 127.0.0.1:8889;
}

server {
    listen 80;
    server_name www.your_web_address.com;
    access_log /data/log/nginx/access_.log;
    error_log /data/log/nginx/error_.log;
    location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
            proxy_pass http://http_cluster;
    }      
}

https 請求配置:

server {
    listen 443;
    ssl on;
    ssl_certificate  /etc/ssl/crt/your.crt;
    ssl_certificate_key  /etc/ssl/crt/your.key;
    server_name www.your_web_address.com;
    access_log /data/log/nginx/access.log;
    error_log /data/log/nginx/error.log;
    location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
            proxy_pass http://http_cluster;
    }  
}

sudo service nginx restart

pip install gunicorn
sudo apt-get install supervisor
修改supervisord.conf
chmod=0700
chown=專案執行的使用者:專案執行的使用者

cd /etc/supervisor/conf.d/
新建一個配置檔案my.conf

[program:my_program_1]
command= 執行命令
      -w 20
      -b 0.0.0.0:8886
      -k sync
      --log-level debug
    directory=專案位置
    numprocs=1
    user=deploy
    autostart=true
    autorestart=true
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/%(program_name)s.log
    stdout_logfile_maxbytes=100MB
    stdout_logfile_backups=10

[program:my_program_2]
command=執行命令
  -w 20
  -b 0.0.0.0:8889
  -k sync
  --log-level debug
    directory=專案位置
    numprocs=1
    user=deploy
    autostart=true
    autorestart=true
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/%(program_name)s.log
    stdout_logfile_maxbytes=100MB
    stdout_logfile_backups=10

pip install Django
下面就是django專案的搭建,我就不多說了,網上很多,我們來講講各個部分的作用吧。因為django 不能直接把nginx伺服器, 但提供了wsgi介面,所以就需要一箇中間層gunicron,同時gunicron支援多程序,非同步功能,supervisor 的作用是用來管理gunicron服務,這一套環境佈置基本滿足中型網站的需求。

相關推薦

python 伺服器架構搭建

今天我將給大家介紹一種簡單的python伺服器的架構搭建:nginx + gunicron+supervisor + Django Django 雖然自帶了http相應服務,但不穩定,響應個數也很少,不能滿足生產環境的需求,所以我們讓nginx 來專門響應ht

Python 5分鐘搭建OCR伺服器,基本破解簡單的驗證碼!

Why? OCR(又叫光學字元識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程式設計師用OCR來編寫自己的庫檔案和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文字,省去了重新鍵入的麻煩。     &

架構師之路--伺服器叢集搭建、管理、與快速部署

今天的目標是有4臺Linux的伺服器架設一個小規模的叢集 1、我們可以隨時的擴充套件我們的伺服器叢集,就像牲口乾活一樣,一匹馬拉不動,可以由多匹馬來拉 2、在Linux中有一個hosts 檔案 ,每一臺機器都會有IP地址,搭建叢集的第一個工作

python scarpy爬蟲架構搭建步驟

第一步:當然是安裝python了,本人安裝的是2.7.3版本;可以到python的官網下載然後雙擊執行,一路“下一步”即可完成安裝。安裝好後,將python的安裝目錄新增到系統變數中,這樣才能夠在控

Python web 簡單伺服器搭建與執行

在Python2.6版本里,/usr/bin/lib/python2.6/ 目錄下會有 BaseHTTPServer.py, SimpleHTTPServer.py, CGIHTTPServer.py 但是在Python3.4裡,就沒有上面的3個檔案,而是合閉到了 /usr/bin/python3.4/

騰訊雲Ubuntu伺服器搭建Apache2+MySQL+Python

去年底閒來無事搞到了騰訊雲的學生優惠,想著搞個伺服器玩玩,花了不少時間搭建環境,在此簡單記錄一下以便不時之需 首先,配置域名DNS,給域名新增一個解析,指向自己伺服器的公網IP…… 1. 安裝Ap

python伺服器搭建遇到的坑

72 yum install git 204 yum -y install pypy 340 yum -y install docker 358 yum -y install

python多程序的web伺服器搭建

web_server專案目錄:  web_server html(資料夾) index.html static_web_server.py static_web_server.py編寫 import re import socket from m

伺服器搭建Anaconda+Tensorflow深度學習實驗環境(Python=3.5) 練習記錄

我使用騰訊雲,自己拿來做實驗用,環境是Ubuntu Server 16.04, 由於自己的本上用的帶圖形的Ubuntu,命令列操作逃課了。。。。。。現在補習在下面1:登入:在配置好伺服器輸出和輸入的埠(即22口)之後,在自己的終端上輸入以下命令:       ssh [ema

如何搭建微信房卡棋牌原始碼伺服器架構

 這裡的應用層,指的是CenterServer、LogonServer、LogServer、RoomServer等幾個伺服器,另外還包括遊戲模組的設計。不過遊戲模組和前4個伺服器的設計很不相同。這裡先說一下伺服器應用的詳細設計。      這上面提到的4個伺服器都需要響應客戶

selenium+python環境的搭建的自動化測試

ignore ble 卸載 onf specified oot mea png tar 一、安裝python: 我安裝的是2.7.13版本的;可以在CMD下 運行python命令查看是否安裝python,以及安裝版本; 在https://www.pyt

Python開發環境搭建

get python安裝 path 開發環境搭建 .py tar -s org pat 1、去到Python官網下載Python的安裝程序https://www.python.org/ 2、直接運行Python安裝程序python-2.7.13.msi(安裝方法很簡單,直接

LAMP 架構搭建與優化

.com mysql apache .html mysq com cnblogs lan php 安裝 MySQL 安裝 Apache 安裝 PHP Apache 相關命令 Apache 工作模式 LAMP 架構搭

LAMP架構搭建與優化

linux1.1mysql安裝LAMP是linux apache mysql php的簡寫MySQL是一個數據庫文件 apache提供http服務 很多網站站點使用php寫安裝下載MySQLwww.aminglinux.com/study_v2/chapter12.html下載 r.aminglinux.co

LNMP架構搭建與優化

linux1,1php編譯與安裝LAMPapache、mysql、phpLNMPnginx、mysql、phpmysql的安裝與LAMP的mysql安裝方法一樣先安裝mysql再安裝phpcd /usr/local/srcwget http://cn2.php.net/distributions/php-5.

Python 環境的搭建

新聞資訊 進制 ive 下載地址 terminal 文檔 targe http 新聞 Python最新源碼,二進制文檔,新聞資訊等可以在Python的官網查看到: Python官網:http://www.python.org/ 你可以在以下鏈接中下載 Python 的文檔,

中小企業架構搭建第一步

中小企業構架中小企業架構搭建規矩制定1環境必須統一,高度一致2必須註重預習對於網站而言,多個服務器組織在一起,形成企業的網站架構網站架構的組成部分用戶網站訪問者防火墻(硬件---華為 思科 juniper 軟件--iptables)對訪問流量進行策略控制負載均衡(nginx反向代理負載均衡 LVS hapro

基於DR模式的keepalived主從模式高可用架構搭建

linuxkeepalived高可用一:架構圖示2.keepalived是什麽?Keepalived的作用是檢測服務器的狀態,如果有一臺web服務器宕機 ,或工作出現故障,Keepalived將檢測到,通過VRRP協議,將有故障的服務器從系統中剔除,同時使用其他服務器代替該服務器的工作,當服務器工作正常後 K

Windows系統下Python環境的搭建

系統環境 ava rsquo ... sta chang 自定義 默認 python安裝 一、下載Python安裝包 Python官網:地址 下載在Pthon安裝包,目前Python 2.x最新版本Python 2.7.14,Python 2.x最新版本Python 3.

Windows 64 位系統下 Python 環境的搭建

for libs ref soft strong 註冊表 -- cnblogs %20 Windows 64 位開發環境 註意:本教程適用於 Windows 7 64 位操作系統 及 Windows 10 64 位操作系統,其他系統尚未經過校驗。 安裝 IDE PyCh