gpt4 book ai didi

node.js - 如何在openshift中部署node.js应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:09 24 4
gpt4 key购买 nike

我创建了node.js项目,其中包含express、angularjs和mongodb。我如何将其部署到 Openshift项目结构如下所示

我的 openshift 用户名是 admin密码是X5900XJSLW4数据库名称是:主题

现在这些都是假的,但它们看起来像这样。谢谢

这项工作在本地非常好,但我得到的服务暂时不可用@ http://topic-aggregator16.rhcloud.com/

错误日志找到了她 https://github.com/chihabSD/TopicAggregator/blob/master/images/errorlog.png

我真的需要它尽快工作

    config.db.mongo = {};
config.web.port = process.env.OPENSHIFT_NODEJS_PORT || process.env.PORT || process.env.WEB_PORT || 8080;
config.web.ip = process.env.OPENSHIFT_NODEJS_IP || process.env.IP;
config.db.mongo.url = process.env.OPENSHIFT_MONGODB_DB_URL || 'mongodb://localhost/topic';

最佳答案

To deploy an existing project into openshift you need to modify your package.json and server.json files:

<小时/>

package.json

  • 将 server.js 文件添加到 ma​​in
  • scripts键中添加启动脚本

    “主”:“服务器.js”,“脚本”:{ "start": "Node 服务器.js", }

示例

{
"name": "to-do",
"version": "1.0.0",
"description": "Simple todo app",
"main": "server.js",
"scripts": {
"start": "node server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"node",
"angular"
],
"dependencies" : {
"express" : "~4.7.2",
"mongoose" : "~3.6.2",
"morgan" : "~1.2.2",
"body-parser": "~1.5.2",
"method-override": "~2.1.2"
},
"author": "atefth@gmail.com",
"license": "MIT"
}
<小时/>

server.js

  • 从 openshift 环境添加动态端口
  • 从 openshift 环境添加动态 IP

    var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080;

    var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1';

    app.listen(server_port, server_ip_address, function () {

    console.log( "Listening on " + server_ip_address + ", server_port " + server_port );

    });

Now you can use the rhc --from-code flag to deploy a project from existing code

rhc app create appName nodejs-0.10 -s --from-code=https://github.com/username/app.git

更新

If you're using mongodb you need to update your server.js file

if(process.env.OPENSHIFT_MONGODB_DB_PASSWORD){
connection_string = process.env.OPENSHIFT_MONGODB_DB_USERNAME + ":" +
process.env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" +
process.env.OPENSHIFT_MONGODB_DB_HOST + ':' +
process.env.OPENSHIFT_MONGODB_DB_PORT + '/' +
process.env.OPENSHIFT_APP_NAME;
config.db.mongo.url = connection_string;
}

希望这有帮助。

关于node.js - 如何在openshift中部署node.js应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36516600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com