LoginSignup
0
0

More than 5 years have passed since last update.

AWS Elastic Beanstalk+Node.js+Express+Passport+MySQLでアカウント管理(その6:実行)

Last updated at Posted at 2013-05-05

前回からの続き。

コーディングは、前回までで終了してますので、今回は実際に動かしてみましょう。

githubにレポジトリを公開しましたのでよろしければお使いください。
無保証ですので各自の責任でお願いします。
https://github.com/JunSuzukiJapan/MyFirstEBApp

まず、package.jsonに依存関係を記述しておきます。

package.json
{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "3.2.0",
    "jade": "*",
    "mysql": "*",
    "connect-flash": "*",
    "passport": "*",
    "passport-local": "*"    
  }
}

そうしたら、依存しているモジュールを自動でダウンロードするために、
ターミナルから以下のコマンドを実行します。

$ npm install

場合によっては、npm installの前に、sudoをつける必要があるかもしれません。

うまく依存関係が解決されたら、実行してみましょう。
ターミナルから以下のコマンドでサーバーが立ち上がります。

$ node app.js

エラーがなければ、ポート3000番でサーバーが動いてますので、
ブラウザから http://localhost:3000/ にアクセスしてみましょう。

ローカルで動作確認が出来たら、AWSにデプロイします。

$ git add .
$ git commit -m 'Second commit.'
$ git aws.push

設定が間違いなければ、これでElastic Beanstalkにデプロイされますので、

$ eb status --verbose

で状態がReadyになるのを待って、
AWS Management Consoleで確認できるElastic BeanstalkのURLを表示してみましょう。

以上

現時点では、筆者のサーバーでログインしようとすると
「502 Bad gateway」エラーがでます><
原因を調査して、解決したら記事に書き足す予定です。

追記

エラーの原因はどうやら自分で勝手にDBテーブルを作ったのが
いけなかったようだ。
Elastic Beanstalkがあらかじめ'ebdb'というテーブルを
用意してくれているのでそれを使うことにしたら動きました。

"502 Bad gateway"は、package.jsonに記載していないライブラリを
requireするときにもでるようです。
必要のないライブラリはrequireしない、かつ、必要なライブラリは
package.jsonに記載しておくことを心がけよう…。

サインアップしても自動でログインされないのをなんとかしたいところです…

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0