Hetzner の Web ホスティングまたはマネージド サーバーで Django アプリケーションを実行する

0 株式
0
0
0
0

導入

このチュートリアルでは、Hetzner Webhostingまたはマネージドサーバーのサーバー上でPython Djangoアプリケーションを実行する方法を学びます。DjangoはPythonのウェブフレームワークです。デフォルトでは、このフレームワークはWSGI(Webサーバーアプリケーションインターフェース)上で動作しますが、マネージドApacheサーバーではmod_wsgiは使用できません。ただし、WSGIを他の互換性のあるインターフェースに変換する方法はいくつかあります。.

前提条件
  • SSH サポート (バージョン 9 以上) を備えた Web ホスティング、または SSH アクセスが有効になっている管理対象サーバー。.

ステップ1 – 依存関係をインストールする

ステップ1.1 – virtualenvのインストールと有効化
pip3 install --break-system-packages virtualenv mkdir /usr/home/holu/virtualenvs python3 -m virtualenv /usr/home/holu/virtualenvs/example_com . /usr/home/holu/virtualenvs/example_com/bin/activate
ステップ1.2 – Djangoのインストール
pip install django
ステップ 1.3 – Flup をインストールする (オプション、FastCGI の場合は必須)
pip install flup

ステップ2 – Djangoプロジェクトの作成と設定

ステップ2.1 – プロジェクトの開始
mkdir /usr/home/holu/djangoprojects env -C "/usr/home/holu/djangoprojects" django-admin startproject example_com
ステップ2.2 – プロジェクト構成

要求されたすべてのドメインを変数に 許可されたホスト 追加するとアクセス可能になります。.

vim /home/holu/djangoprojects/example_com/example_com/settings.py

打つことによって 「インポートモード」に進み、要求されたすべてのドメインを追加します。

ALLOWED_HOSTS = ['example.com']

打つことによって ESC 「コマンドモード」に戻り、 :wq Enter キーを押して保存し終了します。.

ステップ3 – Webサーバーのドキュメントルートを準備する

空の Web サイト ディレクトリを作成し、konsoleH のドキュメント ルートを変更します。.

mkdir -p /usr/home/holu/public_html/example_com
オプション1 – FastCGI

.htaccess を作成する

vim /usr/home/holu/public_html/example_com/.htaccess

打つことによって 「インポートモード」に進み、次の内容を入力します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ djangoapp.fcgi/$1 [QSA,L]
</IfModule>

打つことによって ESC 「コマンドモード」に戻り、 :wq Enter キーを押して保存し終了します。.

.fcgiスクリプトを作成する

vim /usr/home/holu/public_html/example_com/djangoapp.fcgi
#!/usr/home/holu/virtualenvs/example_com/bin/python
import sys
import os
import django
from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
sys.path.append("/usr/home/holu/djangoprojects/example_com")
os.environ['DJANGO_SETTINGS_MODULE']="example_com.settings"
django.setup(set_prefix=False)
WSGIServer(WSGIHandler()).run()

所有者の実行権限を設定します。

chmod 744 /usr/home/holu/public_html/example_com/djangoapp.fcgi
オプション2 – CGI

.htaccess を作成する

vim /usr/home/holu/public_html/example_com/.htaccess

打つことによって 「インポートモード」に進み、次の内容を入力します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ djangoapp.cgi/$1 [QSA,L]
</IfModule>

打つことによって ESC 「コマンドモード」に戻り、 :wq Enter キーを押して保存し終了します。.

.cgiスクリプトの作成

vim /usr/home/holu/public_html/example_com/djangoapp.cgi
#!/usr/home/holu/virtualenvs/example_com/bin/python
import sys
import os
import django
import wsgiref.handlers
from django.core.handlers.wsgi import WSGIHandler
sys.path.append("/usr/home/holu/djangoprojects/example_com")
os.environ['DJANGO_SETTINGS_MODULE']="example_com.settings"
django.setup(set_prefix=False)
wsgiref.handlers.CGIHandler().run(WSGIHandler())

所有者の実行権限を設定します。

chmod 744 /usr/home/holu/public_html/example_com/djangoapp.cgi

ステップ4 – テスト

テストするには、ドメインにアクセスしてください。以下の画像のような画面が表示されるはずです。

結果

これで、管理対象オペレーティング システムに Django アプリケーションをデプロイできるようになりました。.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

あなたも気に入るかもしれない