nginxの+ uwsgi Djangoプロジェクトを展開

プロジェクトが必要とするため、Djangoのプロジェクトを展開する必要があり、ここでuwsgiとのnginxの基盤は、ジャンゴを展開され、フォローアップの方法により、ドッキングウィンドウを展開されます

環境:

centos7

python3.5.4

django2.1.4

uwsgi2.0.18

nginx1.1.10

具体的な手順や注意事項:

1、CentOSの内の互換性取付py3.5.4

最初の依存関係をインストール

yumを-y groupinstall " 開発ツール" 
YUMのzlib-develのbzip2でのdevel opensslの-develのncursesの-develのsqliteの-develのreadlineの-のdevel TK-develのGDBM-develのDB4-develののlibpcap-develののXZ-develのインストール-y

空のフォルダを作成し、自分のニーズに応じてのpython3の別のバージョンをダウンロードし、私はPython3.5.4をダウンロード

MKDIRは/ usr / local /のpython3 

wgetのhttps://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

速度が十分に速い場合は、リポジトリにWinSCPの他のソフトウェア指定された場所を使用し、直接ダウンロードする公式サイトに行くことができ、私の店のディレクトリは/ usr / local /のpython3で、次のコマンドを使用します。

そして、ディレクトリにアーカイブを解凍、インストールのpython3

タール-xvJfのPython-3.6.2 .tar.xz 
CDのPython -3.6.2 /のconfigure --prefix =は/ usr / local / のpython3 
作る && make installを

最後に、ソフトリンクを作成

LN -sは/ usr / local /のpython3 / binに/のpython3は/ usr / binに/ のpython3 
のln -sは/ usr / local /のpython3 / binに/ PIP3は/ usr / binに/ PIP3

コマンドラインでのpython3テスト入力

 

2、CentOSの仮想環境でのインストールPY3

virtualenvのインストールPIP

 

(requirement.txtを使用して)仮想環境でシステムを復元するために3、サードパーティ製のパッケージ

ピップ-r requirement.txtをインストール

 

図4に示すように、仮想キーにインストールuwsgi(セクション3で、インストールを統一することができます)

uwsgiをインストールするPIP

テストuwsgi:

スクリプトを作成しますtest.py

DEF アプリケーション(ENV、start_responseを):
    start_responseを(' 200 OK '、[(' Content-Typeの'' text / htmlの' )])
     リターン [B " のHello World " ]

このコードは、テストコードのPY3バージョンです

ディレクトリにファイル:

uwsgi --http:8001 --wsgi-ファイルtest.py

アクセスにブラウザを開く:127.0.0.1:8001は、テストされた文字列を返します。

仮想マシンを使用している場合は、スローガンを開始することを忘れないことに注意してください

 

5、インストールと設定nginxの

(1)設置メイク、G ++インストールします。

YUM - yは作るのlibtool gccのはautomakeのautoconfのインストール
のgcc gccのyumをインストール -c ++を

(2)選択したインストールディレクトリ

CDは/ usr / local / srcに

(3)PCREライブラリのインストール

wgetのftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39 .tar.gzの
タール -zxvf PCRE-8.37 .tar.gzの
CDのPCRE -8.34 / 設定
メイクを && make installを

(4)zlibライブラリをインストール

入力したディレクトリの 
CDは/ usr / local / のsrc
 #は、インストールファイルのダウンロード 
wgetのhttp://zlib.net/zlib-1.2.11 は.tar.gz
 #をファイル-extracting 
のzlib-1.2.11 -zxvfタールは.tar.gzの
CDのzlibのを -1.2.11  / configureが
メイク && makeがインストール

(5)インストールのopenssl(いくつかのVPS SSLにデフォルトでインストールされていません)

CDは/ usr / local / SRC 
のwgetのhttps: //www.openssl.org/source/openssl-1.0 .1t.tar.gz 
タール -zxvfのopenssl-1.0.1t.tar.gz

(6)nginxのマウント

CDは/ usr / local / SRC 
のwgetのhttp: //nginx.org/download/nginx-1.1.10 .tar.gzの
タール -zxvfのnginx-1.1.10 は.tar.gzの
CDのnginxの -1.1.10 / 設定
してください && make installを

注:このエラーが発生する可能性があります

 

YUMのopensslのopenssl-develのインストール-y

(7)(niginxディレクトリ下nginx.conf)nginxのを配置

いくつかの点に注意してください。

{サーバ
        インクルードを聞く        8089 ポート#nginxのは、外国の暴露; 
        サーバー名を   127.0.0.1 ;#はまた、IPアドレスの代わりにドメイン名にアクセスするために使用することができ、外部IPを公開:www.xxx.com
     #文字セットKOI8-R。

        access_logのログ/ host.access.logメイン。

        位置 / {#1 uwsgi配置
            uwsgi_params含む; 
            uwsgi_pass 127.0.0.1:8000 #はuwsgiの構成に対応し、
            uwsgi_read_timeout 2 ; 
        } 
    
    LOCATION / 静的{ 
        別名は/ usr / local / py3workspace /プロ/ dboxStandard / StaticFile / ;#nginxの静的ファイルシステムアクセスDjangoのアドレス
         BREAK 
    }

(8)[スタート] nginxの

./nginx:/ sbinにインストールディレクトリにnginxの

(9)再起動

sbinにnginxのインストールディレクトリに/ nginxの-sリロードでnginxのを再起動することができます

また:

Uwsgiやプロセスを殺すために、対応するnginxのクエリ・ポート番号

netstatコマンドの-nap | grepを80

殺す-9プロセスIDを

そしてuwsi nginxsを再起動します

 

6つの注意事項

(1)プロジェクトのルートディレクトリには、Pythonの仮想環境を復元するために使用さrequestment.txtサードパーティのパッケージを持っている必要があります

requirement.txtを生成します。 

ピップフリーズ> requirement.txt

サードパーティ製のライブラリを復元します。  

ピップ-r requirement.txtをインストール

(2)プロジェクトのルートディレクトリプロファイルuwsgi.iniの確立

uwsgi.ini 
[uwsgi] 

nginxの接続使用する場合は 
ソケット= 127.0.0.1:8000 #をWebサーバーを実行する場合、直接HTTP = 127.0.0.1:8000 ベースディレクトリ(フルパス) 
のchdir =は/ usr / local / py3workspace /プロ/ dboxStandard ジャンゴのWSGIファイル 
モジュール= dboxStandard.wsgi #の存在・マスター・ 
マスター= 終了に関する明確な環境 
真空= メインプロセスのPID開始ファイル保存 
pidファイル=は/ usr / local / py3workspace /プロ/ dboxStandardを/ uwsgi.pid 












デーモンの出力として、uwsgi.logするログ情報を保存します。ログインして、バックグラウンドで実行する 
デーモン化=は/ usr / local / py3workspace /プロ/ dboxStandard / uwsgi.log 

労働者の最大数は、処理 
プロセスを= 4 仮想環境を指定して 
virtualenvの=は/ usr / localpy3workspace / ENV / dbox_matching_env

ソケット:uwsgi外部アドレス(nginxの設定ファイルは、対応する必要が)

CHDIR:Djangoプロジェクトのルートディレクトリ

マスター:メインプロセスの存在

真空:空の終了時に

モジュール:プロジェクト名.wsgi。 

デーモン化:uwsgiログが配置されています

プロセス:プロセスの最大数

virtualen:pythonの仮想環境のディレクトリ

(3)setting.PyプロファイルDjangoのシステムは、最後に追加される必要があります。

STATIC_ROOT = os.path.join(BASE_DIR、「staticfile」)6.7節インタビュー見つけるために、ファイルジャンゴ静的nginxのを作る(そうでない場合はフロントスタイルのレンダリングはありません)

Staticfileプロジェクトはまだ本当ファイル格納ディレクトリであります

(4)異なるシステムのDjangoアプリやパッケージ間の相互通話が仮想環境.pthディレクトリのファイルのウィンドウに追加する必要があり、Linuxシステムでは、ディレクトリが存在し、展開する必要があります

これは、ファイアウォールがアクセスを制限するために、あなたは(5)システムにアクセスするためのポートを開く必要かもしれ

 

7、システムアクセスジャンゴ

外部アドレスnginxの設定:IP /ドメイン:ポート/システムパス

以下のような:127.0.0.1:8089 /インデックス

 

 

それは私がジャンゴとデータベースのインストールバージョンが参加するデータベースやメッセージキューは言及しなかったが含ま展開プロセス、プロセス全体でシステムをDjangoのすべてです

それは、システムを起動する前にセロリを使用している場合、あなたはそれを起動する必要があります

セロリ-A Celery_pro労働者-l情報-P eventlet

 

おすすめ

転載: www.cnblogs.com/fclbky/p/11235923.html
おすすめ