Nginx Linux環境下安裝及負載均衡配置

2021-09-02 23:10:56 字數 3626 閱讀 6334

在正式介紹nginx之前先簡單說明下什麼是正向**和反向**,nginx實現負載均衡功能正是基於其反向**功能實現的。

正向**類似乙個跳板機,**訪問外部資源。正向** 是乙個位於客戶端和原始伺服器之間的伺服器,為了從原始伺服器取得內容,客戶端向**傳送乙個請求並指定目標(原始伺服器),然後**向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設定才能使用正向**。

反向**的**物件是服務端,客戶端不需要做任何配置。反向**實際執行方式是指以**伺服器來接受internet上的連線請求,然後將請求**給內部網路上的其它伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時**伺服器對外就表現為乙個伺服器。

[root@localhost mnt]# wget

[root@localhost mnt]# wget

[root@localhost mnt]# wget

[root@localhost mnt]# wget

安裝c++編譯環境,如已安裝可略過

[root@localhost src]# yum install gcc-c++

2)安裝nginx及相關元件

openssl安裝

[root@localhost mnt]# tar zxvf openssl-fips-2.0.10.tar.gz

[root@localhost mnt]# cd openssl-fips-2.0.10

[root@localhost openssl-fips-2.0.10]# ./config && make && make install

pcre安裝

[root@localhost mnt]# tar zxvf pcre-8.40.tar.gz

[root@localhost mnt]# cd pcre-8.40

[root@localhost pcre-8.40]# ./configure && make && make install

zlib安裝

[root@localhost mnt]# tar zxvf zlib-1.2.11.tar.gz

[root@localhost mnt]# cd zlib-1.2.11

[root@localhost zlib-1.2.11]# ./configure && make && make install

nginx安裝

預設安裝到/usr/local/nginx,也可以指定安裝目錄./configure --prefix=/mnt/nginx

[root@localhost mnt]# tar zxvf nginx-1.13.6.tar.gz

[root@localhost mnt]# cd nginx-1.13.6

[root@localhost nginx-1.13.6]# ./configure && make && make install

3)啟動停止nginx

[root@localhost mnt]# cd /usr/local/nginx/sbin

啟動nginx,-c表示指定nginx.conf的檔案。如果不指定,預設為nginx_home/conf/nginx.conf

[root@localhost sbin]# ./nginx -c /usr/local/nginx/conf/nginx.conf

傳送訊號到nginx程序後,nginx程序會等待處理完畢當前請求,同時將不會接受新請求

[root@localhost sbin]# kill -quit 程序號

立即停止當前正在處理的請求

[root@localhost sbin]# kil -term 程序號

停止nginx

[root@localhost sbin]# ./nginx -s stop

退出nginx

[root@localhost sbin]# ./nginx -s quit

[root@localhost sbin]# ./nginx -s reload

啟動成功,在瀏覽器訪問http://localhost,如果出現如下nginx歡迎頁面則表示nginx安裝成功。

nginx核心配置檔案為/usr/local/nginx/conf/nginx.conf,其預設配置如下,反向**預設埠是80,伺服器名稱localhost,這也就是為什麼上文提到的瀏覽器中直接訪問http://localhost可以看到歡迎頁面的原因。

} }nginx反向**配置說明:

1)listen 80;代表監聽80埠

2)server_name ***.***.com;代表外網訪問的網域名稱

3)location / {};代表乙個過濾器,/匹配所有請求,還可以根據自己的情況定義不同的過濾,比如對靜態檔案js、css、image制定專屬過濾

4)root html;代表站點根目錄

5)index index.html;代表預設主頁

負載均衡功能往往在接收到某個請求後分配到後端的多台伺服器上,如果要借助nginx實現負載均衡就需要upstream{}塊來配合使用。配置示例如下:

} }1)upstream ***.***.com{};upstream模組是命名乙個後端伺服器組,組名必須為後端伺服器站點網域名稱,內部可以寫多台伺服器ip和port,還可以設定跳轉規則及權重等等。

server;代表後端伺服器位址,伺服器狀態包括:down(表示單前的server暫時不參與負載)、weight(預設為1.weight越大,負載的權重就越大)、max_fails(允許請求失敗的次數預設為1.當超過最大次數時返回失敗)、fail_timeout(max_fails 次失敗後,暫停的時間)、backup(其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕)。

2)server{};server模組依然是接收外部請求的部分。

server_name;代表外網訪問網域名稱。

location / {};同樣代表過濾器,用於制定不同請求的不同操作。

proxy_pass;代表後端伺服器組名,此組名必須為後端伺服器站點網域名稱。

server_name和upstream{}的組名可以不一致,server_name是外網訪問接收請求的網域名稱,upstream{}的組名是跳轉後端伺服器時站點訪問的網域名稱。

另外還需要在本機配置乙個網域名稱對映,即c:windowssystem32driversetc中條件一行139.129.196.11 www.wf.com。自此乙個簡單的基於nginx的負載均衡已經配置完畢,直接在瀏覽器中訪問可以看到實際顯示的為網域名稱www.feixiang.com的內容。事實上nginx已經把使用者請求採用ip_hash方式分發到www.feixiang.com的多個伺服器上。

Nginx linux下的安裝

我的安裝環境以及nginx版本 ubuntu16 nginx 1.11.3.tar.gz 經過這個嘗試這個版本和我安裝的元件不會衝突,經試驗最新的版本可能不支援元件 nginx的安裝前,先對系統安裝進行更新,然後安裝好依賴庫 apt get update apt get y install make...

Nginx Linux安裝詳解

nginx是乙個web伺服器,可以用於負載均衡和反向 的乙個工具 安裝c 編譯環境 root localhost src yum install gcc c 第二步 解壓安裝對應的軟體 一 openssl安裝 解壓 root localhost tar zxvf openssl fips 2.0.1...

nginx linux下的部署

一些概念 一 使用xftp將程式上傳到你的linux上 二 安裝gcc yum yinstall gcc automake autoconf libtool make 三 安裝g yum install gcc gcc c 四 解壓nginx安裝包 tar zxvf nginx 1.8.1.tar....