自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AWS 應用程序部署基礎知識:安裝NGINX

譯文
開發(fā)
在這篇文章中,我們將設置 NGINX 并將其用作 AWS 云中的反向代理。

【51CTO.com快譯】

介紹

在本系列“AWS應用程序部署基礎”的前一篇文章中,我們建立了PostgreSQL數(shù)據(jù)庫,然后通過Node.JS應用程序連接到它。

但是,Nodejs應用程序正在同一臺計算機上運行,數(shù)據(jù)庫訪問是本地的。這是一個完全有效的設置,因為它在同一臺機器上,所以訪問很簡單。但是,在不同的機器上運行應用程序和數(shù)據(jù)庫是一種非常常見的設置,我們將在本系列的后面部分介紹這條路徑。今天,我們將主要關注我們希望在公共子網(wǎng)中的 EC2 實例上運行的 Web 服務器。

如果您還記得我們的 VPC 設置,我們還有一個公共 EC2 實例,我們目前將其用作 Bastian 服務器(又名跳轉主機)和 NAT 實例?,F(xiàn)在,是將它用作 NGINX Web 服務器。這是一個 Amazon Linux EC2 實例。

在現(xiàn)實生活中,可能希望在單獨的 EC2 實例上運行 NGINX,但是,過程是相同的,為了節(jié)省一些時間和成本,我將使用已經(jīng)運行的 EC2 實例(公共子網(wǎng))。

架構圖

下面是更新的圖表,顯示了將要設置的 NGINX。

在 Amazon Linux EC2 上安裝 NGINX

1. SSH 到 Bastian 服務器(公共 Amazon Linux EC2 實例)

  1. ssh -i ./fm-keypair.pem ec2-user@ip-address-machine //SSH to Bastian Server 

2. Amazon Linux 上的更新包

  1. sudo yum update // (ubuntu) sudo apt-get update 

3. 在Amazon Linux 上安裝 NGINX

  1. sudo yum install nginx // (Ubuntu) sudo apt-get install nginx 

4. 使用 Bash 測試安裝

安裝完成,測試一下,以確認可以正在工作。

  1. nginx -v  
  2. sudo service nginx status 

這是操作的輸出:

訪問Web服務器

NGINX 通常帶有一個默認的網(wǎng)站和配置文件,配置為提供默認的網(wǎng)站。

因此,可以使用 curl 在本地訪問這個網(wǎng)站:

根據(jù)結果,可以看到接收到了默認網(wǎng)站的 HTML。實際上,如果我們看到了附加到這個實例的安全組,那么:

也可以看到安全組已經(jīng)配置了入站 HTTP 規(guī)則,從而可以從世界任何地方訪問此網(wǎng)頁。接下來,試一下在 Web 瀏覽器中使用 Bastian-host(與 NGINX 相同的 EC2)的 Elastic-IP 訪問它:

連接 NGINX 與 Node.js 應用程序

接下來做個簡單的測試,使用 NGINX 反向代理功能將 NGINX 與 Node.js 應用程序連接起來:

這樣,就可以在 PostgreSQL 中獲取產(chǎn)品數(shù)據(jù)了。

準備 Node.JS 應用程序

使用PM2來運行Nodejs 應用程序,PM2 將在后臺繼續(xù)運行節(jié)點服務器。

在私有子網(wǎng)中的 EC2 上安裝 PM2(Node.JS 應用程序運行和運行應用程序的地方):

  1. 1. ssh to ubuntu EC2  
  2. 2. sudo npm install pm2 -g     // Install pm2  
  3. 3. pm2 start server.js    // Run the Server app 

輸出結果為:

pm2的其他相關指令如下:

  1. >> pm2 stop server.js  
  2. >> pm2 restart server.js 

另外,在 pm2 網(wǎng)站上還可以查找更多命令。

讓我們看看私有子網(wǎng)中連接到 Ubuntu EC2 機器的安全組:

因此,所有來自公共子網(wǎng)的流量都是允許的。在這一點上,我想做的另一項測試是查看是否可以從公共子網(wǎng)(Bastian-host)中的 EC2 實例訪問 Node.JS 應用程序。

可以看到,如預期的那樣,我們能夠從公共 EC2 機器與 Node 應用程序(在私有 EC2 端口 3000 上運行)進行通信。

接下來,設置 NGINX 反向代理。

NGINX 配置

盡量保持細節(jié)簡單和基本,可以在網(wǎng)上找到有關各種配置的更多信息。

更新 Nginx 配置文件以進行代理配置:

  1. sudo nano /etc/nginx/nginx.conf 

在 nano 編輯器中打開配置文件,向下滾動直到看到一個服務器塊,點擊為節(jié)點應用程序添加位置 和代理路徑信息,如下所示(請注意在端口 3000 上運行 Node.JS 應用程序的 Ubuntu EC2 機器的私有 IP 地址):

  1. location /nodeapp/{   proxy_pass http://10.0.2.99:3000/; } 

這是公共 EC2 實例上的 Nginx 配置文件。

按 Ctrl+X 保存并關閉文件,重新啟動 NGINX 服務。

  1. sudo service nginx restart 

現(xiàn)在,讓我們嘗試使用瀏覽器訪問節(jié)點應用程序端點:

可以看到,我們能夠收到預期的數(shù)據(jù)。

以下是當前工作負載的更新圖表:

NGNIX 是一個輕量級且易于使用的 Web 服務器??梢韵蜻\行在不同EC2實例上的不同服務引入多個位置塊和代理調(diào)用。

總結

在本文中,我們在公有子網(wǎng)中的 EC2 實例上安裝了 NGINX。然后進行反向代理配置,將來自上一個post的請求傳遞給Node.JS應用程序,因為該應用程序可以連接到 PostgreSQL 數(shù)據(jù)庫,所以我們可以通過 HTTP 訪問數(shù)據(jù)。

 

這是一個非?;镜?、常見的web服務器、應用程序和數(shù)據(jù)庫設置,在下一篇文章中,我們將添加更多應用程序、配置并根據(jù)需要增強此設計。

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:梁菲 來源: AZone
相關推薦

2010-01-19 10:16:40

C++程序

2015-02-02 15:46:59

Web應用架構大數(shù)據(jù)

2012-10-29 13:52:51

應用虛擬化

2011-05-27 16:23:39

SEO

2012-05-21 10:39:52

RAID

2009-08-05 10:16:54

部署ASP.NET應用

2020-12-11 19:06:03

Kubernetes工具應用程序

2011-05-31 13:34:22

應用開發(fā)iPad

2018-10-23 09:58:23

ApacheNGINXWeb

2012-05-11 11:36:14

RAID基礎知識

2010-02-01 13:07:21

2021-09-02 18:47:02

redis存儲中間件Remote Dict

2010-07-07 15:11:39

H.323協(xié)議

2010-12-15 16:17:59

服務部署

2009-09-23 11:07:11

Hibernate基礎

2010-07-16 10:53:30

Perl基礎

2015-06-01 13:35:43

數(shù)據(jù)中心DCIM

2009-04-17 14:22:40

XPathXML基礎

2011-09-16 10:13:02

Emacs

2011-03-29 14:11:20

Cacti基礎知識
點贊
收藏

51CTO技術棧公眾號