ホームページ > バックエンド開発 > Python チュートリアル > DjangoフレームワークをベースにしたWebサイト展開を詳しく解説

DjangoフレームワークをベースにしたWebサイト展開を詳しく解説

高洛峰
リリース: 2017-03-09 09:56:49
オリジナル
1668 人が閲覧しました

Rreeee

1. ドメイン名

まず、Web サイト http://www.example.com/ に入ると、まず DNS を通じて対応する IP アドレスを解析して IP にアクセスします。したがって、他の人が私たちのプロジェクトにアクセスするための最初のステップは、ドメイン名とパブリック IP という 2 つのものを取得することです。

ドメイン名の取得は非常に簡単で、登録して購入するだけです。次に必要なのは、ドメイン名をパブリック IP に解決することです。パブリック IP は通常、クラウド サーバーを購入するときに取得できます。
このステップの後、リクエスト --> DNS --> サーバー ip を達成しました。最終的な目標は、リクエスト --> DNS--> サーバー ip--> ブラック ボックス --> です。プロジェクト wsgi アプリケーション

2. gunicorn を使用してプロジェクトを実行します

ここでは、プロジェクトが完了したら、django を使用してプロジェクトをビルドします。リクエストをリッスンし、リクエストを受信し、対応する wsgi アプリケーションを呼び出すサービス プログラムを実行する必要があります。たとえば、python manage.py runserver 0.0.0.0:8000 を実行します。 Runserver は、デバッグ用に Django に付属する wsgi ベースのサービス プログラムです。

クラウドサーバー上にプロジェクトを作成します

django-admin.py startproject blog

Wsgi.py

对于刚入门的同学,当完成了项目代码,在本地localhost的调试没问题后,会遇到如何让项目上线的问题。
网上的资料过于繁杂,因此希望这篇能简单地为刚入门的同学解惑。
ログイン後にコピー
プロジェクトの下で次のコマンドを実行します

gunicorn wsgi:application

default binding 127.0 .0.1: 8000. gunicorn の具体的な使用法については、Google で検索できます。現時点では、ローカルの 8000 ポートを介してプロジェクトのコンテンツにアクセスできます。実装: リクエスト-->DNS-->サーバーIP-->ブラックボックス-->127.0.0.1:8000-->プロジェクトwsgiアプリケーション


3.nginxは外部リクエストを受信し、内部に転送します

/etc/nginx/sites-available/ フォルダーに新しいファイル blog を作成し、次の簡単な設定を追加します

import os
import sys
# 当使用virtualenv等隔离项目环境时,需要将项目的路径添加添加到查找路径中
path = os.getcwd()
if path not in sys.path:
    sys.path.append(path)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
ログイン後にコピー

上記のことから、nginx がリクエストを受信した後、gunicorn が存在するローカル 8000 ポートにリクエストを転送することがわかります。 gunicorn は、リクエストに従ってプロジェクト内の対応するアプリケーション関数を呼び出した後、結果を返します。

それ以来、基本的にリクエスト-->DNS-->サーバーIP-->nginx (ポート80)-->127.0.0.1:8000-->プロジェクトwsgiアプリケーションを実装しました

そしてnginxとgunicorn には多くの具体的な設定がありますので、さらに詳しく学習するには、Google で詳しく調べてください

4. 概要

gunicorn はプロジェクトを実行します

nginx は、リクエストを受信し、実行中のプロジェクトがリクエストをリッスンするポートにリクエストを転送する責任があります

オンラインでデプロイする場合の主な要件は、ドメイン名とパブリック IP はどちらもクラウド サーバーを通じて解決できるため、クラウド サーバーを購入して練習するのが最善です。

以上がDjangoフレームワークをベースにしたWebサイト展開を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート