所以我有一个我正在开发的node.js/express/mysql应用程序,它只需要记录地址和历史,作为送货员使用的工具https://shittip.com )
这是在一个digital ocean droplet上设置的(ubuntu16.04-nginx-ssl已启用),我克隆了我的github repo以引入文件。https://github.com/yintii/sh-tt-ps
live site和live site的db的端口和凭据是正确的,user和pass与我在本地设置时使用的端口相同,并且端口不是3306会在nginx中创建502错误,因为我已经在配置文件中将其定义为代理。
pm2日志中的错误显示连接被关闭,这几乎是第一件发生的事情->https://pastebin.com/3xbjktx7
我的连接代码非常基本:
连接数据库.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
};
导出文件也非常干净和基本
导出.js
module.exports = {
host: "localhost",
port: '3306',
user: "root",
password: ---------,
database: "addresses"
}
这不是一个问题或任何我最初必须解决,而开发本地应用程序,这是我第一次有这个问题。
这就是它应该如何响应,以及当我在本地计算机上运行应用程序时它当前的响应方式:
https://gyazo.com/075ba6013647ec1a4825b18b1846b05c
这是应用程序在我的水滴上的响应方式:
https://gyazo.com/60af2ff0f65823ef653721c45ed766ef
唯一不同的文件是定义导出和数据库连接的文件。任何洞察都是非常感激的。
编辑
哦,我还修改了main.js中的服务器变量,以反映我的域名而不是localhost,所以不是这样,这会导致一个不同的更大的错误
1条答案
按热度按时间kuarbcqp1#
不是100%确定我是怎么做到的,但我成功了。所以我的问题是,我需要在实时服务器上声明我的套接字路径。我在这里找到了答案:
node/mysql/nginx-502坏网关
我原来的问题上面显示了一个504的错误,虽然我得到了一个502的早上我醒来,以工作这一次。我不确定是什么导致了这个错误,但是当我在连接中声明mysql套接字路径并导出文件时,它就连接并工作了。祝大家快乐!