ngix uwsgi djangoを組み合わせたウェブサイトの構築
最近、Python Web 開発を必要とする革新的なプロジェクトを行う必要があったため、非常に多用途の Python Web フレームワークである django を勉強しました。
なぜngixが必要なのですか?
まず、Web サイトを構築するためにこれら 3 つを組み合わせる必要がある理由について説明します。たとえば、いくつかの静的リソースをリクエストする必要がある場合、Django だけを使用する場合、負荷分散を実現できません。それらをすべて処理するには Django が必要で、リクエストを適切に分散することができません。ngix を使用するだけでこの問題を解決できます (このプロジェクトでは負荷分散を考慮する必要はないようですが、パフォーマンスの向上は常に必要です)。一部の動的リクエストは構成を通じて処理し、静的リクエストは独自に処理します。さらに、Web サイト上で PHP ページを実行する必要がある場合は、PHP リクエストを Apache に分散して処理することは間違いなく良い選択です。 . ngix と apache はソケット ポートを介して通信し、処理された結果をクライアントに返します。
それでは、なぜ uwsgi が必要なのでしょうか?
WSGI は Web サーバー ゲートウェイ インターフェイスです。 Webサーバー(nginxなど)とアプリケーションサーバー(uWSGIサーバーなど)間の通信の仕様です。 uwsgi は、uwsgi プロトコルと WSGI プロトコルの両方を実装する Web サーバーです。 簡単に言うと、uwsgi を使用して、uwsgi から django を起動し、ngix がポートを介して uwsgi と通信するこのプロセスで、gjango は wsgi サーバーの機能を実現し、ngix は wsgi クライアントの機能を実現しますが、Web 上で実行されます。 , ngix はサーバー の役割を果たします (コンピューター内の多くのソフトウェア通信はクライアントサーバーモデルです。たとえば、ファイルリソースはサービスであり、アプリケーションはこのサービスを呼び出すために対応するプロトコルを実装します)。これにより、ngix と django の間での uwsgi の転送が実現します。
ngix が django と直接通信できるようにしてはどうでしょうか?
uWSGI は、wsgi プロトコルも fcgi プロトコルも使用せず、代わりに、fcgi プロトコルよりも約 10 倍高速と言われている独自の uwsgi プロトコルを作成します。
uWSGI の主な特徴は次のとおりです:
◆超高速パフォーマンス。
◆メモリ使用量が少ない (Apache2 の mod_wsgi の約半分と測定)。
◆複数のアプリ管理。
◆詳細なログ機能(アプリのパフォーマンスやボトルネックの分析に使用できます)。
◆高度なカスタマイズ可能(メモリサイズ制限、一定数のサービス後の再起動など)。
3 つの原則は次のとおりです。
<span><code>the web client <-> the web server(nginx) <-> the socket <-> uwsgi <-> Django</code></span>
デプロイメントの開始
1. ngix をインストールします sudo apt-get install ngix
私のマシンのおかげでそれにはApacheもあります
変更は次のとおりです
2. djangoをインストールしますPython独自のパッケージマネージャーeasy_installを使用してインストールします。
easy_install django 最新バージョンを自動的にインストールします
3. uwsgi をインストールしますserver {
listen 8080 default_server;
listen [::]:8080 default_server ipv6
root /var/ngix; #将根目录改为/var/ngix
index index.html index.htm;
}
│ §─ マイグレーション─s │ │ └─ __init__.py
│ §── models.py
│ §── testing.py
│ └── views.py
§── db .sqlite3
§ ── manage.py
§── myproject
│ §── django.xml
│ §── __init__.py
│ §── __init__.pyc
│ っていつ── settings.py
│ §── ─ 設定 .pyc
│ §── urls.py
| <code>apt-get install python-dev #不安装这个,下面的安装可能会失败
pip install uwsgi
如果是apt-get安装就需要 sudo apt-get install uwsgi-plugin-python
</code>
それを ngix 設定ファイルに追加する必要があります。 <uwsgi>
<socket>127.0.0.1:8630</socket>
<chdir>/var/ngix/myproject/myproject</chdir>
<pythonpath>..</pythonpath>
<module>wsgi</module>
</uwsgi>
这里需要注意的是wsgi模块,网上很多都是错误的,直接用自动生成的就行。
ngixサービスを再起動してから、uwsgiサービスを開始します
$ uwsgi -x django.xml --plugin python
する必要がありますdjango のディレクトリで実行されます~~
一日頑張ったら完了です
他に学んだことを要約しましょう: /etc/dpkg/info/ の下にある対応するインストール ファイルを削除すると、適切なサブプロセス起動エラーの問題を解決できます。削除した後は、自動削除する必要があります
最後に、配布には大きな落とし穴があります。 ! ! ! ! ! ! !
データ共有: wsgi の概念 UWSGIのコンセプト nginx と uWSGI に基づいて Ubuntu に Django をデプロイ
uwsgi をスーパーバイザー管理に引き渡す方法 unavailable-modifier-requested-0 ソリューション
uwsgi マニュアル
uwsgi を使用した Django のデプロイに関するよくある質問のまとめ
Django 中国語チュートリアル より完全な英語チュートリアルを読むことをお勧めします
上記は私が参照した情報です
上記は、ngix uwsgi django を組み合わせた Web サイト構築を内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ログイン画面に「組織から PIN の変更を求められています」というメッセージが表示されます。これは、個人のデバイスを制御できる組織ベースのアカウント設定を使用しているコンピューターで PIN の有効期限の制限に達した場合に発生します。ただし、個人アカウントを使用して Windows をセットアップした場合、エラー メッセージは表示されないのが理想的です。常にそうとは限りませんが。エラーが発生したほとんどのユーザーは、個人アカウントを使用して報告します。私の組織が Windows 11 で PIN を変更するように要求するのはなぜですか?アカウントが組織に関連付けられている可能性があるため、主なアプローチはこれを確認することです。ドメイン管理者に問い合わせると解決できます。さらに、ローカル ポリシー設定が間違っていたり、レジストリ キーが間違っていたりすると、エラーが発生する可能性があります。今すぐ

Django のバージョンを確認する手順: 1. ターミナルまたはコマンド プロンプト ウィンドウを開きます; 2. Django がインストールされていることを確認します Django がインストールされていない場合は、パッケージ管理ツールを使用してインストールし、 pip install django コマンドを入力します。 3. インストールが完了したら、python -m django --version を使用して Django のバージョンを確認できます。

画面の明るさは、最新のコンピューティング デバイスを使用する上で不可欠な部分であり、特に長時間画面を見る場合には重要です。目の疲れを軽減し、可読性を向上させ、コンテンツを簡単かつ効率的に表示するのに役立ちます。ただし、設定によっては、特に新しい UI が変更された Windows 11 では、明るさの管理が難しい場合があります。明るさの調整に問題がある場合は、Windows 11 で明るさを管理するすべての方法を次に示します。 Windows 11で明るさを変更する方法【10の方法を解説】 シングルモニターユーザーは、次の方法でWindows 11の明るさを調整できます。これには、ラップトップだけでなく、単一のモニターを使用するデスクトップ システムも含まれます。はじめましょう。方法 1: アクション センターを使用する アクション センターにアクセスできる

iOS 17 では、Apple はモバイル オペレーティング システムにいくつかの新しいプライバシーおよびセキュリティ機能を導入しました。その 1 つは、Safari のプライベート ブラウジング タブに対して 2 段階認証を要求する機能です。その仕組みとオフにする方法は次のとおりです。 iOS 17 または iPadOS 17 を実行している iPhone または iPad では、Safari でプライベート ブラウズ タブを開いていて、再度アクセスするためにセッションまたはアプリを終了する場合、Apple のブラウザでは Face ID/Touch ID 認証またはパスコードが必要になります。言い換えれば、ロックが解除されている iPhone または iPad を誰かが手に入れても、パスコードを知らなければプライバシーを閲覧することはできません。

有名なアクティベーション スクリプト MAS2.2 バージョンでは、デジタル アクティベーションが再びサポートされています。このメソッドは @asdcorp とそのチームが考案したもので、MAS 作成者はそれを HWID2 と呼んでいます。 https://github.com/massgravel/Microsoft-Activation-Scripts から Gatherosstate.exe (オリジナルではなく、変更されたもの) をダウンロードし、パラメータを指定して実行し、AuthenticTicket.xml を生成します。まず元のメソッド: Gatherosstate.exePfn=xxxxxxx;DownlevelOriginalState=1 を確認し、次に最新のメソッド: Gatheros と比較します。

Django と Flask はどちらも Python Web フレームワークのリーダーであり、それぞれに独自の利点と適用可能なシナリオがあります。この記事では、これら 2 つのフレームワークを比較分析し、具体的なコード例を示します。開発の概要 Django はフル機能の Web フレームワークであり、その主な目的は、複雑な Web アプリケーションを迅速に開発することです。 Django は、ORM (オブジェクト リレーショナル マッピング)、フォーム、認証、管理バックエンドなどの多くの組み込み機能を提供します。これらの機能により、Django は大規模なデータを処理できるようになります。

Django は、Web 開発ライフサイクルのあらゆる側面をカバーする完全な開発フレームワークです。現在、このフレームワークは世界中で最も人気のある Web フレームワークの 1 つです。 Django を使用して独自の Web アプリケーションを構築する場合は、Django フレームワークの長所と短所を理解する必要があります。具体的なコード例も含め、知っておくべきことはすべてここにあります。 Django の利点: 1. 迅速な開発 - Django は Web アプリケーションを迅速に開発できます。豊富なライブラリと内部を提供します。

Django のバージョンを確認する方法: 1. コマンド ラインで確認するには、ターミナルまたはコマンド ライン ウィンドウで「python -m django --version」コマンドを入力します。 2. Python 対話型環境で確認するには、「import django」と入力します。 print(django.get_version())" code; 3. Django プロジェクトの設定ファイルを確認し、インストールされているアプリケーション情報を含む INSTALLED_APPS という名前のリストを見つけます。
