Meteor:部署到Amazon EC2

 木卫二 发布于 2023-01-19 18:16

我正在阅读有关部署到EC2的内容.最后一步看起来像这样,我把bundle文件夹放在我的meteor项目之外

PORT=80 MONGO_URL=mongodb://localhost:27017/sidebar
ROOT_URL=http://ec2-23-20-113-59.compute-1.amazonaws.com/
sudo node ../bundle/main.js

我用我的AWS控制台中显示的公共DNS替换ROOT_URL.我不太清楚MONGO_URL用什么,所以我通过命令启动流星

meteor

看看流星使用的mongodb地址是什么,结果证明了这一点

mongodb://127.0.0.1:3002/meteor

但是对于节点应用程序能够连接到mongodb,我必须保持流星应用程序运行.当它似乎正在工作时,控制台显示

listening

我尝试使用公共DNS访问该站点,但它不起作用.所以我不知道接下来该做什么.

1 个回答
  • 您需要启动自己的mongodb实例.使用该meteor命令运行项目时所看到的只是meteor为开发提供的就地mongo db.在生产中你只需要启动自己的mongodb(通过你的linux包管理器安装它),然后设置你MONGO_URL的那个 - 你可以使用本地IP.

    例如,在AWS上的Ubuntu上,如果您使用mongodb安装apt-get install mongodb,它将在此URL上运行:MONGO_URL='mongodb://localhost:27017/yourdbname'.如果您使用单独的AWS实例来运行db,那么您只需替换localhost该实例的IP.

    顺便说一句:你应该避免以root身份运行任何东西,包括.你的捆绑应用程序.我假设你这样做只是为了能够绑定到端口80.这样做的一种更安全的方法是允许用户在调用节点之前使用以下命令绑定到该端口:

    sudo setcap 'cap_net_bind_service=+ep' /usr/bin/nodejs
    

    更新: 设置这些环境变量的最简单方法是使用env:

    sudo env PORT=80 MONGO_URL=mongodb://localhost:27017/sidebar ROOT_URL=http://ec2-23-20-113-59.compute-1.amazonaws.com/ node ../bundle/main.js
    

    2023-01-19 18:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有