uwsgi djangoアプリケーションの導入

1683 ワード

ソフトウェアのインストール
1、python仮想環境構築:pip 3 install virtualenv virtualenvwrapper:参考https://www.jianshu.com/p/9ee09e2657c32、インストールdjango pip 3 install django=1.11.10 3、インストールuwsgi pip 3 install uwsgiインストールuwsgiインストールuwsgiで発生する可能性のある問題:(1)c++コンパイラが不足し、yum install-y gcc-c+(2)python-develが不足し、yum install python 3-devel.x86_64【注意python 3】
djangoプロジェクトを作成し、プロジェクトルートディレクトリの下にuwsgiを作成します.iniファイル
ファイルの内容は次のとおりです.
[uwsgi]
project_base = /home/nginx
project_name = 'xxx_app'
#         ,        /
http  = 0.0.0.0:3033
    #  http,         
#socket = 127.0.0.1:3033
    #   socket,    nginx uwsgi_pass         
stats = 0.0.0.0:4033
  #      IP   
daemonize = /var/log/nginx/%(project_name).uwsgi.log
    #    ,           
home=/root/.virtualenvs/venv_pdf2html
    #     python    
chdir = %(project_base)/%(project_name)    
    #     
wsgi-file = %(project_base)/%(project_name)/pdf_to_html/wsgi.py
pidfile = %(project_base)/%(project_name)/uwsgi_master.pid

uwsgiの起動、停止、再ロード
uwsgi --ini/home/nginx/xxx_app/uwsgi.ini uwsgi --reload/home/nginx/xxx_app/uwsgi_master.pid uwsgi --stop/home/nginx/xxx_app/uwsgi_master.pid
3つのbashファイルを作成できます.たとえば、プロジェクトbinディレクトリの下(なければ作成)で10_を作成するなど、リロードを停止するプロセスを容易に開始できます.run_uwsgi.sh、内容は以下の通りです.
#! /bin/bash
#      ,   virtualwrapper   
source ~/.bash_profile 
#      
workon venv_pdf2html 
#       
cd /home/nginx/xxx_app
#   uwsgi
uwsgi --ini /home/nginx/xxx_app/uwsgi.ini 

他の2つのファイルは似ていますが、最後の行の違いだけです.
プロジェクトディレクトリにアクセス:/home/nginx/xxx_app起動uwsgi:bin/10_run_uwsgi.sh停止uwsgi:bin/12_stop_uwsgi.sh uwsgiの再ロード:bin/11_reload_uwsgi.sh
モニタログ:tail-f/var/log/nginx/xxx_app.log