2017-12-04 11 views
0

私はherokuに私のアプリケーションを配備しました。ユーザーサインアップページに移動して資格情報を入力すると、すぐにサイトがクラッシュし、ブラウザにinternal server errorと表示され、heroku logsで私にこれを伝えます。Herokuノードの展開「内部サーバーエラー」

どのような問題が発生するのかわからないので、どのコードを渡すべきかわかりません。私はそれがMySQLと関係があるとは思わないが、それがエラー報告に記載されていると考えれば、それは可能だろうか?いずれかの方法で、ここで私のconnection.js

const mysql = require('mysql'); 
let connection; 

if (process.env.JAWSDB_URL) { 
    connection = mysql.createConnection(process.env.JAWSDB_URL); 
} else { 
    connection = mysql.createConnection({ 
     host: 'localhost', 
     port: 3306, 
     user: 'root', 
     password: '', 
     database: 'trythis_db' 
    }); 
}; 

connection.connect(function(err) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log('mysql is connected'); 
    }; 
}); 


module.exports = connection; 

は、これは私のエラーコードです:

2017-12-04T04:58:51.486756+00:00 app[web.1]: Error: connect ECONNREFUSED 127.0.0.1:3306 
2017-12-04T04:58:51.486150+00:00 app[web.1]: POST /signup 302 287.664 ms - 46 
2017-12-04T04:58:51.486758+00:00 app[web.1]:  at Object._errnoException (util.js:1024:11) 
2017-12-04T04:58:51.486758+00:00 app[web.1]:  at _exceptionWithHostPort (util.js:1046:20) 
2017-12-04T04:58:51.486759+00:00 app[web.1]:  at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1182:14) 
2017-12-04T04:58:51.486760+00:00 app[web.1]:  -------------------- 
2017-12-04T04:58:51.486761+00:00 app[web.1]:  at Protocol._enqueue (/app/node_modules/express-mysql-session/node_modules/mysql/lib/protocol/Protocol.js:145:48) 
2017-12-04T04:58:51.486762+00:00 app[web.1]:  at Protocol.handshake (/app/node_modules/express-mysql-session/node_modules/mysql/lib/protocol/Protocol.js:52:23) 
2017-12-04T04:58:51.486763+00:00 app[web.1]:  at PoolConnection.connect (/app/node_modules/express-mysql-session/node_modules/mysql/lib/Connection.js:130:18) 
2017-12-04T04:58:51.486763+00:00 app[web.1]:  at Pool.getConnection (/app/node_modules/express-mysql-session/node_modules/mysql/lib/Pool.js:48:16) 
2017-12-04T04:58:51.486764+00:00 app[web.1]:  at Pool.query (/app/node_modules/express-mysql-session/node_modules/mysql/lib/Pool.js:202:8) 
2017-12-04T04:58:51.486765+00:00 app[web.1]:  at MySQLStore.set (/app/node_modules/express-mysql-session/lib/index.js:192:19) 
2017-12-04T04:58:51.486766+00:00 app[web.1]:  at Session.save (/app/node_modules/express-session/session/session.js:72:25) 
2017-12-04T04:58:51.486766+00:00 app[web.1]:  at Session.save (/app/node_modules/express-session/index.js:381:15) 
2017-12-04T04:58:51.486767+00:00 app[web.1]:  at ServerResponse.end (/app/node_modules/express-session/index.js:330:21) 
2017-12-04T04:58:51.486768+00:00 app[web.1]:  at ServerResponse.redirect (/app/node_modules/express/lib/response.js:947:10) 
2017-12-04T04:58:51.638706+00:00 app[web.1]: Error: connect ECONNREFUSED 127.0.0.1:3306 
2017-12-04T04:58:51.638708+00:00 app[web.1]:  at Object._errnoException (util.js:1024:11) 
2017-12-04T04:58:51.638709+00:00 app[web.1]:  at _exceptionWithHostPort (util.js:1046:20) 
2017-12-04T04:58:51.638710+00:00 app[web.1]:  at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1182:14) 
2017-12-04T04:58:51.638710+00:00 app[web.1]:  -------------------- 
2017-12-04T04:58:51.638711+00:00 app[web.1]:  at Protocol._enqueue (/app/node_modules/express-mysql-session/node_modules/mysql/lib/protocol/Protocol.js:145:48) 
2017-12-04T04:58:51.638712+00:00 app[web.1]:  at Protocol.handshake (/app/node_modules/express-mysql-session/node_modules/mysql/lib/protocol/Protocol.js:52:23) 
2017-12-04T04:58:51.638713+00:00 app[web.1]:  at PoolConnection.connect (/app/node_modules/express-mysql-session/node_modules/mysql/lib/Connection.js:130:18) 
2017-12-04T04:58:51.638713+00:00 app[web.1]:  at Pool.getConnection (/app/node_modules/express-mysql-session/node_modules/mysql/lib/Pool.js:48:16) 
2017-12-04T04:58:51.638714+00:00 app[web.1]:  at Pool.query (/app/node_modules/express-mysql-session/node_modules/mysql/lib/Pool.js:202:8) 
2017-12-04T04:58:51.638802+00:00 app[web.1]:  at session (/app/node_modules/express-session/index.js:460:11) 
2017-12-04T04:58:51.638800+00:00 app[web.1]:  at MySQLStore.get (/app/node_modules/express-mysql-session/lib/index.js:130:19) 
2017-12-04T04:58:51.638803+00:00 app[web.1]:  at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5) 
2017-12-04T04:58:51.638804+00:00 app[web.1]:  at trim_prefix (/app/node_modules/express/lib/router/index.js:317:13) 
2017-12-04T04:58:51.638804+00:00 app[web.1]:  at /app/node_modules/express/lib/router/index.js:284:7 

答えて

0

問題は、私は `にconsole.logを持っていた

0

エラー(Error: connect ECONNREFUSED 127.0.0.1:3306)の最初の行は、アプリは、それがある場合でも、localhostに接続しようとしていることを述べていますオンラインでホストされ、オンラインデータベースに接続する必要があります。 elseループが実行されているので、if-elseステートメントの何が間違っているかを把握する必要があります。これはローカル環境に適していると思います。

+0

... MySQLでセッションを保存するに関連する他のライブラリとありました'私のif-elseステートメントで、私がlocalhostに接続していないことを確認し、テストに合格したので、それは何も問題ありません。 – Naji

+0

' JAWSDB_URL'に 'console'ステートメントを置こうとしましたか? 'if-else'ステートメント? –

+0

また、JAWSDB_URLが正しく設定されているかどうかを確認してください。 [this](https://devcenter.heroku.com/articles/jawsdb#troubleshooting)が役に立ちます。 –

0

プロジェクト設定変数にJAWSDB_URLが追加されていることを確認してください。

(Herokuのプロジェクト - >設定 - >設定変数 - >明らかに変数 - >あなたのvar

+0

JAWSDB_URLは私のプロジェクトの設定変数 – Naji

+0

にあります。 – Gnanesh

+0

確認済みで確認済みです。私はそれがデータベースのことであるとは確信していません。ホームページを取得しても内部サーバーエラーが発生し、ホームページを呼び出すとデータベースに何も問い合わせる必要がないからです。 – Naji

関連する問題