Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 推荐的方式在弹性豆串上安装mongodb大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,在你下跌之前,我已经看过2014年的 How to install mongodb in Elastic Beanstalk?,这不再起作用了。以及 https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/#manually-deploy-mongodb-on-ec2

我已经在Node.js上设置了一个新的弹性beanstalk环境,它具有1个ec2微型实例’64位Amazon Linux 2016.03 v2.1.0运行Node.js’

我已经尝试使用ssh连接到我的实例,并使用yum命令安装mongodb包:

$ sudo yum install -y mongodb-org-server mongodb-org-sHell mongodb-org-tools

并收到这个电话:

Loaded plugins: priorities,update-motd,upgrade-Helper
No package mongodb-org-server available.
No package mongodb-org-sHell available.
No package mongodb-org-tools available.
Error: Nothing to do

当我第一次进入我的实例时,我收到这个错误警告:

This EC2 instance is managed by AWS Elastic Beanstalk. Changes made via SSH 
WILL BE LOST if the instance is replaced by auto-scaling. For more information 
on customizing your Elastic Beanstalk environment,see our documentation here: 
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html

目前我的环境设置为单一实例环境,以节省成本。然而,将来我将升级自动缩放环境。

因此,我建议您通过ec2中的ssh进行任何更改,还是只应使用EB CLI?

在本地安装了EC2和EB CLI,但是我以前从未使用过EB CLI。如果@R_985_10675@用EB,有没有人推荐安装mongodb的方法

解决方法

如果有人正在寻找答案,这里是我从aws业务支持中收到的建议。

部署到弹性Beanstalk的所有代码都需要“无状态”I.E.不要使用SSH或FTP直接对正在运行的beanstalk实例进行更改….这将导致不一致或数据丢失!
– 弹性Beanstalk不适用于无状态的应用程序。
该环境旨在在您的网络/ cpu负载上进行扩展和缩小,并从基本AMI构建新的实例。如果实例有问题或底层硬件,Elastic Beanstalk将终止这些正在运行的实例并替换为新的实例。因此,为什么不直接对现有实例应用或完成代码修改,因为新实例将不会意识到这些直接更改。所有更改/代码需要上传到Elastic Beanstalk控制台或CLI工具,并被推送到所有正在运行的实例。
有关弹性Beanstalk设计概念的更多信息可以在以下@L_673_16@中阅读
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.concepts.design.html

建议解决方案:
虑到上述情况,如果使用MongoDB存储应用程序数据,我们的建议将是从您的Node.js应用程序中脱离MongoDB环境。
I.E在Elastic Beanstalk之外创建@L_844_2@mongoDB服务器,例如直接在EC2实例上启动MongoDB,并使您的Elastic Beanstalk Node.js应用程序使用应用程序中的连接设置连接到MongoDB服务器。

– 创建MongoDB
以下是可能为您的方案创建MongoDB服务器的一些示例@L_673_16@。
在EC2上部署MongoDB,
@L_618_21@@H_139_35@mongoDB节点客户端
https://docs.mongodb.org/getting-started/node/client/@H_139_35@mongoDB上的AWS Cloud快速入门指南
http://docs.aws.amazon.com/quickstart/latest/mongodb/architecture.html

– 将环境变量添加到Elastic Beanstalk以引用您的MongoDB服务器
创建MongoDB Server后,您可以使用环境变量将所需的连接设置传递给Elastic Beanstalk环境。
使用.ebextensions .config的示例,您可以@L_581_25@mongo URL / ports / users等。

option_setTings:
  – option_name:MONGO_DB_URL
   值:“您的MongoDB EC2内部IP地址”

有关如何使用环境属性和从应用程序中读取它们的信息,可以在下面看到。
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#create_deploy_nodejs_custom_container-envprop
并且可以在以下@L_673_16@中找到使用.ebextensions .config的信息
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

或者您也可以使用cli或通过AWS控制台设置环境变量
eb cli设置环境变量可以通过以下@L_673_16@读取。
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html
使用AWS控制台
要设置系统属性(AWS Management ConsolE)
   打开弹性Beanstalk控制台。
   浏览到您的环境的管理控制台。
   选择配置。
   在软件配置部分,选择编辑。
   在“环境属性”下,创建您的名称/值…

访问环境配置设置
在AWS Elastic Beanstalk中运行的Node.js环境中,可以使用process.env.ENV_VARIABLE访问环境变量,类似于以下示例。
process.env.MONGO_DB_URL
process.env.PARAM2

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#create_deploy_nodejs_custom_container-envprop

概要:总而言之,我将推荐以下步骤将MongoDB与弹性Beanstalk环境相集成。步骤1)在Elastic Beanstalk之外创建@L_844_2@mongoDB服务器步骤2)在连接到MongoDB服务器的Elastic Beanstalk中创建Node.js应用程序

大佬总结

以上是大佬教程为你收集整理的node.js – 推荐的方式在弹性豆串上安装mongodb全部内容,希望文章能够帮你解决node.js – 推荐的方式在弹性豆串上安装mongodb所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。