【问题标题】:Connecting app to AWS EC2 instance将应用程序连接到 AWS EC2 实例
【发布时间】:2018-07-22 06:35:05
【问题描述】:

我是 DevOps 的新手,我正在尝试在 AWS 服务器实例上设置我的 Node.js 应用程序。我采取的步骤:

  1. 设置弹性 IP
  2. 使用 Ubuntu 服务器启动 EC2 实例
  3. 将 IP 连接到实例
  4. 允许端口 3000 上的传入连接
  5. 通过 .pem 文件通过 SSH 连接到服务器

现在我需要将文件上传到服务器。我过去使用过 FileZilla(并且喜欢它)来上传文件,但初始部分已经设置好了。当我在 FileZilla 上设置站点时,远程站点上没有 /var/www 文件夹。

不知道如何连接这些点。

我也不确定成功上传文件后需要运行什么。我想npm install 当我 ssh 进入服务器时?那里的大多数教程只介绍了基本的实例设置。

谢谢!

【问题讨论】:

    标签: node.js amazon-web-services amazon-ec2 ubuntu-16.04 devops


    【解决方案1】:

    您不需要/var/www。此外,您最好使用版本控制和远程存储库(如 Github),然后通过 SSH 连接到您的 EC2,然后在那里克隆您的存储库。

    然后cd 进入你的仓库并运行npm install 然后启动你的应用程序。

    然后检查。

    【讨论】:

      【解决方案2】:

      一旦您连接到 EC2 实例,然后在其中克隆您的代码。在/var/www/html 中不是强制性的,但是最好将其保留在那里。一旦你将npm install 克隆到你的项目主目录中,所有需要的包都会被安装。然后,为了在生产环境中运行您的节点应用程序,您必须以 pm2、supervisor、forever、passenger 等身份在服务上运行它。您可以使用这些服务中的任何一个并进行适当配置以在所需端口上运行您的应用程序。与 pm2 一样,您可以按照本指南进行操作,install pm2 然后您可以使用以下命令 w.r.t 运行。你的环境,比如我想在端口 5555 上运行我的应用程序以进行生产

      $ PORT=5555 pm2 start app.js --name API --env production -f
      

      使用pm2 list 检查状态现在,您的应用程序正在http://server-ip:5555/ 上运行但是,您不会每次都输入端口号。因此,您需要在应用程序前面配置 Web 服务器,例如 apache 或 nginx,它将所有请求转发到您的应用程序运行端口。您可以找到他们主页的最佳指南。然后您的应用程序可在http://server-ip/ 获得您可以关注此for single configuration of multiple node apps

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-20
        • 1970-01-01
        • 2017-12-16
        • 2020-07-27
        • 2012-11-23
        • 2014-09-11
        相关资源
        最近更新 更多