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=15aws: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 addやgit 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 アプリケーションの画面が表示されます。