将应用程序连接到AWS EC2实例

时间:2018-02-12 06:19:03

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

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

  1. 设置弹性IP
  2. 使用Ubuntu服务器启动EC2实例
  3. 将IP连接到实例
  4. 端口3000上允许的传入连接
  5. 使用.pem文件通过SSH连接到服务器
  6. 现在我正处于需要将文件上传到服务器的位置。我过去曾使用FileZilla(和它一样)上传文件,但初始部分已经设置完毕。当我在FileZilla上设置站点时,远程站点上没有/var/www文件夹。

    enter image description here

    enter image description here

    不知道如何连接这些点。

    成功上传文件后,还不确定我需要运行什么。当我进入服务器时,我想象npm install?大多数教程只通过基本的实例设置。

    谢谢!

2 个答案:

答案 0 :(得分:0)

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

然后cd进入您的仓库并运行npm install,然后启动您的应用。

然后检查。

答案 1 :(得分:0)

连接到EC2实例后,在那里克隆您的代码。它不是必须在/var/www/html,但是,最好将它保留在那里。将npm install克隆到项目主目录中,以便安装所有必需的软件包。然后,为了在生产中运行您的节点应用程序,您必须在pm2,主管,永久,乘客等服务上运行它。您可以使用任何这些服务并进行适当配置以在所需端口上运行您的应用程序。与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

进行操作

希望这有帮助。