採用flask+uwsgi+nginx架構將flask應用程序部署在騰訊雲

 最近一星期加班爲學校作了一個教師發展中心平臺,在此總結一下部署經驗python

 環境:Centos7.0  python2.7.5nginx

 1.安裝nginxsql

    命令行輸入指令:sudo yum install nginxflask

   2.安裝pip服務器

    1. sudo yum –y install epel-release
    2. sudo yum –y install python-pip


 3.安裝virtualenv
    pip install virtualenvapp

    在應用程序目錄建立虛擬環境 virtualenv venv

 4.激活虛擬環境
    在目錄下home/magicroc/flasky
    virtualenv venv
    source /bin/activate

 5.虛擬環境下安裝uwsgi服務器
    pip  install uwsgi   (需安裝三個庫 )
      1.sudo yum install libxml2
      2.sudo yum install gcc
      3.sudo yum install python-devel

 6.安裝flask應用程序依賴包
    由於pip安裝時速度太慢,因此決定更改成pip國內源
    對指定包對安裝臨時使用豆瓣源
    pip install flask_sqlalchemy –i http://pypi.douban.com/simple

    永久更新源辦法  修改配置文件
    在主目錄下建立.pip文件夾
    mkdir ~/.pip
    而後在該目錄下建立pip.conf文件
    vi pip.conf
    寫入如下內容
    [global]
    trusted-host = pypi.douban.com
    index-url = http://pypi.douban.com/simple




  7.修改nginx配置文件(最後不要直接修改nginx.conf默認文件,筆者這裏是直接修改默認配置文件,不過不推薦這種行爲)python2.7

    vi etc/nginx/nginx.conf

    server {
      listen  80;
      server_name XXX.XXX.XXX; #公網地址

      location / {
    include      uwsgi_params;
    uwsgi_pass   127.0.0.1:8001;  # 指向uwsgi 所應用的內部地址,全部請求將轉發給uwsgi 處理
    uwsgi_param UWSGI_PYHOME /home/magicroc/flasky/venv; # 指向虛擬環境目錄
    uwsgi_param UWSGI_CHDIR  /home/magicroc/flasky; # 指向網站根目錄
    uwsgi_param UWSGI_SCRIPT manage:app; # 指定啓動程序
      }
    }


    啓動nginx:命令行輸入nginx
    關閉nginx:ps -ef|grep nginx
              查看nginx 線程ID
               kill -QUIT 線程ID

  8.修改uwsgi配置文件
    進入flask應用程序目錄 vi config.ini
    [uwsgi]
    # uwsgi 啓動時所使用的地址與端口
    socket = 127.0.0.1:8001 
    # 指向網站目錄
    chdir = /home/magicroc/flasky 
    # python 啓動程序文件
    wsgi-file = manage.py 
    # python 程序內用以啓動的 application 變量名
    callable = app 
    # 處理器數
    processes = 4
    # 線程數
    threads = 2
    #狀態檢測地址
    stats = 127.0.0.1:9191

    uwsgi 啓動 :虛擬環境下uwsgi config.ini
    uwsgi 關閉:虛擬環境下killall -9 uwsgisocket

相關文章
相關標籤/搜索