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加密功能2)啟用nginx服務並檢視監聽埠狀態–with-stream //開啟tcp/udp**模組
–with-http_stub_status_module //開啟status狀態頁面
[root@proxy nginx-1.12.2]# make && make install //編譯並安裝
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...