プロジェクトが必要とするため、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