Djangoの展開--uwsgi + nginxの(超詳述)
環境:
python3.6
CentOSの7
Django1.11
ジャンゴとは、小規模なサイトを書いただけで、自分のローカルAの実行中に実行することができます!どのようにこのライン?私は他の人が訪れることができるようにそれがクラウドサーバーにデプロイすることができます聞きました!
どこから始めれば?Djangoは始めから私たちは行きました!古いルールは、次の手順を実行します。
1、ジャンゴアップローカル実行
ここでは、Djangoのプロジェクトの実施プロセスを話すことはありません、あなたはDjangoプロジェクトを書いたと仮定し、地元の127.0.0.1:8000は、最大実行できるように。さて、あなたの参照を与えるために、このプロジェクトは、おそらく長い道のりです。
- DjangoのアプリケーションIのKindleのディレクトリが作成され
2、プロジェクトの構成を変更
これは、プロジェクトディレクトリにあるsettings.pyファイル、いくつかの場所での主な重点を置いている:
①近いDEBUGモード:
具体的に
②ALLOWED_HOSTSを変更します。
具体的に
③静的構成ファイルストレージ・パス:
具体的に
優れたコンフィギュレーションの実装を変更した後:
python manage.py collectstatic
プロジェクトのルートディレクトリにプロジェクトの静的ファイルに使用される静的ファイルをコピーします。
3、およびnginxのuwsgiインストール
これは何も言うことはありません。。。独自のクラウドサーバーのアップロードには2つの良いツールは、
認証方法を確認するためにuwsgi良いアイデア後にインストール:
test.pyファイルを作成します。
DEF アプリケーション(ENV、start_responseを): start_responseを(' 200 OK '、[(' Content-Typeの'、' text / htmlの' )]) リターン [B " こんにちは、世界!' ] #のpython3 #リターン['こんにちは、世界! ']#python2
uwsgiサーバーを起動します。
uwsgi --http:8000 --wsgi- ファイル test.py
あなたがエラーなしで正常に起動することができた場合、それは問題になりません、あなたの端末に再検証も心配しないでください。
wgetの HTTP:// 127.0.0.1:8000 コンテンツへのかどうか、適切なアクセスを見て
図4に示すように、設定項目uwsgi
ここではプロジェクトであり、これはどこのフォルダにuwsgi.ini設定ファイルの作成
中uwsgi.iniに従います。
[uwsgi] #ジャンゴ - 関連設定 #ポートは、ここで自分自身に応じて設定することができる ソケット = 127.0。0.1:8001 ザ・ベースディレクトリ(フルパス)で#は、 #これは、アプリケーションを含むディレクトリである、あなたのDjangoプロジェクトのルートディレクトリです図は慎重にコントロールする のchdir = /ホーム/パイソン/ book2kindle #S WSGI Djangoのファイル #プロジェクト名は、ここで(ないアプリケーション名).wsgiで のModule1 = book2kindle.wsgi #プロセス - 関連セッティング #マスター マスター = trueに プロセスの#ワーカーの最大数 プロセス = 32 [アクセス許可...#で適切な - 必要になるかもしれ #chmodの -socket = 664 #クリア環境に終了 バキューム = trueに 、プラグインのpython = trueに 役に立たない仮想環境、あなたが設定できない場合#これは、プロジェクトの仮想Python環境である ホーム = /ホーム/パイソン/ book2kindle_env
5、設定項目nginxの
nginxの設定、フォルダ、centos7 nginxの設定ファイルの検索には/ etc / nginxの、このパスは、総nginx.confプロファイルを有し、2つのフォルダは、我々は、そこにある./conf.d,./default.d :nginx.conf(またはプロジェクト名の.conf)に以下のように変更して名前の次conf.dフォルダ(中国語訳に係る構成に相当)にnginx.confコピー
{HTTP 上流ジャンゴ{ ここで音符とuwsgi.iniサーバプロファイル一貫したソケットに# サーバ127.0。0.1:8002 ;#ためのAのWebポートソケット } サーバー{ 聞く 80 、 サーバ名xxx.com;ここで#は、埋めるために、それらのIPドメイン名またはサーバー(将来的には、アクセスモードのサイトを決定する) 文字セットUTF - 8 ; ルート は/ usr /報告このコンテンツ共有/ nginxの/ HTML; LOCATION / { ルート /ホーム/パイソン/ book2kindle / キンドル;#これはのパスDjangoのアプリです uwsgi_passジャンゴ; 含まuwsgi_params; uwsgi_paramsは#ファイルがインストール } LOCATION / 静的{ パス#Djangoプロジェクトの静的ファイル エイリアス /ホーム/パイソン/ book2kindle / 静的; } } }
6、およびnginxのスタートuwsgi
フォルダにUwsgi.ini実行します。
- このuwsgi uwsgi.ini
ターミナルで実行します。
サービスnginxの再起動
そして、あなたは、ドメイン名(DNSサーバーのIPアドレスにしたい場合)またはサーバーIPの下にウェブサイトを訪問することができます!
OK、逃げます!それは簡単です!