【Nginx】Nginx簡介,安裝Nginx

1. Nginx簡介

1.1 Nginx概述

Nginx是一款高性能的http服務器/反向代理服務器及電子郵件代理服務器。由俄羅斯的程序設計師lgor Sysoev用c語言所開發,官方測試nginx能夠支撐5萬併發連接,並且cpu、內存等資源消耗卻非常低,運行非常穩定。

1.2 Nginx作爲web服務器

Nginx 可以作爲靜態頁面的 web 服務器,同時還支持 CGI 協議的動態語言,比如 perl、 php等。但是不支持 java。 Java 程序只能通過與 tomcat 配合完成。 Nginx 專爲性能優化而開發,性能是其最重要的考量,實現上非常注重效率 ,能經受高負載的考驗,有報告表明能支持高達 50,000 個併發連接數。

1.3 正向代理

Nginx 不僅可以做反向代理,實現負載均衡。還能用作正向代理來進行上網等功能。

  • 正向代理:如果把局域網外的 Internet 想象成一個巨大的資源庫,則局域網中的客戶端要訪問 Internet,則需要通過代理服務器來訪問,這種代理服務就稱爲正向代理。
    在這裏插入圖片描述

1.4 反向代理

反向代理,其實客戶端對代理是無感知的,因爲客戶端不需要任何配置就可以訪問,我們只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據後,在返回給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器 IP 地址。

1.5 負載均衡

客戶端發送多個請求到服務器,服務器處理請求,有一些可能要與數據庫進行交互,服務器處理完畢後,再將結果返回給客戶端。

這種架構模式對於早期的系統相對單一,併發請求相對較少的情況下是比較適合的,成本也低。但是隨着信息數量的不斷增長,訪問量和數據量的飛速增長,以及系統業務的複雜度增加,這種架構會造成服務器相應客戶端的請求日益緩慢,併發量特別大的時候,還容易造成服務器直接崩潰。很明顯這是由於服務器性能的瓶頸造成的問題,那麼如何解決這種情況呢?

我們首先想到的可能是升級服務器的配置,比如提高 CPU 執行頻率,加大內存等提高機器的物理性能來解決此問題,但是我們知道摩爾定律的日益失效,硬件的性能提升已經不能滿足日益提升的需求了。最明顯的一個例子,天貓雙十一當天,某個熱銷商品的瞬時訪問量是極其龐大的,那麼類似上面的系統架構,將機器都增加到現有的頂級物理配置,都是不能夠滿足需求的。那麼怎麼辦呢?

上面的分析我們去掉了增加服務器物理配置來解決問題的辦法,也就是說縱向解決問題的辦法行不通了,那麼橫向增加服務器的數量呢?這時候集羣的概念產生了,單個服務器解決不了,我們增加服務器的數量,然後將請求分發到各個服務器上,將原先請求集中到單個服務器上的情況改爲將請求分發到多個服務器上,將負載分發到不同的服務器,也就是我們所說的負載均衡

1.6 動靜分離

爲了加快網站的解析速度,可以把動態請求和靜態請求由不同的服務器來解析,加快解析速度。降低原來單個服務器的壓力。

2. 安裝Nginx

Nginx安裝之前需要三個支持:

模塊依賴性

  1. rewrite 模塊需要 pcre 庫
  2. gzip 模塊需要 zlib 庫
  3. ssl 功能需要 openssl 庫

安裝之前請確保你的服務器已經安裝了gcc,g++。

如果你只想快速簡單的安裝完成,那麼你可以使用apt來下載安裝

sudo apt-get install zlib1g-dev
sudo apt-get install libpcre3 libpcre3-dev 
sudo apt-get install openssl libssl-dev

如果你想要裝最新版或者其他版本,那麼你需要去官網查詢版本信息,然後通過以下方式安裝。
首先我們安裝pcre庫(官網:http://www.pcre.org/ )

wget http://downloads.sourceforge.net/project/pcre/pcre/8.44/pcre-8.44.tar.gz
tar -xvf pcre-8.44.tar.gz 
cd pcre-8.44/
./configure
make && make install

然後我們安裝zlib庫(官網:http://www.zlib.net/ )

wget https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz
tar -xvf zlib-1.2.11.tar.gz 
cd zlib-1.2.11/
./configure
make && make install

最後我們來安裝openssl 庫 (官網:http://www.openssl.org/)

get https://www.openssl.org/source/openssl-1.1.1g.tar.gz
tar -xvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g/
./config
make && make install

最後我們開始安裝Nginx。

wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -xvf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
./config
make && make install

如果是虛擬機的話,還需要打開防火牆對於端口的開放。如果是雲服務器的話那就去控制檯設置安全策略。

虛擬機防火牆端口開放

# 查看開放的端口號
firewall-cmd --list-all
# 設置開放的端口號
firewall-cmd --add-service=http –permanent
sudo firewall-cmd --add-port=80/tcp --permanent
# 重啓防火牆
firewall-cmd --reload

安裝完成後我們來驗證一下是否安裝成功。
首先我們需要打開Nginx.

cd /usr/local/nginx/sbin/
./nginx

然後在瀏覽器中輸入服務器的ip。

這樣就安裝成功了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章