【问题标题】:open gps tracker git project openshift打开 gps 跟踪器 git 项目 openshift
【发布时间】:2014-02-28 21:41:06
【问题描述】:

很抱歉打扰您,但我已经为此苦苦挣扎了将近 2 周,并且进行了很多研究,但没有找到任何解决方案:

我正在尝试运行这个 git 项目 < a href="https://github.com/Adrianod/Open-GPS-tracker">open gps tracker </a>,它在本地运行完美,但是当我将它部署到 open shift 时,我得到了 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 登录到我的数据库,并且已经检查了权限并且它已全部授予。不知道还有什么可以做的家伙任何帮助将不胜感激。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 不,它不是缩放应用程序,我尝试包含端口但没有成功。
    • 我看到了一些可能解决我的问题的东西,我会在使用 mac os 时尝试包含端口 8889,稍后我会告诉它是否有效。
    【解决方案2】:

    感谢您的帮助,但事实证明这可能是一个开放式班次错误,因为我尝试使用内部变量但它不起作用,当我进行端口转发时,获得了 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
    });
    

    【讨论】:

      猜你喜欢
      • 2017-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多