Linux高階運維(三) 搭建Nginx排程器

2021-09-25 13:31:17 字數 3907 閱讀 4324

nginx  反向**

**伺服器: 功能 1排程器(合理呼叫伺服器,負載均衡) -輪詢

2健康檢查

使用nginx實現web反向**功能,實現如下功能:

後端web伺服器兩台,可以使用httpd實現

nginx採用輪詢的方式呼叫後端web伺服器

兩台web伺服器的權重要求設定為不同的值

最大失敗次數為1,失敗超時時間為30秒

一.web排程器(http協議)

1部署web1

裝包(httpd)-配置-啟動服務

web伺服器可以簡單使用yum方式安裝httpd實現web服務,為了可以看出後端伺服器的不同,可以將兩台後端伺服器的首頁文件內容設定為不同的內容 ~]#

1)部署後端web1 伺服器

2部署web2

3 配置nginx伺服器,新增伺服器池,實現反向**功能

修改/usr/local/nginx/conf/nginx.conf配置檔案

}4重啟服務

-s reload

-t 檢測是否寫錯

5客戶端使用瀏覽器訪問**伺服器測試輪詢效果

測試 curl

二配置集群屬性

1 設定失敗時間 超時時間.權重

weight weight可以設定後台伺服器的權重,max_fails可以設定後台伺服器的失敗次數,fail_timeout可以設定後台伺服器的失敗超時時間。

max_fails

fail_timeout

down

ip_hasn(取消輪詢)

upstream (定義集群,新增伺服器池)

#weight設定伺服器權重值,預設值為1

#max_fails設定最大失敗次數

#fail_timeout設定失敗超時時間,單位為秒

#down標記伺服器已關機,不參與集群排程

… …server

server

3)客戶端使用訪問**伺服器測試輪詢效果

[root@client ~]# ssh 192.168.4.5 -p 12345 //使用該命令多次訪問檢視效果

要求對nginx伺服器進行適當優化,解決如下問題,以提公升伺服器的處理效能:

如何自定義返回給客戶端的404錯誤頁面

如何檢視伺服器狀態資訊

如果客戶端訪問伺服器提示「too many open files」如何解決

如何解決客戶端訪問頭部資訊過長的問題

如何讓客戶端瀏覽器快取資料

日誌切割

開啟gzip壓縮功能,提高資料傳輸效率

開啟檔案快取功能

然後客戶機訪問此web伺服器驗證效果:

使用ab壓力測試軟體測試併發量

編寫測試指令碼生成長頭部資訊的訪問請求

客戶端訪問不存在的頁面,測試404錯誤頁面是否重定向

一:自定義報錯頁面

1)優化前,客戶端使用瀏覽器訪問不存在的頁面,會提示404檔案未找到

[root@client ~]# firefox /***xx //訪問乙個不存在的頁面

2)修改nginx配置檔案,自定義報錯頁面

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf

… …charset utf-8; //僅需要中文時需要改選項,可選項

error_page 404 /404.html; //自定義錯誤頁面

… …[root@proxy ~]# vim /usr/local/nginx/html/404.html //生成錯誤頁面

oops,no no no page …

[root@proxy ~]# nginx -s reload

3)優化後,客戶端使用瀏覽器訪問不存在的頁面,會提示自己定義的40x.html頁面

[root@client ~]# firefox /***xx //訪問乙個不存在的頁面

4)常見http狀態碼

二:如何檢視伺服器狀態資訊(非常重要的功能)

1)編譯安裝時使用–with-http_stub_status_module開啟狀態頁面模組

[root@proxy ~]# tar -zxvf nginx-1.12.2.tar.gz

[root@proxy ~]# cd nginx-1.12.2

[root@proxy nginx-1.12.2]# ./configure \

–with-http_ssl_module //開啟ssl加密功能

–with-stream //開啟tcp/udp**模組

–with-http_stub_status_module //開啟status狀態頁面

[root@proxy nginx-1.12.2]# make && make install //編譯並安裝

2)啟用nginx服務並檢視監聽埠狀態

ss命令可以檢視系統中啟動的埠資訊,該命令常用選項如下:

[root@proxy ~]# /usr/local/nginx/sbin/nginx

[root@proxy ~]# netstat -anptu | grep nginx

tcp 0 0 0.0.0.0:80 0.0.0.0:* listen 10441/nginx

[root@proxy ~]# ss -anptu | grep nginx

3)修改nginx配置檔案,定義狀態頁面

[root@proxy ~]# cat /usr/local/nginx/conf/nginx.conf

… …location /status

… …[root@proxy ~]# nginx

4)優化後,檢視狀態頁面資訊

[root@proxy ~]# curl /status

active connections: 1

server accepts handled requests

10 10 3

reading: 0 writing: 1 waiting: 0

active connections:當前活動的連線數量。

accepts:已經接受客戶端的連線總數量。

handled:已經處理客戶端的連線總數量。

(一般與accepts一致,除非伺服器限制了連線數量)。

requests:客戶端傳送的請求數量。

reading:當前伺服器正在讀取客戶端請求頭的數量。

writing:當前伺服器正在寫響應資訊的數量。

waiting:當前多少客戶端在等待伺服器的響應。

Linux高階運維(二) Lnmp平台搭建

一.lnmp linux nginx mysql php lamp 動態 靜態 web var www html 檔案 usr local nginx html 網頁檔案 1 裝包nginx mariadb 資料庫客戶端軟體 mariadb server 資料庫伺服器軟體 mariadb devel...

Linux運維 高階指令

df 作用 檢視磁碟的空間 df h h 以較高可讀性展示大小 free 作用 檢視記憶體使用情況 free m m 以兆m為單位的形式顯示。這裡用 h可能會被四捨五入 作用 檢視乙個檔案的前n行,如果不指定n,則預設顯示前10行。n表數字 head n 檔案路徑 head 5 install.lo...

Linux高階運維命令(awk)

awk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。awk有3個不同版本 awk nawk和gawk,未作特別說明,一般指gawk,gawk...