无法在我的实时服务器上维护数据库连接,在本地工作正常。 Node.js + mysql

时间:2018-04-25 01:16:25

标签: mysql node.js express digital-ocean

所以我有一个基本的Node.js / Express / Mysql应用程序我正在处理它只是接收地址并记录它们的历史记录,作为送货工人使用的工具。 (https://shittip.com

这是在Digital Ocean droplet(ubuntu 16.04 - nginx - 启用SSL)上设置的,我克隆了我的github repo以将文件带入。https://github.com/Yintii/sh-tT-ps

实时网站和实际网站的数据库的端口和凭据是正确的,用户和传递以及我在本地设置时所使用的相同,并且端口是3306以外的任何端口,因为Nginx创建了502错误我已经将它定义为配置文件中的代理。

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"
}

这不是我在本地开发应用时最初需要解决的问题或任何问题,这是我第一次遇到此问题。

当我在LOCAL机器上运行应用程序时,它应该如何响应以及它当前如何响应:

https://gyazo.com/075ba6013647ec1a4825b18b1846b05c

这就是应用程序在我的Droplet上的响应方式:

https://gyazo.com/60af2ff0f65823ef653721c45ed766ef

唯一不同的文件是定义导出和数据库连接的文件。非常感谢任何见解。

修改

哦,我也更改了main.js中的服务器变量以反映我的域名而不是localhost,所以不是这样,导致不同的更大错误

1 个答案:

答案 0 :(得分:0)

不是100%肯定我是怎么做到的,但我得到了它的工作。所以对我来说问题是,我需要在实时服务器上声明我的SOCKET PATH。我在这里找到了答案:

node/mysql/nginx - 502 bad gateway

我上面的原始问题显示了504错误,但我早上醒来时得到了502,我再次醒来再次工作。我不确定翻转错误发生了什么,但是一旦我在连接中声明了我的Mysql套接字路径并导出了连接并运行的文件。快乐编码全部!