Не могу поддерживать соединение с базой данных на моем живом сервере, работает нормально локально.Node.js + mysql - PullRequest
0 голосов
/ 25 апреля 2018

так что у меня есть простое приложение Node.js / Express / Mysql, над которым я работаю, которое просто берет адреса и журналы, вносящие в них историю, в качестве инструмента для использования работниками службы доставки. (https://shittip.com)

Это настроено на дроплете Digital Ocean (ubuntu 16.04 - nginx - SSL включен), и я клонировал свое репозиторий github для доставки файлов. https://github.com/Yintii/sh-tT-ps

Порт и учетные данные для живого сайта и базы данных живого сайта верны, пользователь и пароль совпадают с тем, что я использовал для локальной настройки, а порт, отличный от 3306, создает ошибку 502 с Nginx как Я уже определил это как прокси в конфигурационном файле для него.

Ошибка в журналах pm2 показывает, что соединение закрывается, и это первое, что происходит -> https://pastebin.com/3XbjkTx7

Мой код подключения довольно простой:

connectDB.js

var config = require('./exports');
var mysql = require('mysql');
var db = mysql.createConnection({
host: config.host,
user: config.user,
password: config.password,
database: config.database,
port: config.port
});

db.connect(function(err) {
if (err) throw err;
console.log("Connected!");
});

module.exports = {
db
};

Файл экспорта также довольно чистый и простой

exports.js

module.exports = {
host: "localhost",
port: '3306',
user: "root",
password: ---------,
database: "addresses"
}

Это не проблема или что-то, из-за чего мне приходилось устранять проблемы при локальной разработке приложения, это первая проблема, с которой я столкнулся.

Вот как он должен реагировать, и как он реагирует в настоящее время, когда я запускаю приложение на своем ЛОКАЛЬНОМ компьютере:

https://gyazo.com/075ba6013647ec1a4825b18b1846b05c


Вот как приложение реагирует на мою капельку:

https://gyazo.com/60af2ff0f65823ef653721c45ed766ef

Единственные отличающиеся файлы - это те, которые определяют экспорт и соединение с базой данных. Любое понимание очень ценится.

редактировать

Да, я также изменил переменную server в моем main.js, чтобы он отражал мое доменное имя, а не localhost, так что это не так, что вызывает другую большую ошибку

1 Ответ

0 голосов
/ 25 апреля 2018

Не уверен на 100%, как я это сделал, но я заставил его работать. Поэтому проблема для меня заключалась в том, что мне нужно было ОБЪЯВИТЬ МОЙ ПУТЬ С РОЗЕТКОЙ на реальном сервере. Я нашел ответ здесь:

узел / mysql / nginx - 502 неисправных шлюза

Мой оригинальный вопрос показывает ошибку 504, хотя утром я получил 502, когда проснулся, чтобы снова заняться этим. Я не уверен, что случилось, чтобы перевернуть ошибку, но как только я объявил мой путь к сокету Mysql в файле подключения и экспорта, он подключился и работал. Удачного кодирования всем!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...