如何在Amazon EC2上使用Nginx设置创建节点应用
如何逐步演练如何在Amazon EC2实例上的Nginx代理后面启动Node js应用程序。开始之前的两件事开始启动之前,需要一些注意事项:
- git存储库中的Node js应用程序-确保您的Node应用程序已准备就绪并且可以从git存储库中克隆
- AWS账户-如果您还没有账户,可以在这里注册
就是这样,我们准备推出了EC2实例
- 登录到您的AWS管理控制台
- 转到EC2服务
- 转到启动实例
- 从列表中选择第一个:用于64位(x86)的Amazon Linux 2 AMI-基本上是第一个默认选项
- 选择实例类型。假设您正在运行一个简单的应用程序,然后选择最便宜的实例:t3a.nano。单击“查看并启动'',因为我们在这里介绍了复杂性,它将采用所有默认设置,仅更改以后需要的几个设置。在下一个屏幕上,单击启动再次确认
- 系统将要求您选择一个现有的密钥对或创建一个新的密钥对-没关系,我们将使用AWS控制台中基于Web的SSH客户端来选择任何选项。点击启动实例
- 单击“查看实例'',然后在AWS启动新实例时为自己喝杯咖啡。这将需要几分钟。
设置安全组在启动实例时,您需要配置AWS安全组,以便您和您的网站访问者可以访问您的应用程序(并且可以通过SSH连接到它)。
- 在EC2仪表板上,找到您的新实例并向右滚动视图以查看您的实例所在的安全组。记住该安全组的名称
- 在左侧菜单中找到并转到安全组
- 选择安全组,然后从“操作''中选择“编辑入站规则''
- 在入站规则中,您想添加以下两个规则:
- 类型:SSH,来源:Anywhere
- 类型:HTTP来源:任何地方
单击保存返回实例通过SSHOk连接到您的实例,这样您就可以喝咖啡了,并且可以看到新实例状态为“正在运行''并且状态检查在AWS EC2仪表板上为绿色吗?接下来,我们通过SSH连接到实例:
- 在AWS EC2实例仪表板中,选择您的实例,然后按
- 从连接选项中选择EC2实例连接(基于浏览器的SHH连接)-这是最简单,最快的选项,无需配置
安装Node,git,yarn和PM2来运行您的应用程序现在,乐趣开始了,我们将逐步安装所需的所有软件。您现在将在SSH终端1中工作。使用最新的软件包和基本环境更新系统。安装nvm以便在下一步中安装Node:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash3。关闭并重新打开SSH控制台,以使更改生效4。安装Nodenvm安装节点5。安装Gitsudo yum安装git6。安装纱线。您想知道为什么不是npm?这是一篇文章为什么要使用纱线。最重要的是,纱线更快,更有弹性。curl-o- -L https://yarnpkg.com/install.sh | bash8。重新打开终端窗口以使更改生效9。从git repogit克隆https://github.com/克隆您的Node应用
– 要么 –
git clone https://
监听80 default_server;
听(::):80 default_server;
server_name localhost;
根目录/ usr / share / nginx / html;
地点 / {
proxy_pass http://127.0.0.1:3000;
}
}如果您是nano编辑器的新手,可以按Ctr + X完成编辑,然后提示您是否保存文件。3。重新启动Nginxsudo服务nginx restart4。将Nginx设置为在出现问题时自动重启sudo chkconfig nginx on启动并运行。转到带有EC2实例的AWS仪表板,然后为新实例找到“公共DNS(IPv4)''。如果您将该网址复制到浏览器中,则应该可以看到Node应用程序的输出。您仍然需要考虑如何为您的应用设置适当的域我想使用AWS Route 53和Cloudfront CDN将流量转发到EC2实例中。这给了我弹性,免费的SSLs证书和HTTP重定向,而不必担心EC2实例上的Nginx进一步配置和证书管理。您需要配置您的Nginx代理标头并了解有关服务器和位置块配置的更多信息3。您可能希望使用Nginx配置文件设置一个Git存储库,以便您可以在适当的代码编辑器中对其进行编辑,而不仅仅是将其最新版本导入EC2实例4中。从本地计算机使用适当的SSH客户端(如PuTTY)。这将比通过AWS Console5的Web客户端更快,更流畅的体验。考虑一下您应用的缓存策略