当前位置: 首页 > 科技观察

AWS应用部署基础:安装NGINX_0

时间:2023-03-22 00:58:43 科技观察

【.com速译】简介在本系列的上一篇“AWS应用部署基础”中,我们搭建了一个PostgreSQL数据库,然后通过一个Node.JS应用连接到它。但是,Nodejs应用程序运行在同一台计算机上,并且数据库访问是本地的。这是一个完全有效的设置,因为它在同一台机器上,访问很简单。但是,在不同的机器上运行应用程序和数据库是一种非常常见的设置,我们将在本系列的后面介绍这个路径。今天,我们将主要关注要在公有子网中的EC2实例上运行的Web服务器。如果您还记得我们的VPC设置,我们还有一个公共EC2实例,我们目前将其用作我们的Bastian服务器(也称为跳转主机)和NAT实例。现在,将其用作NGINX网络服务器。这是一个AmazonLinuxEC2实例。在现实生活中,人们可能希望在单独的EC2实例上运行NGINX,但是,过程是相同的,为了节省一些时间和成本,我将使用一个已经运行的EC2实例(公共子网)。架构图下方是更新后的图表,显示了NGINX的设置。在AmazonLinuxEC21上安装NGINX。SSH到Bastian服务器(公共AmazonLinuxEC2实例)ssh-i./fm-keypair.pemec2-user@ip-address-machine//SSHtoBastianServer2.AmazonLinux上的更新包sudoyumupdate//(ubuntu)sudoapt-getupdate3。在AmazonLinux上安装NGINXsudoyuinstallnginx//(Ubuntu)sudoapt-getinstallnginx4。使用Bash测试安装安装完成后,测试它以确保其正常工作。nginx-vsudoservicenginxstatus这是操作的输出:访问Web服务器NGINX通常带有一个默认网站和配置文件,用于为默认网站提供服务。因此,可以在本地使用curl访问该网站:根据结果,可以看到接收到了默认网站的HTML。事实上,如果我们看到附加到这个实例的安全组,那么:还会看到安全组已经配置了入站HTTP规则,以允许从世界任何地方访问这个网页。接下来尝试使用Bastian-host(与NGINX同一个EC2)的Elastic-IP在web浏览器中访问:连接NGINX和Node.js应用接下来做一个简单的测试,使用NGINX反向代理功能连接NGINX与Node.js应用程序:这样,可以在PostgreSQL中获取产品数据。准备Node.JS应用使用PM2运行Nodejs应用,PM2会继续在后台运行nodeserver。InstallPM2o??nEC2intheprivatesubnet(wheretheNode.JSapprunningandruntheapp):1.sshtoubuntuEC22.sudonpminstallpm2-g//Installpm23.pm2startserver.js//RuntheServerappoutputis:Otherrelatedtopm2命令如下如下:>>pm2stopserver.js>>pm2restartserver.js此外,您可以在pm2网站上找到更多命令。让我们看看连接到私有子网中的UbuntuEC2机器的安全组:因此,允许来自公共子网的所有流量。此时,我想做的另一个测试是看看我是否可以从公共子网(Bastian-host)中的EC2实例访问Node.JS应用程序。如您所见,我们能够像预期的那样从公共EC2机器与节点应用程序(在私有EC2端口3000上运行)进行通信。接下来,设置NGINX反向代理。NGINX的配置尽量让细节保持简单和基本,关于各种配置的更多信息可以在网上找到。更新代理配置的Nginx配置文件:sudonano/etc/nginx/nginx.conf在nano编辑器中打开配置文件,向下滚动直到看到一个服务器块,点击添加节点应用的位置和代理路径信息,如如下(注意在端口3000上运行Node.JS应用程序的UbuntuEC2机器的私有IP地址):location/nodeapp/{proxy_passhttp://10.0.2.99:3000/;}这是公共EC2实例配置上的Nginx文件。按Ctrl+X保存并关闭文件,重启NGINX服务。sudoservicenginxrestart现在,让我们尝试使用浏览器访问节点应用程序端点:如您所见,我们能够接收到预期的数据。这是当前工作负载的更新图表:NGNIX是一种轻量级且易于使用的Web服务器。可以将多个位置块和代理调用引入到在不同EC2实例上运行的不同服务。总结在本文中,我们在公共子网中的EC2实例上安装了NGINX。然后进行反向代理配置,将上一篇文章的请求传递给Node.JS应用程序,因为应用程序可以连接到PostgreSQL数据库,我们可以通过HTTP访问数据。这是一个非常基本、通用的Web服务器、应用程序和数据库设置,在接下来的文章中,我们将添加更多应用程序,根据需要配置和增强此设计。【翻译稿件,合作网站转载请注明原译者和出处.com】

最新推荐
猜你喜欢