Nginx+Uwsgi+Djangoプロジェクトは、サーバーに展開されます。


まず考えを言います。
1.ローカルdjangoプロジェクトのパッケージには主にpythonが持参するdistutils.comのセットアップが使われています。具体的なコードは以下の通りです。主に二つの問題はpackageが主にディレクトリと同じレベルのコードで包装されています。例えば、TCMSがもう一つのサブフォルダがあると、自動的にパッケージを作ることができなくなります。この時はdata_を使う必要があります。filesglob(*filename)ファイル名パターンマッチングは、ディレクトリ全体を通してファイルごとに該当するかどうかを判断する必要はありません。

from distutils.core import setup
import glob

setup(
 name = "demo",
 version = "0.1",
 packages = ['author_zxx','TCMS','static'],
 data_files= glob.glob('templates/*.html')
 )
2.包装に使う木の塊、つまりpythonの倉庫、pip freeze>>requirement.txt(requirement.txtはファイル名を聞き、勝手に起きる)

pip freeze > requeirement.txt
3.サーバが仮想環境をインストールする(非常に重要です。このステップは必ず開始してください。)

yum install virtualenv

yum install cirtualenvwrapper
4.仮想環境を作成し、仮想変換用のpythonインタプリタバージョンを指定します。

#         
cd my_project

#        my_project_env         
virtualenv my_project_env

#           python      -p   python        , my_project_env         
virtualenv -p /usr/bin/python2.7 my_project_env

#                   ,   bin        activate,                 ,source activate。
source my_project_env/bin/activate

#      
deactivate
5.仮想環境にdjangoとuwsgiをインストールする。インストールバージョンと開発環境を指定するには同じです。

pip install django==3.0.4

pip install uwsgi
6.djangoのプロジェクトを作成する

# .           ,    ,  project_name           。
django-admin startproject 'project_name' .
7.プロジェクトをFileZillaまたは他のインタラクティブソフトウェアにより、作成したばかりのディレクトリに入力します。
8.プロジェクトのアップロードが完了したら、私達が必要なカバンをインストールする必要があります。

#    pip freeze > requirement.txt   
pip install -r requirement.txt
9.完成したら、python manage.pu runserverでテストができますが、成功しましたか?次のような内容が表示されます。成功です。

May 08, 2020 - 10:53:33
Django version 3.0.4, using settings 'TsmWeb.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
10.その後、私たちはpython manage.py runserverの代わりにuwsgiをインストールしなければなりません。生産環境の中で、ずっと手動でサーバーを開くことができないからです。この時はuwsgiが必要です。今はすでにuwsgiをインストールしました。私たちはサーバープロジェクトのディレクトリの下でtest.pyファイルを作成します。

# test.py

def application(env, start_response):
 start_response('200 OK', [('Content-Type','text/html')])
 return "Hello World"
11.その後、linuxコマンドラインで入力します。

uwsgi --http :8001 --wsgi-file /‘  ,    '/test.py
次のコードがあれば、成功を表します。

*** Starting uWSGI 2.0.18 (64bit) on [Fri May 8 11:00:36 2020] ***
compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-39) on 07 May 2020 02:26:03
os: Linux-3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020
12.その後、私たちはNgixをインストールしたいです。

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install gcc-c++
yum install -y openssl openssl-devel

wget -c https://nginx.org/download/nginx-1.14.0.tar.gz

tar -zxvf nginx-1.14.0.tar.gz

cd nginx-1.14.0
./configure

make
make install
13.その後、nginxが正常に使用できるかどうかをテストします。私たちはnginxファイルの下でsbin/ディレクトリを取得して、実行する必要があります。  ./nginxは後でブラウザで私達の住所に訪問すればいいです。Welcome to Nginnxが現れたら!成功する
14.今はnginxとwsgiの配置です。これも一番頭が痛いです。

# uwsgi   
https://uwsgi-docs.readthedocs.io/en/latest/


# nginx      nginx.conf,      
https://www.jb51.net/article/131362.htm
締め括りをつける
ここで、Ngix+Uwsgi+Djangoプロジェクトについて、サーバーに展開している記事を紹介します。これまでの記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。