画面はすべてColorfulboxとなります。
cPanelからアプリケーションを作成する
- 1. まずは、ログインをしてcPanelにはいります。ソフトウェアの中に「Setup Python App」があるのでクリック。
- 2. 「CREATE APPLICATION」をクリック。
- 3. 各種設定をします。
①Python version: Pythonのバージョンを選択します。
②Application root: 作成するアプリをサーバーのどこに配置するかを設定します。ホームディレクトリに生成されます。(画像の場合は「~/api_test」)
③Application URL:独自ドメインやサブドメインを利用している場合はプルダウンで選択します。
④テキストボックスは、アプリケーションのURLを指定します。(デフォルトは「/」でpublic_html/index.htmlがある場合はそちらが優先されるようです。)
⑤Application startup file: アプリケーションを起動するファイルを指定します。(空欄だと自動指定)
⑥Application Entry Point: WSGIがロードするオブジェクトの名前を指定します。(空欄だと自動指定)
⑦Enviroment variables: 環境変数が必要な場合は設定します。
⑧すべて設定を終えたら「CRATE」ボタンをクリックします。成功した場合、右上に「Application Created」の表示と、作成された環境の場所が表示されます。
動作確認
実際にアプリケーションが動いているか確認してみましょう。
Application URLの右に「OPEN」というリンクができているのでクリックします。
実際に表示できていれば動作ができています。もし動いていない場合は「500エラー」等が表示されます。
Python環境を見てみる
cPanel 若しくはSSH接続をしてPython環境を見てみましょう。
アプリ生成時に設定したディレクトリにアクセスすると、下記ファイルが生成されています。
「passenger_wsgi.py」が「app.py」を読み込んで表示されています。先ほどの表示の内容は「app.py」に書いてあります。
「passenger_wsgi.py」の「wsgi.app」のapp部分は、設定の⑥の部分、
「app.py」は、設定⑦の部分と連動していることがわかりますね!
import imp
import os
import sys
sys.path.insert(0, os.path.dirname(__file__))
wsgi = imp.load_source('wsgi', 'app.py')
application = wsgi.app
import os
import sys
sys.path.insert(0, os.path.dirname(__file__))
def app(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
message = 'It works!\n'
version = 'Python v' + sys.version.split()[0] + '\n'
response = '\n'.join([message, version])
return [response.encode()]
app.pyのソースを見ても、先ほど表示されていた内容と同じであることがわかると思います。
まとめ
この記事では、cPanelを使用してPython Appを作成する方法を紹介しました。
次回は、Flaskを使用してMySQLからデータの取得をするAPIを作成します。
コメント