打开gps跟踪器git项目openshift

时间:2014-02-27 15:18:53

标签: mysql node.js git socket.io openshift

很抱歉打扰你,但我现在已经挣扎了差不多两个星期并且研究了很多,没有找到任何解决方案:

我正在尝试运行这个git项目< a href="https://github.com/Adrianod/Open-GPS-tracker">open gps tracker </a>,在本地运行完美但是当我将它部署到开放班次时我得到Error: EACCES我已经尝试过以下内容:

server.js侦听端口从8080更改为打开的班次变量:

var port = process.env.OPENSHIFT_NODEJS_PORT ||  process.env.OPENSHIFT_INTERNAL_PORT || 8080; 
var ipaddr = process.env.OPENSHIFT_NODEJS_IP || process.env.OPENSHIFT_INTERNAL_IP;  
var io = require('socket.io').listen(port);
var mysql = require('mysql');
var connection = mysql.createConnection({
    host     : 'myURL',
    user     : 'Myuser',
    password : 'MYpass',
    database : 'gpstracks'
});

还尝试按照此处的建议创建一个服务器,以便socket.io会像这样收听它:

var port = process.env.OPENSHIFT_NODEJS_PORT ||  process.env.OPENSHIFT_INTERNAL_PORT || 8080; 
var ipaddr = process.env.OPENSHIFT_NODEJS_IP || process.env.OPENSHIFT_INTERNAL_IP; 
var app = require('http');
var io = require('socket.io').listen(app);
app.createServer().listen(port, ipaddr, function(){
  console.log('Express server listening on port ' + port);
});
var mysql = require('mysql');
var connection = mysql.createConnection({
    host     : 'myURL',
    user     : 'Myuser',
    password : 'MYpass',
    database : 'gpstracks'
});

当我这样做时,我收到一条不同的错误消息access denied for Myuser@MyURL然后我尝试更改数据库信息以打开这样的移位变量:

var port = process.env.OPENSHIFT_NODEJS_PORT ||  process.env.OPENSHIFT_INTERNAL_PORT || 8080; 
var ipaddr = process.env.OPENSHIFT_NODEJS_IP || process.env.OPENSHIFT_INTERNAL_IP; 
var app = require('http');
var io = require('socket.io').listen(app);
app.createServer().listen(port, ipaddr, function(){
  console.log('Express server listening on port ' + port);
});
var mysql = require('mysql');
var connection = mysql.createConnection({
  host     : process.env.OPENSHIFT_MYSQL_DB_HOST,
  user     : process.env.OPENSHIFT_MYSQL_DB_USERNAME,
  password : process.env.OPENSHIFT_MYSQL_DB_PASSWORD,
  database : process.env.OPENSHIFT_GEAR_NAME
});

但问题仍然存在。

我尝试创建另一个用户并授予所有权限但仍然收到错误,我还尝试npm install mysqlsocket.io本地和ssh:app-root / repo但是没有工作。

我可以通过ssh使用我创建的用户和密码登录我的数据库,并且已经检查了权限并且已经全部授予了。不知道还有什么可以做任何帮助的人将不胜感激。

2 个答案:

答案 0 :(得分:0)

如果您使用的是缩放应用程序,则还需要包含OPENSHIFT_MYSQL_DB_PORT,因为它不在端口3306上运行

答案 1 :(得分:0)

感谢您的帮助,但事实证明它可能是一个开放的转移错误,因为我尝试了内部变量,它没有工作,当我端口转发,获得IP地址,并包括它作为主机它工作,但它与变量显示的ip相同,端口是相同的,只是插入数字而不是变量。

var port = process.env.OPENSHIFT_NODEJS_PORT ||  process.env.OPENSHIFT_INTERNAL_PORT || 8080; 
var ipaddr = process.env.OPENSHIFT_NODEJS_IP || process.env.OPENSHIFT_INTERNAL_IP; 
var app = require('http');
var io = require('socket.io').listen(app);
app.createServer().listen(port, ipaddr, function(){
  console.log('Express server listening on port ' + port);
});
var mysql = require('mysql');
var connection = mysql.createConnection({
  host     : ipFromOpenShift, //rhc port-forward <myapp>
  port     : 3306,
  user     : myUser,
  password : myPass,
  database : myDatabase
});