AWS Elastic Beanstalk Django アプリケーション環境を CentOS6.5 上に PyDevを使って構築する(1) Django起動まで

基本的にチュートリアル、AWS Elastic Beanstalk への Django アプリケーションのデプロイ に従うが、CentOS6.5 に、Eclipse+PyDev を利用した環境を作成する。

チュートリアル で、Djangoの動作確認(It worked! のページが表示)が出来るところまで。

1.CentOS環境の構築

1.1.CentOS6.5 にPython2.7 をインストールする

まず、Elastic Beanstalk を使用する条件として、Python のバージョンが、2.7 もしくは 3.0 と指定されているため、Python2.7 を CentOS6.5 にインストールする。CentOS7 だと、Python2.7 が最初からインストールされているが、CentOS6.5では、Python2.6がデフォルト。

Python2.7 をインストールして、PIPが利用出来るようにする手順

を実施し、ソースコードからコンパイル、インストールする。インストールするときには

、altinstall を行い、2.6と2.7 を共存させる。2.6を2.7で置き換えてしまうと、システム管理

ツールなど、Pythonを利用しているツールが動かなくなってしまう。

  1. # make && make altinstall

あとは、コンパイル時にエラーになったら、不足しているライブラリなどを適宜インストールする。

Django のインストールはこの時点では不要。

1.2.Virtualenv のインストールと起動

https://virtualenv.pypa.io/en/latest/index.html

Pythonの複数バージョンを隔離することで、同一環境にインストール出来るVirtualenvをインストールする。

ホームディレクトリにvirtualenv ディレクトリ(名称任意)を作成し、python2.7の環境を作成する。

  1. [piroto@localhost ~]$ mkdir virtualenv
  2. [piroto@localhost ~]$ virtualenv -p python2.7 ~/virtualenv
  3. Already using interpreter /usr/local/bin/python2.7
  4. New python executable in /home/piroto/virtualenv/bin/python2.7
  5. Also creating executable in /home/piroto/virtualenv/bin/python
  6. Installing setuptools, pip...done.

Virtualenv を起動(activate)する。(終了するときは、deactivate)

  1. [piroto@localhost ~]$ . ~/virtualenv/bin/activate

1.3.Djangoとmysql-pythonのインストール

1.3.1 Djangoのインストール

Virtualenv 環境に、pip を使ってDjango1.7.1をインストール

  1. (virtualenv)[piroto@localhost ~]$ pip install django==1.7.1
  2. Collecting django==1.7.1
  3. Using cached Django-1.7.1-py2.py3-none-any.whl
  4. Installing collected packages: django
  5. Successfully installed django-1.7.1

1.3.2 mysql-python のインストール

同様に、mysql-python1.2.5 をインストール

  1. (virtualenv)[piroto@localhost ~]$ pip install mysql-python==1.2.5
  2. Collecting mysql-python==1.2.5
  3. Downloading MySQL-python-1.2.5.zip (108kB)
  4. 100% |################################| 110kB 2.8MB/s
  5. Installing collected packages: mysql-python
  6. :(略)
  7. Successfully installed mysql-python-1.2.5

1.3.3 MySQLをローカル環境に導入

チュートリアルにはないが、ローカル環境で実行させたいので、Elastic Beanstalk の MySQL バージョンに合わせて5.5 をローカルにインストールする。

http://dev.mysql.com/downloads/mysql/

Linux – Generic を選択し、Looking for previous GA versions? リンクをクリック

mysql_install01

一式必要なものがバンドルされた、Linux – Generic 2.6 (x86, 32-bit), RPM Bundle のダウンロードボタンを押下

mysql_install02

この画面で、No thanks, just start my download. のリンクに直接ダウンロードするパスがかかれているので、それを使って、wget する。上のボタンはサインインが必要で面倒。

mysql_install03

解凍とインストール

  1. # tar -xvf MySQL-5.5.41-1.linux2.6.i386.rpm-bundle.tar
  2. rpm -ivh MySQL-shared-5.5.41-1.linux2.6.i386.rpm
  3. rpm -ivh MySQL-shared-compat-5.5.41-1.linux2.6.i386.rpm
  4. rpm -ivh MySQL-server-5.5.41-1.linux2.6.i386.rpm
  5. rpm -ivh MySQL-client-5.5.41-1.linux2.6.i386.rpm
  6. rpm -ivh MySQL-devel-5.5.41-1.linux2.6.i386.rpm

root のパスワードを設定

  1. /usr/bin/mysqladmin -u root password 'new-password'
  2. /usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

以下を実行

  • root でログイン
  • “phrase” という名前のデータベースを作成
  • “phrase_app” というユーザーを作成
  • “phrase_app” にDB管理権限を与える
  1. $ mysql -u root -p
  2. Enter password:
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is 3
  5. Server version: 5.5.41 MySQL Community Server (GPL)
  6.  
  7. Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
  8.  
  9. Oracle is a registered trademark of Oracle Corporation and/or its
  10. affiliates. Other names may be trademarks of their respective
  11. owners.
  12.  
  13. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  14.  
  15. mysql> create database phrase default character set utf8;
  16. Query OK, 1 row affected (0.03 sec)
  17.  
  18. mysql> create user phrase_app@'%';
  19. Query OK, 0 rows affected (0.00 sec)
  20.  
  21. mysql> grant all privileges on *.* to phrase_app@'%' identified by '*****' with grant option;

1.4 AWS Elastic Beanstalk ツールのインストールと設定

1.4.1 AWS Elastic Beanstalk Command Line Tool のダウンロード

以下からダウンロードし、適当なディレクトリに解凍する

http://aws.amazon.com/code/6752709412171743

1.4.2 PATHを通し、エイリアスを設定

  1. (virtualenv)[piroto@localhost phrase]$ export PATH=$PATH:/opt/AWS-ElasticBeanstalk-CLI-2.6.4/eb/linux/python2.7/
  2. (virtualenv)[piroto@localhost phrase]$ alias eb="python2.7 /opt/AWS-ElasticBeanstalk-CLI-2.6.4/eb/linux/python2.7/eb"

1.4.3 bashrc に設定を記述しておく

/etc/bashrc の末尾に以下を追記し、次回ログイン時にも再設定されるようにしておく

  1. export PATH=$PATH:/opt/AWS-ElasticBeanstalk-CLI-2.6.4/eb/linux/python2.7/
  2. alias eb="python2.7 /opt/AWS-ElasticBeanstalk-CLI-2.6.4/eb/linux/python2.7/eb"

2.Eclipse + PyDevのインストール

2.1 Eclipse をダウンロードして適当なディレクトリに展開

http://www.eclipse.org/downloads/?osType=linux&release=undefined

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR1/eclipse-java-luna-SR1-linux-gtk.tar.gz

2.2 PyDevのインストール

http://pydev.org/download.html

help > Install new Software > Add ボタン押下

以下を入力し、OK、PyDevにチェックし、ウィザードに従いインストールを完了する。

Name: PyDev

Location : http://pydev.org/updates

pydev_install

3.プロジェクトの作成

3.1 Virtualenvをインタープリタとして設定

http://okdtsk.hateblo.jp/entry/20111221/1324415529
Widow > Preference で設定ウィンドウをひらき、PyDev > Interpreters > Python Interpreter で New ボタンを押下。

venv_interpreter_creation01

Interpreter Executeble のパスに、上記でインストールした Virtualenv のパス以下のpython2.7を指定する。

venv_interpreter_creation02

OKで、必要なライブラリのパスが自動で設定される。

venv_interpreter_creation03

3.2 PyDev Django プロジェクトの作成

Eclipse パッケージエクスプローラーの右クリック New > Other から ダイアログを開き、Pydev Django Projectを選択

create_django_project00

プロジェクト名を入力。今回の例では、“phrase” とする。

以下、さまざまな設定で、”phrase” というキーワードが出てくるが、それぞれのアプリケーション名に読み替える。

create_django_project01

以降、ウィザードに従い完了させる。

3.3 Git の設定

作成したプロジェクトの右クリックからTeam > Shre Project

git_setting01

Git を選択し次へ

git_setting02

「Use or create repository in parent folder of project」にチェックをいれ、下段の Create Repository ボタンを押下したのち、プロジェクトにチェックを入れて完了する。

プロジェクトを削除すると、リポジトリも併せて削除されてしまうためか、リポジトリをEclipseのワークスペースに作成するのは、非推奨とメッセ-が出るが、続行する。

git_setting03

3.4 プロジェクトの編集

最低限のプロジェクト編集を行う。

3.4.1 settings.py を編集する

チュートリアルの記述では、if ‘RDS_DB_NAME’ … ブロックの中だけだが、ローカルで実行したときには

、上記でインストールしたローカルのMySQLを参照するような記述にDATABASESを置き換える。

  1. if 'RDS_DB_NAME' in os.environ:
  2. DATABASES = {
  3. 'default': {
  4. 'ENGINE': 'django.db.backends.mysql',
  5. 'NAME': os.environ['RDS_DB_NAME'],
  6. 'USER': os.environ['RDS_USERNAME'],
  7. 'PASSWORD': os.environ['RDS_PASSWORD'],
  8. 'HOST': os.environ['RDS_HOSTNAME'],
  9. 'PORT': os.environ['RDS_PORT'],
  10. }
  11. }
  12. else:
  13. DATABASES = {
  14. 'default': {
  15. 'ENGINE': 'django.db.backends.mysql',
  16. 'NAME': 'phrase',
  17. 'USER': 'phrase_app',
  18. 'PASSWORD': '*****',
  19. 'HOST': '127.0.0.1',
  20. 'PORT': '3306',
  21. }
  22. }

以下の記述を追記する

  1. STATIC_ROOT = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'static')

3.4.2 .ebextentions/config ファイルの作成

ルートディレクトリに.ebextentions ディレクトリを作成し、その中に、.config 拡張子 のファイルを作成する。config 拡張子であれば、名前は任意で、アルファベット順に実行される。

  1. (virtualenv)[piroto@localhost phrase]$ ls -a
  2. . .. .git .project .pydevproject manage.py phrase phrase.config
  3. (virtualenv)[piroto@localhost phrase]$ mkdir .ebextensions
  4. (virtualenv)[piroto@localhost phrase]$ vi phrase.config

内容はチュートリアル通り。

チュートリアルでは、2回に分けて編集されるが、admin ユーザー作成のスクリプトなどを設定する2回目はうまく動かないので、1回目の状態で確認する。

  1. container_commands:
  2. 01_syncdb:
  3. command: "django-admin.py syncdb --noinput"
  4. leader_only: true
  5.  
  6. option_settings:
  7. - namespace: aws:elasticbeanstalk:container:python
  8. option_name: WSGIPath
  9. value: phrase/wsgi.py
  10. - option_name: DJANGO_SETTINGS_MODULE
  11. value: phrase.settings

3.4.3 requirements.txt の作成

ルートディレクトリに、requrements.txt を作成する。この記述にもとづいて、EC2のサーバが構成される。

pip freeze を使用すると以下のようなファイルが作成される。

  1. (virtualenv)[piroto@localhost phrase]$ pip freeze > requirements.txt
  2. (virtualenv)[piroto@localhost phrase]$ cat requirements.txt
  3. boto==2.34.0
  4. Django==1.7.1
  5. MySQL-python==1.2.5

3.5 構成の全体とGit コミット

プロジェクトの右クリック から Team > Commt を実行

commit_project01

コミットすると、全体で以下の様な構成になる。

commit_project02

4. Elastic Beanstalk の初期化と開始

4.1 初期化

Virtualenv が開始された状態で、上記プロジェクトのルートフォルダから、eb init を実行する。

設定内容は、チュートリアル「AWS Elastic Beanstalk を構成するには」を参照

  1. (virtualenv)[piroto@localhost phrase]$ eb init
  2. To get your AWS Access Key ID and Secret Access Key,
  3. visit "https://aws-portal.amazon.com/gp/aws/securityCredentials".
  4. Enter your AWS Access Key ID (current value is "AKIAJ*****DC3CQ"): **************************
  5. Enter your AWS Secret Access Key (current value is "7StGV*****emLaR"): **************************
  6. Select an AWS Elastic Beanstalk service region.
  7. Available service regions are:
  8. 1) US East (Virginia)
  9. 2) US West (Oregon)
  10. 3) US West (North California)
  11. 4) EU West (Ireland)
  12. 5) EU Central (Frankfurt)
  13. 6) Asia Pacific (Singapore)
  14. 7) Asia Pacific (Tokyo)
  15. 8) Asia Pacific (Sydney)
  16. 9) South America (Sao Paulo)
  17. Select (1 to 9): 7
  18. Enter an AWS Elastic Beanstalk application name (auto-generated value is "phrase"):
  19. Enter an AWS Elastic Beanstalk environment name (auto-generated value is "phrase-env"):
  20. Select an environment tier.
  21. Available environment tiers are:
  22. 1) WebServer::Standard::1.0
  23. 2) Worker::SQS/HTTP::1.0
  24. Select (1 to 2): 1
  25. Select a solution stack.
  26. Available solution stacks are:
  27. 1) 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5
  28. 2) 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.4
  29. 3) 64bit Amazon Linux 2014.03 v1.0.9 running PHP 5.5
  30. 4) 64bit Amazon Linux 2014.03 v1.0.9 running PHP 5.4
  31. 5) 32bit Amazon Linux 2014.03 v1.0.9 running PHP 5.5
  32. 6) 32bit Amazon Linux 2014.03 v1.0.9 running PHP 5.4
  33. 7) 32bit Amazon Linux running PHP 5.3
  34. 8) 64bit Amazon Linux running PHP 5.3
  35. 9) 64bit Amazon Linux 2014.09 v1.0.9 running Node.js
  36. 10) 64bit Amazon Linux 2014.03 v1.0.9 running Node.js
  37. 11) 32bit Amazon Linux 2014.03 v1.0.9 running Node.js
  38. 12) 64bit Windows Server 2008 R2 running IIS 7.5
  39. 13) 64bit Windows Server 2012 running IIS 8
  40. 14) 64bit Windows Server 2012 R2 running IIS 8.5
  41. 15) 64bit Windows Server Core 2012 R2 running IIS 8.5
  42. 16) 64bit Amazon Linux 2014.09 v1.0.0 running Tomcat 8 Java 8
  43. 17) 64bit Amazon Linux 2014.09 v1.0.9 running Tomcat 7 Java 7
  44. 18) 64bit Amazon Linux 2014.03 v1.0.9 running Tomcat 7 Java 7
  45. 19) 64bit Amazon Linux 2014.09 v1.0.9 running Tomcat 7 Java 6
  46. 20) 64bit Amazon Linux 2014.03 v1.0.9 running Tomcat 7 Java 6
  47. 21) 32bit Amazon Linux 2014.03 v1.0.9 running Tomcat 7 Java 7
  48. 22) 32bit Amazon Linux 2014.03 v1.0.9 running Tomcat 7 Java 6
  49. 23) 32bit Amazon Linux running Tomcat 7
  50. 24) 64bit Amazon Linux running Tomcat 7
  51. 25) 32bit Amazon Linux running Tomcat 6
  52. 26) 64bit Amazon Linux running Tomcat 6
  53. 27) 64bit Amazon Linux 2014.09 v1.0.9 running Python 2.7
  54. 28) 64bit Amazon Linux 2014.09 v1.0.9 running Python
  55. 29) 64bit Amazon Linux 2014.03 v1.0.9 running Python 2.7
  56. 30) 64bit Amazon Linux 2014.03 v1.0.9 running Python
  57. 31) 32bit Amazon Linux 2014.03 v1.0.9 running Python 2.7
  58. 32) 32bit Amazon Linux 2014.03 v1.0.9 running Python
  59. 33) 32bit Amazon Linux running Python
  60. 34) 64bit Amazon Linux running Python
  61. 35) 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.1 (Puma)
  62. 36) 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.1 (Passenger Standalone)
  63. 37) 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.0 (Puma)
  64. 38) 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.0 (Passenger Standalone)
  65. 39) 64bit Amazon Linux 2014.09 v1.0.9 running Ruby 1.9.3
  66. 40) 64bit Amazon Linux 2014.03 v1.0.9 running Ruby 2.1 (Puma)
  67. 41) 64bit Amazon Linux 2014.03 v1.0.9 running Ruby 2.1 (Passenger Standalone)
  68. 42) 64bit Amazon Linux 2014.03 v1.0.9 running Ruby 2.0 (Passenger Standalone)
  69. 43) 64bit Amazon Linux 2014.03 v1.0.9 running Ruby 2.0 (Puma)
  70. 44) 64bit Amazon Linux 2014.03 v1.0.9 running Ruby 1.9.3
  71. 45) 32bit Amazon Linux 2014.03 v1.0.9 running Ruby 1.9.3
  72. 46) 64bit Amazon Linux 2014.09 v1.0.11 running Docker 1.3.3
  73. 47) 64bit Debian jessie v1.0.2 running GlassFish 4.1 Java 8 (Preconfigured - Docker)
  74. 48) 64bit Debian jessie v1.0.2 running GlassFish 4.0 Java 7 (Preconfigured - Docker)
  75. 49) 64bit Debian jessie v1.0.2 running Python 3.4 (Preconfigured - Docker)
  76. Select (1 to 49): 27
  77. Select an environment type.
  78. Available environment types are:
  79. 1) LoadBalanced
  80. 2) SingleInstance
  81. Select (1 to 2): 1
  82. Create an RDS DB Instance? [y/n]: y
  83. Create an RDS BD Instance from (current value is "[No snapshot]"):
  84. 1) [No snapshot]
  85. 2) awseb-e-ptkmnhm3xx-stack-snapshot-awsebrdsdatabase-k9uebzidtrci
  86. 3) awseb-e-v93jmffmci-stack-snapshot-awsebrdsdatabase-19su3ax11n8uy
  87. 4) awseb-e-pzpnjjgrdb-stack-snapshot-awsebrdsdatabase-1ubni5tyda5lv
  88. 5) [Other snapshot]
  89. Select (1 to 5): 1
  90. Enter an RDS DB master password:
  91. Retype password to confirm:
  92. If you terminate your environment, your RDS DB Instance will be deleted and you will lose your data.
  93. Create snapshot? [y/n]: y
  94. Attach an instance profile (current value is "[Create a default instance profile]"):
  95. 1) [Create a default instance profile]
  96. 2) aws-elasticbeanstalk-ec2-role
  97. 3) [Other instance profile]
  98. Select (1 to 3): 1
  99. Updated AWS Credential file at "/home/piroto/.elasticbeanstalk/aws_credential_file".

4.2 開始

eb start でアプリケーションを開始する。上記でコミットしたプロジェクトも同時にデプロイする。

  1. (virtualenv)[piroto@localhost phrase]$ eb start
  2. Starting application "phrase".
  3. Would you like to deploy the latest Git commit to your environment? [y/n]: y
  4.  
  5. Waiting for environment "phrase-env" to launch.
  6. 2015-01-05 12:35:24 INFO createEnvironment is starting.
  7. 2015-01-05 12:35:26 INFO Using elasticbeanstalk-ap-northeast-1-964880067324 as Amazon S3 storage bucket for environment data.
  8. 2015-01-05 12:35:44 INFO Created load balancer named: awseb-e-t-AWSEBLoa-1HJDEDPG7Q729
  9. 2015-01-05 12:36:04 INFO Created security group named: awseb-e-t4mprz5myi-stack-AWSEBSecurityGroup-1XW8NESWTZ1JD
  10. 2015-01-05 12:36:08 INFO Created Auto Scaling launch configuration named: awseb-e-t4mprz5myi-stack-AWSEBAutoScalingLaunchConfiguration-KZQJAZH1APPM
  11. 2015-01-05 12:36:10 INFO Created RDS database security group named: awseb-e-t4mprz5myi-stack-awsebrdsdbsecuritygroup-1u0608gzw5cmf
  12. 2015-01-05 12:36:15 INFO Creating RDS database named: aammgm7f5g4f9w. This may take a few minutes.
  13. 2015-01-05 12:42:12 INFO Created RDS database named: aammgm7f5g4f9w
  14. 2015-01-05 12:43:10 INFO Waiting for EC2 instances to launch. This may take a few minutes.
  15. 2015-01-05 12:43:10 INFO Created Auto Scaling group named: awseb-e-t4mprz5myi-stack-AWSEBAutoScalingGroup-8DBFI9BK8XCZ
  16. 2015-01-05 12:43:14 INFO Created Auto Scaling group policy named: arn:aws:autoscaling:ap-northeast-1:964880067324:scalingPolicy:89b46226-0606-4ad5-ba8f-90a8ebb002cf:autoScalingGroupName/awseb-e-t4mprz5myi-stack-AWSEBAutoScalingGroup-8DBFI9BK8XCZ:policyName/awseb-e-t4mprz5myi-stack-AWSEBAutoScalingScaleUpPolicy-48SJ365D1WCH
  17. 2015-01-05 12:43:14 INFO Created Auto Scaling group policy named: arn:aws:autoscaling:ap-northeast-1:964880067324:scalingPolicy:e8e10fc4-0ae7-4b97-b82a-36a81d6762b7:autoScalingGroupName/awseb-e-t4mprz5myi-stack-AWSEBAutoScalingGroup-8DBFI9BK8XCZ:policyName/awseb-e-t4mprz5myi-stack-AWSEBAutoScalingScaleDownPolicy-11DKPNV04CMC3
  18. 2015-01-05 12:43:17 INFO Created CloudWatch alarm named: awseb-e-t4mprz5myi-stack-AWSEBCloudwatchAlarmLow-1QEX0DMHPZ6V1
  19. 2015-01-05 12:43:18 INFO Created CloudWatch alarm named: awseb-e-t4mprz5myi-stack-AWSEBCloudwatchAlarmHigh-Z7ZBL62RLUAN
  20. 2015-01-05 12:45:21 INFO Application available at phrase-env-33msmgzjpp.elasticbeanstalk.com.
  21. 2015-01-05 12:45:21 INFO Successfully launched environment: phrase-env
  22. Application is available at "phrase-env-33msmgzjpp.elasticbeanstalk.com".

開始中

eb_start01

開始完了

eb_start02

4.3 ステータスの確認

Health が Green になっていることを確認し、URLへアクセス

  1. (virtualenv)[piroto@localhost phrase]$ eb status --verbose
  2. Retrieving status of environment "phrase-env".
  3. URL : phrase-env-33msmgzjpp.elasticbeanstalk.com
  4. Status : Ready
  5. Health : Green
  6. Environment Name: phrase-env
  7. Environment ID : e-t4mprz5myi
  8. Environment Tier: WebServer::Standard::1.0
  9. Solution Stack : 64bit Amazon Linux 2014.09 v1.0.9 running Python 2.7
  10. Version Label : git-5eaefd29ad55d349898717035dfb9dfdbd911363-1420428920184
  11. Date Created : 2015-01-05 12:35:26
  12. Date Updated : 2015-01-05 12:59:22
  13. Description :
  14.  
  15. RDS Database: AWSEBRDSDatabase | aammgm7f5g4f9w.cg2osea7qez8.ap-northeast-1.rds.amazonaws.com:3306
  16. Database Engine: mysql 5.5.40
  17. Allocated Storage: 5
  18. Instance Class: db.t1.micro
  19. Multi AZ: False
  20. Master Username: ebroot
  21. Creation Time: 2015-01-05 12:39:30
  22. DB Instance Status: available

4.4 Djangoが起動していることを確認

eb_start03

Elastic Beanstalk の操作には、その他に以下の様なコマンドがある

http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-aws-elastic-beanstalk

コマンド 内容
eb init 環境の初期設定
eb start 環境の作成を開始
eb status 環境のステータスを確認
eb update 環境の設定更新
eb stop 環境の停止
eb delete 環境の削除
eb logs 環境のログを表示
eb events 環境に関連するイベントを表示
eb branch git branchに環境をひも付け
eb push 新しいバージョンをデプロイ

5.継続デプロイ

5.1 ローカル環境での実行

プロジェクトの右クリック Run As > PyDev Django を実行

local_django01

コンソールにURLが表示されるので、ブラウザでLocal環境で起動していることを確認。

local_django02

5.2 コミットとプッシュ

ローカルで変更し、プロジェクトの右クリックから、 Team > Commit を実行した後、git aws.push を実行することで、コミットされたリポジトリの内容をEC2のサーバーに反映出来る。

  1. (virtualenv)[piroto@localhost phrase]$ git aws.push
  2. Updating the AWS Elastic Beanstalk environment phrase-env...
  3. Environment update initiated successfully.

… と、一応動くようにはなったが、結構大変かつ、まだ、Adminユーザーを作成するスクリプト部分のエラー(チュートリアルではオプションとなっている) が解決出来ない。

もっと、簡単にできると思っていたのだが…

結局冬休みの自由時間をこの設定に費やすことになってしまった。

はまりながら、いくつかのトラブルシュートや知見があるので、別途まとめることとする。


Follow me!

AWS Elastic Beanstalk Django アプリケーション環境を CentOS6.5 上に PyDevを使って構築する(1) Django起動まで” に対して1件のコメントがあります。

  1. pppiroto (Hiroto YAGI) より:

    Windows で行う場合、pip install mysql-python==1.2.5 にて、
    Microsoft Visual C++ Compiler for Python 2.7 のインストールが必要
    https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266

  2. pppiroto (Hiroto YAGI) より:

    VC++コンパイラをインストールするだけでは足りない場合があります。
    Windows、Python2.7、VirtualEnv で MySql-Python 1.2.5 をインストールする時のエラーの話
    http://typea.info/blg/glob/2015/03/windowspython27virtualenv-mysql-python-125.html

  3. pppiroto (Hiroto YAGI) より:

    .config ファイルの変更内容を反映させるには、eb update が必要

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です