.. meta:: :keywords: web2py, framework, deploy, AMAZON Web Services, Elastic Beanstalk .. _aws_beanstalk_app_setup: web2py アプリケーションの設定とデプロイ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :ref:`aws_beanstalk_init_setup` にて、Beanstalk の初期設定及び動作確認が完了しました。ここでは、 web2py アプリケーションのデプロイを試してみます。 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 AWSサーバへの設定情報の反映(eb update コマンド) """"""""""""""""""""""""""""""""""""""""""""""""" optionsettings 設定ファイルの記述を変更後、 ``eb update`` コマンドを実行します。 このコマンドを実行することにより、AWS サーバ側に設定情報の変更が反映されます。 .. include:: eb_update_command.html Git によるコード管理 """""""""""""""""""" デプロイに必要なアプリのコードは、 **Git** でコードを管理することが必要です。 既に、 :ref:`aws_beanstalk_init_setup` で Git の初期設定を行なっています。 ``git add`` コマンドで Git リポジトリにコードを追加します。 .. include:: git_add_command.html 次に、 ``git commit`` コマンドで Git リポジトリをコミットします。 .. include:: git_commit_command.html これにより、デプロイするアプリのコードの準備ができました。 もしアプリのコードに変更があった場合同様に、 ``git add`` や ``git commit`` コマンドを実行します。 デプロイに不要なディレクトリやファイルは、 ``.gitignore`` ファイルに登録します。 初期設定では次のディレクトリしか登録されていません。 :: .elasticbeanstalk/ 必要に応じて、設定を追加してください。例えば次のように設定します。 :: .elasticbeanstalk/ *.pyc *.pyo errors/ databases/ sessions/ applications/examples/ この設定によって、pycファイル、エラー・データベース・セッションの各ディレクトリは リポジトリから除外します。さらに、 examples アプリケーションは全てを除外します。 アプリケーションコードのアップロード(git aws.push コマンド) """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 最後にアプリケーションコードのアップロードを行います。 アプリケーションコードは Git で管理されているため、 ``git aws.push`` コマンドでリポジトリのコード がプッシュされます。 .. include:: git_aws_push_command.html | | 全ての手順が完了したら、 :ref:`aws_beanstalk_init_setup_eb_start` の ``eb start`` コマンド実行後の サンプルアプリケーション確認方法を参考に、デプロイしたアプリケーションを確認してください。 特に手を加えていない web2py の場合、次のように welcome アプリケーションの画面が表示されます。 .. figure:: ../../images/web2py_deploy/web2py_deploy_005r.PNG :width: 70% :class: img-border