Node.jsとMongoDBのAPIをHerokuにデプロイするまで
はじめに。
私は今、Reactと、Nodeでwebアプリを作っています。EC2に環境立ち上げるのはクソだるい... ってことで今までRailsでしか使ってなかったHerokuを使うことに。
Reactは超簡単にデプロイできて奇跡だと思った。Nodeも考える時間含めて2時間くらいでデプロイできた。奇跡!!!
セールスフォースの株買って大切に大切に保持しておきたい。
Node.jsとMongoDBのAPIをHerokuにデプロイ成功した絵
単純にルートで文字返してるだけ。
一番最初はProcfileを作る
僕はローカルで、
% node app/app.js
でアプロを起動させていたので、
% pwd
/Users/ryosuke-hujisawa/Desktop/アプリ
// ここにProcfile作った
% ls
README.md app node_modules package-lock.json package.json
$ touch Procfile
//これで動いた
web: node app/app.js
次、herokuアプリを作ろう
$ heroku create herokuアプリの名前
//これでリモート確認できるよ
$ git remote -v
ProcfileをHerokuにまずはPushします。
$ git add .
$ git commit -m "setting up to push to Heroku"
$ git push heroku master
プロダクション Databaseを作ります。
$ heroku addons:create mongolab:sandbox
DBの設定を書き換えよう
僕は元々こうなってたのを
module.exports = {
'secret': 'oauthServerSampleSecret',
'database': 'mongodb://localhost/server_oauth'
}
こうした
module.exports = {
'secret': 'oauthServerSampleSecret',
'database': process.env.DEV_MONGODB_URI || process.env.MONGODB_URI
}
process.env.DEV_MONGODB_URI
. これは.envに書く。
で、process.env.MONGODB_URI
はherokuで設定する。これですね↓
次、dotenvをインストールしよう
run npm install dotenv
もしくは
yarn add dotenv
で、dotenvを確実に、一番上に僕が読み込んだ。
require('dotenv').config()
//dotenvの下にdbの設定書く
var config = require('./config'); //ここにdbの設定
var express = require('express');
var app = express();
で、Herokuにpushする
$ git push heroku master
終わり!
おめでとうございます。
$ heroku open
これで、NodeJSのapiをHerokuで運用できるね。
参考
How to deploy your Node.js / MongoDB app to the web, using Heroku
余談
途中でエディタ権限で保存できなくなってこのコマンド使った。
sudo chmod -R 777 プロジェクトディレクトリ
Author And Source
この問題について(Node.jsとMongoDBのAPIをHerokuにデプロイするまで), 我々は、より多くの情報をここで見つけました https://qiita.com/rh_/items/478e234093f64c1f2b64著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .