Django サーバーのデプロイ (Nginx + uwsgi + Ubuntu)

概要

独自の Django プロジェクトをローカルで開発したら、それをサーバーにデプロイして、より多くの人がアクセスできるようにします。

準備

Web サイトを展開するには、サーバーとドメイン名が必要です。私が使用しているAlibaba Cloud ECSクラウドサーバーもAlibaba Cloudで購入したドメイン名です。ドメイン名については、特別な用途がなければ、名前など、独自のアイデアに従って購入できます。ドメイン名の一般的なサフィックスは、.com (企業)、.org (組織)、.gov (政府)、.edu (教育)、自分のブログの場合は、io、xyz など、覚えやすい短いドメイン名を使用できます。要するに、ドメイン名はあなた自身のアイデアとプロジェクトのニーズに依存します (WeChat アプレットのインターフェースには .com ドメイン名が必要です)。

サーバーの選択については、一般的なサーバーをファイル サーバー、Web サーバー、データベース サーバー、メール サーバーなどに分けることができます。個人の Web プロジェクトを展開するために使用する場合は、Web サーバーを選択します。次に、サーバーのパフォーマンスと互換性を検討します. 購入する前に、実行するものと負荷がどれくらいかを判断して、CPU、メモリ、ハードディスク、帯域幅など、サーバーのおおよその構成を決定する必要があります. Web サイトに比較的大きなコンテンツが含まれている場合 動画や素材を保存する場合は、帯域幅を高くする必要があります。または、Qiniu Cloud や Alibaba Cloud のオブジェクト クラウド ストレージなどのサードパーティ サービスを検討する必要があります。問題。また、サーバーのアフターサービスも考えなければなりません.何か問題があればアフターサービスで迅速に解決できます.アリババクラウドは24時間体制でテクニカルサポートを提供してくれます. そして問題解決のスピードも比較的速いので、アリババクラウドを選びました。もう 1 つの重要なポイントは、サーバーのオペレーティング システムです。Linux サーバーに慣れていない場合は、Windows システムを正直に選択する必要があります。ほとんどのサーバーは Linux を使用していますが、展開、運用、保守を行うには、Windows システムを選択する方が便利です。使い慣れていない場合は非常に不便です.Baiduでコマンドを確認する必要があります.

無料展開

Nginxをインストールします。apt-get install nginx で nginx をインストールします。Ubuntu に Nginx をインストールした後、Nginx のすべての構成ファイルは /etc/nginx の下にあり、起動プログラム ファイルは /usr/sbin/nginx の下にあります。ログ ファイルは /var/log/nginx の下にあり、/etc/ にあります。スクリプトは init.d の下に作成されます。

    sudo /etc/init.d/nginx start #启动
    sudo /etc/init.d/nginx stop #停止
    sudo /etc/init.d/nginx restart #重启
 

UWSGI をインストールします。apt-get install python-dev と pip install uwsgi でインストールします。ここでの一般的なプロセスは次のとおりです。Nginx は、サーバーのフロント エンドとして、クライアントからのすべてのリクエストを受け取り、統一された方法でそれらを管理する責任があります。静的リクエストは Nginx 自体によって処理されます。非静的リクエストは、uwsgi を介して Django に渡され、Django によって処理されて Web リクエストが完了します。

Nginx+Uwsig+Django

 

uwsgi ファイルを構成します。uwsgi ファイルは、Uwsgi を構成ファイルとして起動するときに多くのパラメーターを使用します。その後、長いコマンドを起動しなくても、構成ファイルから uwsgi を起動できます (このファイルは、django プロジェクトの manage.py と同じレベルに配置されます)。

 

このうちchdirはDjangoプロジェクトのフルパス、socketはdjangoが動作するポート番号、moduleはdjango作成時のuwsgi.py、つまりこのファイルを指しています。

 

Nginx を構成します。/etc/nginx/sites-enabled ディレクトリを開き、nginx 構成ファイルのデフォルトを編集します

および静的ファイルの構成

次に、Nginx サービスと UWSGI サービス (uwsgi -d --ini uwsgi.ini) を再起動して、UWSGI サービスをバックグラウンドで実行します。

 

上記のアクセスは、IP アドレス アクセスによるアクセスの成功を指します. ドメイン名アクセスを構成する場合は、ドメイン名解決、セキュリティ グループ構成、ポート設定などを含む Alibaba Cloud または Tencent Cloud での解決も構成する必要があります。ドメイン名は通常アクセスされます. HTTPS アクセスが必要な場合は、CA 証明書を適用する必要があり、HTTPS 関連の構成を構成する必要があります. これらのタスクを完了すると、プロジェクトのデプロイは完了したと見なされます.

 

おすすめ

転載: blog.csdn.net/qq_35363507/article/details/104418160