ハイライトの意味

このチュートリアルでは、ユーザーが入力またはカスタマイズする必要のある行はhighlighedになります。 残りはほとんどコピーアンドパスタブルである必要があります。

序章

Flaskは、Pythonで記述されたマイクロフレームワークであり、Webアプリケーションを開発するためのWerkzeugおよびJinja2テンプレートエンジンに基づいています。 これは、Webアプリを迅速に開発することを目的としています。

設定

ApacheがVPSにインストールされ、実行されている必要があります。 そうでない場合は、UbuntuへのLAMPスタックのインストールに関する記事のステップ1に従ってください。

ステップ1-mod_wsgiをインストールして有効にする

WSGI(Web Server Gateway Interface)は、Python用のWebサーバーとWebアプリ間のインターフェイスです。 Mod_wsgiは、ApacheがFlaskアプリケーションを提供できるようにするApacheHTTPサーバーmodです。

ターミナルを開き、次のコマンドを入力してmod_wsgiをインストールします。

sudo apt-get install libapache2-mod-wsgi python-dev

mod_wsgiを有効にするには、次のコマンドを実行します。

sudo a2enmod wsgi 

ステップ2–Flaskアプリを作成する

このステップでは、フラスコアプリを作成します。 アプリを/var /wwwディレクトリに配置します。

次のコマンドを使用して、/ var/wwwディレクトリに移動します。

cd /var/www 

図のように、mkdirを使用してアプリケーションディレクトリ構造を作成します。 “FlaskApp” を、アプリケーションに付ける名前に置き換えます。 次のコマンドを実行して、初期ディレクトリFlaskAppを作成します。

sudo mkdir FlaskApp

次のコマンドを使用して、このディレクトリ内に移動します。

cd FlaskApp

次のコマンドを実行して、別のディレクトリFlaskAppを作成します。

sudo mkdir FlaskApp

次に、このディレクトリ内に移動し、次のコマンドを使用してstaticおよびtemplatesという名前の2つのサブディレクトリを作成します。

cd FlaskApp
sudo mkdir static templates

ディレクトリ構造は次のようになります。

|----FlaskApp
|---------FlaskApp
|--------------static
|--------------templates

次に、フラスコアプリケーションロジックを含む __init__。pyファイルを作成します。

sudo nano __init__.py 

次のロジックをファイルに追加します。

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello, I love Digital Ocean!"
if __name__ == "__main__":
    app.run()

ファイルを保存して閉じます。

ステップ3–フラスコをインストールする

仮想環境をセットアップすると、アプリケーションとその依存関係がメインシステムから分離されたままになります。 これを変更しても、クラウドサーバーのシステム構成には影響しません。

このステップでは、フラスコアプリケーション用の仮想環境を作成します。

pipを使用してvirtualenvFlaskをインストールします。 pip がインストールされていない場合は、apt-getを使用してUbuntuにインストールします。

sudo apt-get install python-pip 

virtualenv がインストールされていない場合は、 pip を使用して、次のコマンドを使用してインストールします。

sudo pip install virtualenv 

次のコマンドを入力します( venv は、一時的な環境に付ける名前です)。

sudo virtualenv venv

次に、次のコマンドを使用して仮想環境をアクティブ化することにより、その環境にFlaskをインストールします。

source venv/bin/activate 

次のコマンドを実行して、Flaskを内部にインストールします。

sudo pip install Flask 

次に、次のコマンドを実行して、インストールが成功し、アプリが実行されているかどうかをテストします。

sudo python __init__.py 

「Runningonhttp:// localhost:5000/」または「Runningonhttp://127.0.0.1:5000/」と表示されます。 このメッセージが表示された場合は、アプリが正常に構成されています。

環境を非アクティブ化するには、次のコマンドを実行します。

deactivate

ステップ4–新しい仮想ホストを構成して有効にする

端末で次のコマンドを発行します。

sudo nano /etc/apache2/sites-available/FlaskApp

注:新しいバージョンのUbuntu(13.10+)では、VirtualHostファイルに「.conf」拡張子が必要です。代わりに次のコマンドを実行してください。

sudo nano /etc/apache2/sites-available/FlaskApp.conf

次のコード行をファイルに追加して、仮想ホストを構成します。 必ずServerNameをドメインまたはクラウドサーバーのIPアドレスに変更してください。

<VirtualHost *:80>
		ServerName mywebsite.com
		ServerAdmin [email protected]
		WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
		<Directory /var/www/FlaskApp/FlaskApp/>
			Order allow,deny
			Allow from all
		</Directory>
		Alias /static /var/www/FlaskApp/FlaskApp/static
		<Directory /var/www/FlaskApp/FlaskApp/static/>
			Order allow,deny
			Allow from all
		</Directory>
		ErrorLog ${APACHE_LOG_DIR}/error.log
		LogLevel warn
		CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ファイルを保存して閉じます。

次のコマンドで仮想ホストを有効にします。

sudo a2ensite FlaskApp

ステップ5–.wsgiファイルを作成する

Apacheは、.wsgiファイルを使用してFlaskアプリを提供します。 / var / www / FlaskApp ディレクトリに移動し、次のコマンドを使用して flaskapp.wsgiという名前のファイルを作成します。

cd /var/www/FlaskApp
sudo nano flaskapp.wsgi 

次のコード行をflaskapp.wsgiファイルに追加します。

#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApp/")

from FlaskApp import app as application
application.secret_key = 'Add your secret key'

これで、ディレクトリ構造は次のようになります。

|--------FlaskApp
|----------------FlaskApp
|-----------------------static
|-----------------------templates
|-----------------------venv
|-----------------------__init__.py
|----------------flaskapp.wsgi

ステップ6–Apacheを再起動します

次のコマンドでApacheを再起動して、変更を適用します。

sudo service apache2 restart 

次のようなメッセージが表示される場合があります。

Could not reliably determine the VPS's fully qualified domain name, using 127.0.0.1 for ServerName 

このメッセージは単なる警告であり、それ以上の問題なしに仮想ホストにアクセスできるようになります。 アプリケーションを表示するには、ブラウザーを開き、仮想ホスト構成で入力したドメイン名またはIPアドレスに移動します。

これで、フラスコアプリケーションが正常にデプロイされました。

投稿者:Kundan Singh