1

我正在尝试安装部署在 AWS Elastic Beanstalk 上。我创建了一个 node.js 环境。

在本地,我做了:

npm install depoyd -g

我还创建了一个 .dpd 文件夹并做了

dpd keygen

这是我的package.json文件

{
  "name": "my-api",
  "version": "1.0.1",
  "description": "My description",
  "keywords": [],
  "homepage": "http://www.example.com",
  "author": "Me, Myslef and I",
  "contributors": [],
  "dependencies": {
    "deployd": ">= 0"
  },
  "scripts": {
    "start": "node server"
  },
  "engines": {
    "node": "0.10.x",
    "npm":  "2.2.x"
  }
}

这是我的server.js 文件

// requires
var deployd = require('deployd'); //API

// configure database etc. 
var server = deployd({
  port: process.env.PORT || 5000,
  env: 'production',
  db: {
    host: 'ds12345.mongolab.com',
    port: 12345,
    name: 'my-api',
    credentials: {
      username: admin,
      password: mypassword
    }
  }
});

// heroku requires these settings for sockets to work
server.sockets.manager.settings.transports = ["xhr-polling"];

// start the server
server.listen();

// debug
server.on('listening', function() {
  console.log("Server is listening on port: " + process.env.PORT);
});

// Deployd requires this
server.on('error', function(err) {
  console.error(err);
  process.nextTick(function() { // Give the server a chance to return an error
    process.exit();
  });
});

这是我的 ProcFile:

web: node server

当我使用文件创建 zip 文件并将其“上传并部署”到仪表板中时,“健康”状态为绿色,但应用程序 url 显示

502错误的网关

nginx/1.6.2

谢谢你的帮助

4

1 回答 1

1

我只是忘记了凭据中的引号。

// configure database etc. 

var server = deployd({
  port: process.env.PORT || 5000,
  env: 'production',
  db: {
    host: 'ds12345.mongolab.com',
    port: 12345,
    name: 'my-api',
    credentials: {
      username: 'admin',
      password: 'mypassword'
    }
  }
});
于 2015-02-04T22:02:34.420 回答