深入淺出Nginx之一 簡介與環境搭建

2021-09-02 03:33:33 字數 2920 閱讀 9213

【nginx簡介】

負載均衡(load balance):使用nginx作為**伺服器,接收使用者請求,並將其「均勻地**」給多台內部web伺服器,不會出現負載集中在某台伺服器的現象。

反向**(reverse proxy):標準的**是使用者使用**軟體訪問網際網路上的多台web伺服器,而反向**指的是多個使用者使用**伺服器訪問多台內部web伺服器的模式。

使用nginx的優點:

支援高併發訪問:在生產環境下支援高達5萬以上的併發連線數。

記憶體消耗少:在5萬併發連線環境下,開啟10個worker程序,僅僅消耗150m記憶體。

成本低廉:nginx是免費的開源軟體,無須付費。

支援rewrite重寫規則:nginx使用pcre進行正規表示式匹配,根據請求網域名稱、url的不同,將http請求分發給不同的後端伺服器。

內建健康檢查功能:nginx能夠檢測某台後端伺服器是否宕機,不影響使用者訪問。

節省頻寬:可以對靜態資源進行gzip高效壓縮,而通常瀏覽器都具有gzip解壓縮功能。

效能穩定:使用nginx作為反向**伺服器,有效避免了網路攻擊對後端伺服器的影響,提高了安全性。

【安裝nginx】

一. 安裝依賴包:

1. 安裝pcre:對正規表示式的支援。

tar -zxvf pcre-8.33.tar.gz

cd pcre-8.33

./configure --prefix=/usr/local/pcre

make && make install

2. 安裝zlib:對gzip壓縮的支援。    

tar -zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure --prefix=/usr/local/zlib

make && make install

3. 安裝openssl:對ssl協議的支援。 

tar -zxvf openssl-1.0.0.tar.gz 

cd openssl-1.0.0

./config --prefix=/usr/local/openssl

make && make install

二. 安裝nginx:1. 建立日誌目錄: 

mkdir -p /opt/nginx/logs
2. 解壓、配置: 

說明:

1. 使用\:表示多個物理行同屬乙個邏輯行.

2. 日誌檔案:error.log存放nginx的錯誤日誌,access.log存放使用者訪問日誌.

3. 依賴關係:pcre、zlib、openssl需要設定為原始碼位置,而不是安裝位置.

3. 編譯、安裝: 

make && make install
【最小配置】1. 修改nginx啟動埠號:修改監聽埠號為8080,因為只有root賬號能夠使用0-1024之間的埠號. 

vi /usr/local/nginx/conf/nginx.conf

listen 8080;

2. 防火牆設定:開放8080埠 

su - root

vi /etc/sysconfig/iptables

追加如下內容:

-a input -m state --state new -m tcp -p tcp --dport 8080 -j accept
重啟網絡卡: 

service iptables restart
【啟動、關閉】1. 啟動nginx:並指定配置檔案,引數-c為configure 

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2. 關閉nginx:引數-s為signal 

#等待worker程序處理完使用者的當前請求,再進行關閉

/usr/local/nginx/sbin/nginx -s quit

#快速關閉

/usr/local/nginx/sbin/nginx -s stop

3. 使用kill命令關閉:關閉主程序(master process),從程序(worker process)隨之消亡.

ps -ef | grep nginx

kill 21531

深入淺出Nginx之一 簡介與環境搭建

nginx簡介 負載均衡 load balance 使用nginx作為 伺服器,接收使用者請求,並將其 均勻地 給多台內部web伺服器,不會出現負載集中在某台伺服器的現象。反向 reverse proxy 標準的 是使用者使用 軟體訪問網際網路上的多台web伺服器,而反向 指的是多個使用者使用 伺服...

深入淺出Nginx

前言 nginx是一款輕量級的web伺服器 反向 伺服器,由於它的記憶體占用少,啟動極快,高併發能力強,在網際網路專案中廣泛應用。架構圖上圖基本上說明了當下流行的技術架構,其中nginx有點入口閘道器的味道。反向 伺服器?經常聽人說到一些術語,如反向 那麼什麼是反向 什麼又是正向 呢?正向 正向 示...

深入淺出Nginx

前言 nginx是一款輕量級的web伺服器 反向 伺服器,由於它的記憶體占用少,啟動極快,高併發能力強,在網際網路專案中廣泛應用。架構圖上圖基本上說明了當下流行的技術架構,其中nginx有點入口閘道器的味道。反向 伺服器?經常聽人說到一些術語,如反向 那麼什麼是反向 什麼又是正向 呢?正向 正向 示...