1. 仮想環境virtualenvのインストール 1. virtualenvをインストールする
2. ディレクトリを作成し、プロジェクトファイルを転送する
3. 独立したオペレーティング環境の命名を作成する
4. 仮想環境に入る
5. 仮想環境にサードパーティのライブラリをインストールし、必要な環境をインポートします(エクスポートコマンド:pip3 freeze > packages.txt)
6. venv1環境を終了する
7. virtualenv はどのようにして「独立した」 Python ランタイム環境を作成するのでしょうか?原理は非常にシンプルで、システムのPythonをvirtualenv環境にコピーするだけです。 2. Djangoの設定 1.設定.py DEBUG = False #debug が false に変更されました ALLOWED_HOSTS = ['*'] # アクセスアドレスを「*」に変更してすべてを示す STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),"static") #nginxがアクセスするディレクトリは、前の静的ディレクトリに配置されます。絶対パスをカスタマイズできます STATIC_URL = '/static/' STATICFILES_DIRS = [os.path.join(BASE_DIR,"static"),] MEDIA_URL = '/archive/' MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'アーカイブ') #アバターなどユーザーがアップロードした静的ファイル 設定が完了したら、 2.urls.py django.urls から path、re_path をインポートします django.confから設定をインポートする django.views.static からインポートします urlパターン = [ re_path(r'^archive/(?P<path>.*)$', サーブ, {'document_root': settings.MEDIA_ROOT}, name='archive'), #ユーザーがアップロードしたファイルのパス('favicon.ico', serve,{'path': 'img/favicon.ico','document_root':settings.STATIC_ROOT}), #グローバル favicon.ico アイコン] 3. uwsgiをインストールして設定する 1. 仮想環境 venv1 に入り、uwsgi をインストールします (仮想環境の外でインストールするのが最適です)
2. スタートアップ ファイルを設定します (任意のディレクトリに置くことができますが、私は venv1 に置きました) #設定オプションを追加する [uwsgi] #ソケット接続をnginx socket=127.0.0.1:8000に設定します #http=0.0.0.0:8000 #http 接続 #プロジェクト パス (プロジェクトが配置されているディレクトリ) を設定します chdir = /opt/My/Myproject #wsgiインターフェースモジュールのファイルパス、つまりwsgi.pyファイルが配置されているディレクトリ名を設定します。wsgi-file = Myproject/wsgi.py #開始するプロセスの数を設定します processes=4 #各プロセスのスレッド数を設定します threads=2 #スタートアップ管理マスタープロセスを構成する master=True #仮想環境ディレクトリ home=/opt/My/venv1 #メインプロセスを格納するためのプロセス番号ファイルを設定します(スーパーバイザーログと競合すると言われているのでコメントアウトしました) #pidファイル=uwsgi.pid #ダンプログを構成する(上記と同じ) #デーモン化=uwsgi.log 3. 設定ファイルを指定して開始する
4. nginxをインストールして設定する 1. Centos8 に nginx をインストールする (直接 yum インストール)
2. nginx.confを設定する ユーザー nginx; worker_processes 2; #プロセス数 error_log /var/log/nginx/error.log; pid /run/nginx.pid; # 動的モジュールをロードします。/usr/share/doc/nginx/README.dynamic を参照してください。 /usr/share/nginx/modules/*.conf をインクルードします。 イベント { ワーカー接続 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log メイン; ファイル送信オン; tcp_nopush オン; tcp_nodelay オン; キープアライブタイムアウト65; タイプハッシュの最大サイズは2048です。 /etc/nginx/mime.types を含めます。 デフォルトタイプ アプリケーション/オクテットストリーム; # /etc/nginx/conf.d ディレクトリからモジュール構成ファイルを読み込みます。 # http://nginx.org/en/docs/ngx_core_module.html#include を参照してください 詳細については#をご覧ください。 /etc/nginx/conf.d/*.conf を #include します。 サーバー{ listen 80;#listenポート#listen [::]:80 default_server; server_name 192.168.3.119;# ドメイン名またはIP nginx を /usr/share/html にコピーします。 # デフォルトのサーバー ブロックの構成ファイルを読み込みます。 /etc/nginx/default.d/*.conf を追加します。 文字セット utf-8; 場所 /static { alias /opt/My/static; #静的ファイルアドレス (STATIC_ROOT) } 位置 / { uwsgi_params を含めます。 uwsgi_pass 0.0.0.0:8000; #プロジェクトポート番号 uwsgi_param UWSGI_SCRIPT Myproject.wsgi; #プロジェクトwsgi.pyディレクトリ uwsgi_param UWSGI_CHDIR /opt/My/Myproject; #プロジェクトディレクトリ} } } 3. nginxを起動する
5. スーパーバイザーをインストールして構成する 1. スーパーバイザーをインストールする
2. コマンドを使用してetcディレクトリに設定ファイルを生成します(カスタマイズ可能)
3. 設定ファイルの最後に次のコードを追加します。 [プログラム:myname] #タスク名 command=/opt/my/venv1/bin/uwsgi --ini /opt/my/venv1/uwsgi.ini #実行されたコマンドはuwsgiを実行します。 uwsgiは仮想環境にあります[プログラム:nginx] command=/usr/sbin/nginx #nginxを実行 4. スーパーバイザーを起動する supervisord -c /etc/supervisord.conf #スーパーバイザーを起動する supervisorctl -c /etc/supervisord.conf #スーパーバイザ対話型インターフェースに入る 5. 監督者の指揮 開始 myname #開始\ stop myname #停止>> タスク名またはallと書いてすべてを指定することができます restart myname #再起動/ Centos8 の Django プロジェクトに nginx+uwsgi をデプロイする方法に関するチュートリアルはこれで終わりです。Django プロジェクトに nginx+uwsgi をデプロイする方法に関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: JavaScript マウスイベントのケーススタディ
>>: Win10にmysql8.0.15 winx64をインストールしてサーバーに接続する際に問題が発生しました
場合によっては、SQL へのデータのエクスポートとインポートを容易にするために、特定のツールを使用し...
1. ファイルを現在のディレクトリに解凍しますコマンド: tar -zxvf mysql....ta...
これは、Web ページを Windows のスタート メニューなどのデスクトップ プログラムのように...
この記事では、主に、円形のダイナミックな光る特殊効果アニメーションを実現するための純粋な CSS3 ...
序文MySQL データベースを使用する過程では、データベースのバックアップと復元が必要になることがよ...
ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript...
SSHFS の機能: FUSE(Linux向けの最高のユーザー空間ファイルシステムフレームワーク)を...
目次序文文章プリミティブ型プリミティブ値ラッパーオブジェクト物体コンストラクタ通常機能(関数)プリミ...
3 ノード MGR 内の 1 つのノードに異常があり、MGR クラスターに再度追加する必要があるとし...
質問前回のクロスドメイン リソース共有に関する記事では、ドメイン間で Cookie を送信する場合、...
Java開発キットjdkをダウンロードするJDK のダウンロード アドレスはhttp://www.o...
目次意味カーソルの役割カーソルの使用カーソルの宣言カーソルを開くカーソルデータのトラバースカーソルを...
1. オンラインテキストジェネレーターBlindTextGenerator: デザイナーにとって、こ...
問題の説明プロジェクトに取り組んでいるときに、タブ バーの切り替え効果を作成する必要がある場合があり...
1. 解決策1.1 インターフェースコンテキストパスの説明2 つのバックエンド インターフェイス サ...