1.2.3. web2py アプリケーションの設定とデプロイ

初期設定・サンプルアプリケーションの動作確認 にて、Beanstalk の初期設定及び動作確認が完了しました。ここでは、 web2py アプリケーションのデプロイを試してみます。

1.2.3.1. optionsettings の記述変更

デプロイするアプリケーション情報は eb start コマンド実行時に生成された、 .elasticbeanstalk ディレクトリの optionsettings 設定ファイルに記述します。 web2py を Beanstalk で動作させるためには、 optionsettings の次の記述を変更することが必要です。

[aws:elasticbeanstalk:container:python]
WSGIPath=application.py
NumProcesses=1
StaticFiles=/static=
NumThreads=15

aws:elasticbeanstalk:container:python 名前空間の WSGIPath が、 application.py になっています。 これを、web2py の WSGIハンドラである、 wsgihandler.py に変更します。

また StaticFiles=/static の記述も、アプリケーションの静的ファイルのディレクトリを指定します。 すると次のような設定記述になります。

[aws:elasticbeanstalk:container:python]
WSGIPath=wsgihandler.py
NumProcesses=1
StaticFiles=/static=applications/myapp/static/
NumThreads=15

1.2.3.2. AWSサーバへの設定情報の反映(eb update コマンド)

optionsettings 設定ファイルの記述を変更後、 eb update コマンドを実行します。 このコマンドを実行することにより、AWS サーバ側に設定情報の変更が反映されます。

C:\web2py>eb update
Enter an RDS DB master password:
Retype password to confirm:
Update environment? [y/n]: y

1.2.3.3. Git によるコード管理

デプロイに必要なアプリのコードは、 Git でコードを管理することが必要です。 既に、 初期設定・サンプルアプリケーションの動作確認 で Git の初期設定を行なっています。

git add コマンドで Git リポジトリにコードを追加します。

C:\web2py>git add .

次に、 git commit コマンドで Git リポジトリをコミットします。

C:\web2py>git commit -m "test code"

これにより、デプロイするアプリのコードの準備ができました。

もしアプリのコードに変更があった場合同様に、 git addgit commit コマンドを実行します。

デプロイに不要なディレクトリやファイルは、 .gitignore ファイルに登録します。 初期設定では次のディレクトリしか登録されていません。

.elasticbeanstalk/

必要に応じて、設定を追加してください。例えば次のように設定します。

.elasticbeanstalk/
*.pyc
*.pyo
errors/
databases/
sessions/
applications/examples/

この設定によって、pycファイル、エラー・データベース・セッションの各ディレクトリは リポジトリから除外します。さらに、 examples アプリケーションは全てを除外します。

1.2.3.4. アプリケーションコードのアップロード(git aws.push コマンド)

最後にアプリケーションコードのアップロードを行います。 アプリケーションコードは Git で管理されているため、 git aws.push コマンドでリポジトリのコード がプッシュされます。

C:\web2py>git aws.push



全ての手順が完了したら、 Benastalk サービス生成(eb start コマンド)eb start コマンド実行後の サンプルアプリケーション確認方法を参考に、デプロイしたアプリケーションを確認してください。

特に手を加えていない web2py の場合、次のように welcome アプリケーションの画面が表示されます。

../../_images/web2py_deploy_005r.PNG