第一章 Nginx簡介
1.1 Nginx 概述
Nginx ("engine x") 是一個高性能的 HTTP 和反向代理服務(wù)器,特點是占有內(nèi)存少,并發(fā)能 力強,事實上 nginx 的并發(fā)能力確實在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用 nginx 網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等
1.2 Nginx 作為 web 服務(wù)器
Nginx 可以作為靜態(tài)頁面的 web 服務(wù)器,同時還支持 CGI 協(xié)議的動態(tài)語言,比如 perl、php 等。但是不支持 java。Java 程序只能通過與 tomcat 配合完成。Nginx 專為性能優(yōu)化而開發(fā), 性能是其最重要的考量,實現(xiàn)上非常注重效率 ,能經(jīng)受高負載的考驗,有報告表明能支持高 達 50,000 個并發(fā)連接數(shù)
1.3 正向代理
Nginx 不僅可以做反向代理,實現(xiàn)負載均衡。還能用作正向代理來進行上網(wǎng)等功能。 正向代理:如果把局域網(wǎng)外的 Internet 想象成一個巨大的資源庫,則局域網(wǎng)中的客戶端要訪 問 Internet,則需要通過代理服務(wù)器來訪問,這種代理服務(wù)就稱為正向代理。
1.4 反向代理
反向代理,其實客戶端對代理是無感知的,因為客戶端不需要任何配置就可以訪問,我們只 需要將請求發(fā)送到反向代理服務(wù)器,由反向代理服務(wù)器去選擇目標服務(wù)器獲取數(shù)據(jù)后,在返 回給客戶端,此時反向代理服務(wù)器和目標服務(wù)器對外就是一個服務(wù)器,暴露的是代理服務(wù)器
1.5 負載均衡
客戶端發(fā)送多個請求到服務(wù)器,服務(wù)器處理請求,有一些可能要與數(shù)據(jù)庫進行交互,服 務(wù)器處理完畢后,再將結(jié)果返回給客戶端。 這種架構(gòu)模式對于早期的系統(tǒng)相對單一,并發(fā)請求相對較少的情況下是比較適合的,成 本也低。但是隨著信息數(shù)量的不斷增長,訪問量和數(shù)據(jù)量的飛速增長,以及系統(tǒng)業(yè)務(wù)的復雜 度增加,這種架構(gòu)會造成服務(wù)器相應(yīng)客戶端的請求日益緩慢,并發(fā)量特別大的時候,還容易 造成服務(wù)器直接崩潰。很明顯這是由于服務(wù)器性能的瓶頸造成的問題,那么如何解決這種情 況呢? 我們首先想到的可能是升級服務(wù)器的配置,比如提高 CPU 執(zhí)行頻率,加大內(nèi)存等提高機 器的物理性能來解決此問題,但是我們知道摩爾定律的日益失效,硬件的性能提升已經(jīng)不能 滿足日益提升的需求了。最明顯的一個例子,天貓雙十一當天,某個熱銷商品的瞬時訪問量 是極其龐大的,那么類似上面的系統(tǒng)架構(gòu),將機器都增加到現(xiàn)有的頂級物理配置,都是不能 夠滿足需求的。那么怎么辦呢? 上面的分析我們?nèi)サ袅嗽黾臃?wù)器物理配置來解決問題的辦法,也就是說縱向解決問題 的辦法行不通了,那么橫向增加服務(wù)器的數(shù)量呢?這時候集群的概念產(chǎn)生了,單個服務(wù)器解 決不了,我們增加服務(wù)器的數(shù)量,然后將請求分發(fā)到各個服務(wù)器上,將原先請求集中到單個服務(wù)器上的情況改為將請求分發(fā)到多個服務(wù)器上,將負載分發(fā)到不同的服務(wù)器,也就是我們 所說的負載均衡
1.6 動靜分離
為了加快網(wǎng)站的解析速度,可以把動態(tài)頁面和靜態(tài)頁面由不同的服務(wù)器來解析,加快解析速 度。降低原來單個服務(wù)器的壓力。
第二章 Nginx安裝
2.1 在linux系統(tǒng)中的安裝
1.官網(wǎng)下載
http://nginx.org/en/download.html
解壓完成后直接進入解壓目錄下 運行 ./configure 文件
2.make 下
3.再接著 make install 安裝完成
4.可以通過whereis nginx 查找安裝位置,安裝完畢會生成一個nginx文件夾
錯誤信息:
./configure: error: the HTTP rewrite module requires the PCRE library.
解決方法:安裝pcre-devel
yum install pcre-devel
錯誤信息:
./configure: error: the HTTP gzip module requires the zlib library.
解決方法:安裝zlib-devel
yum install zlib-devel
過程中可能會出現(xiàn)make: *** No rule to make target build', needed bydefault'. Stop.錯誤
需要安裝openssl以及ncurses組件
yum install -y openssl*
yum -y install ncurses-devel
checking for C compiler ... not found ./configure: error: C compiler cc is not found
yum install glibc-devel
Linux 開放端口號 CentOS中測試
查看 firewalld 狀態(tài)
systemctl status firewalld
開放端口3306: success
// --permanent 永久生效,沒有此參數(shù)重啟后失效
重新加載:success
firewall-cmd --reload
查看端口號是否開啟: yes/no
firewall-cmd --zone=public --query-port=3306/tcp
刪除端口號:success 需要重新加載
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
2.2 在windows系統(tǒng)中的安裝
下載后解壓就能用
第 3 章 nginx 常用的命令和配置文件
3.1 nginx 常用的命令:
linux系統(tǒng)
cd /usr/local/nginx/sbin/ ./nginx 啟動 ./nginx -s stop 停止 ./nginx -s quit 安全退出 ./nginx -s reload 重新加載配置文件 ps aux|grep nginx
3.2 nginx.conf配置文件
三大部分
代碼示例
user nobody;
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}http {
include mime.types;
default_type application/octet-stream;log_format main '
remote_user [
request" '
'
body_bytes_sent "$http_referer" '
'"
http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
tcp_nopush on;
keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
server {
listen 8443;
server_name localhost;charset koi8-r;
access_log logs/host.access.log main;
location /oneblog/ {
root /;
rewrite ^/oneblog/(.*)1 break;
}error_page 404 /404.html;
redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}proxy the PHP scripts to Apache listening on 127.0.0.1:80
location ~ .php$ {
proxy_pass http://127.0.0.1;
}
pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
deny access to .htaccess files, if Apache's document root
concurs with nginx's one
location ~ /.ht {
deny all;
}
}
another virtual host using mix of IP-, name-, and port-based configuration
server {
listen 8000;
listen somename:8080;
server_name somename alias another.alias;
location / {
root html;
index index.html index.htm;
}
}
HTTPS server
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
}
3.2.1第一部分:全局塊
從配置文件開始到 events 塊之間的內(nèi)容,主要會設(shè)置一些影響 nginx 服務(wù)器整體運行的配置指令,主要包括配 置運行 Nginx 服務(wù)器的用戶(組)、允許生成的 worker process 數(shù),進程 PID 存放路徑、日志存放路徑和類型以 及配置文件的引入等。
比如
worker_processes 1;
這是 Nginx 服務(wù)器并發(fā)處理服務(wù)的關(guān)鍵配置,worker_processes 值越大,可以支持的并發(fā)處理量也越多,但是 會受到硬件、軟件等設(shè)備的制約
3.2.2第二部分:evernts塊
比如上面的配置
events { worker_connections 1024; }
events 塊涉及的指令主要影響 Nginx 服務(wù)器與用戶的網(wǎng)絡(luò)連接,常用的設(shè)置包括是否開啟對多 work process 下的網(wǎng)絡(luò)連接進行序列化,是否允許同時接收多個網(wǎng)絡(luò)連接,選取哪種事件驅(qū)動模型來處理連接請求,每個 word process 可以同時支持的最大連接數(shù)等。 上述例子就表示每個 work process 支持的最大連接數(shù)為 1024. 這部分的配置對 Nginx 的性能影響較大,在實際中應(yīng)該靈活配置。
3.2.3第三部分:http塊
這算是 Nginx 服務(wù)器配置中最頻繁的部分,代理、緩存和日志定義等絕大多數(shù)功能和第三方模塊的配置都在這里。 需要注意的是:http 塊也可以包括 http 全局塊、server 塊
http 全局塊配置的指令包括文件引入、MIME-TYPE 定義、日志自定義、連接超時時間、單鏈接請求數(shù)上限等。
server塊和虛擬主機有密切關(guān)系,虛擬主機從用戶角度看,和一臺獨立的硬件主機是完全一樣的,該技術(shù)的產(chǎn)生是為了 節(jié)省互聯(lián)網(wǎng)服務(wù)器硬件成本。
每個 http 塊可以包括多個 server 塊,而每個 server 塊就相當于一個虛擬主機。
而每個 server 塊也分為全局 server 塊,以及可以同時包含多個 locaton 塊。
1、全局 server 塊
最常見的配置是本虛擬機主機的監(jiān)聽配置和本虛擬主機的名稱或 IP 配置。
2、location 塊
一個 server 塊可以配置多個 location 塊。
這塊的主要作用是基于 Nginx 服務(wù)器接收到的請求字符串(例如 server_name/uri-string),對虛擬主機名稱
(也可以是 IP 別名)之外的字符串(例如 前面的 /uri-string)進行匹配,對特定的請求進行處理。地址定向、數(shù)據(jù)緩
存和應(yīng)答控制等功能,還有許多第三方模塊的配置也在這里進行。
第 4 章 nginx 配置實例-反向代理
4.1 反向代理實例一
實現(xiàn)效果:使用 nginx 反向代理,訪問 www.123.com 直接跳轉(zhuǎn)到 127.0.0.1:8080
第一步修改電腦上的配置文件:
C:\Windows\System32\drivrs\etc
47.94.243.187 www.123.com
第二步
第三步4.3 反向代理實例二
實現(xiàn)效果:使用 nginx 反向代理,根據(jù)訪問的路徑跳轉(zhuǎn)到不同端口的服務(wù)中 nginx 監(jiān)聽端口為 9113 訪問 http://127.0.0.1:9113/admintest1 直接跳轉(zhuǎn)到 127.0.0.1:8111
訪問 http://127.0.0.1:9113/admintest2 直接跳轉(zhuǎn)到 127.0.0.1:8085
server {
listen 9113;
server_name 47.94.243.187;charset koi8-r;
access_log logs/host.access.log main;
location ~ /admintest1 {
root html;
index index.html index.htm;
proxy_pass http://127.0.0.1:8111;
}location ~ /admintest2 {
root html;
index index.html index.htm;
proxy_pass http://127.0.0.1:8085;
}error_page 404 /404.html;
redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}proxy the PHP scripts to Apache listening on 127.0.0.1:80
location ~ .php$ {
proxy_pass http://127.0.0.1;
}
pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
deny access to .htaccess files, if Apache's document root
concurs with nginx's one
location ~ /.ht {
deny all;
}
}
location 指令說明 該指令用于匹配
1、= :用于不含正則表達式的 uri 前,要求請求字符串與 uri 嚴格匹配,如果匹配 成功,就停止繼續(xù)向下搜索并立即處理該請求。 2、~:用于表示 uri 包含正則表達式,并且區(qū)分大小寫。 3、~:用于表示 uri 包含正則表達式,并且不區(qū)分大小寫。 4、^~:用于不含正則表達式的 uri 前,要求 Nginx 服務(wù)器找到標識 uri 和請求字 符串匹配度最高的 location 后,立即使用此 location 處理請求,而不再使用 location 塊中的正則 uri 和請求字符串做匹配。 注意:如果 uri 包含正則表達式,則必須要有 ~ 或者 ~ 標識。
第 5 章 nginx 配置實例-負載均衡
隨著互聯(lián)網(wǎng)信息的爆炸性增長,負載均衡(load balance)已經(jīng)不再是一個很陌生的話題, 顧名思義,負載均衡即是將負載分攤到不同的服務(wù)單元,既保證服務(wù)的可用性,又保證響應(yīng) 足夠快,給用戶很好的體驗。快速增長的訪問量和數(shù)據(jù)流量催生了各式各樣的負載均衡產(chǎn)品, 很多專業(yè)的負載均衡硬件提供了很好的功能,但卻價格不菲,這使得負載均衡軟件大受歡迎, nginx 就是其中的一個,在 linux 下有 Nginx、LVS、Haproxy 等等服務(wù)可以提供負載均衡服 務(wù),而且 Nginx 提供了幾種分配方式(策略):實現(xiàn)效果:配置負載均衡
5種方式
1、輪詢(默認)
每個請求按時間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動剔除。
upstream backserver {
server 47.94.243.187;
server 47.94.243.187;
}
2、指定權(quán)重
指定輪詢幾率,weight和訪問比率成正比,用于后端服務(wù)器性能不均的情況。
upstream backserver { server 47.94.243.187weight=3; server 47.94.243.187weight=5; }
3、IP綁定 ip_hash
每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端服務(wù)器,可以解決session的問題。
upstream backserver { ip_hash; server 47.94.243.187; server 47.94.243.187; }
4、fair(第三方)
按后端服務(wù)器的響應(yīng)時間來分配請求,響應(yīng)時間短的優(yōu)先分配。
upstream backserver { server server1; server server2; fair; }
5、url_hash(第三方)
按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個后端服務(wù)器,后端服務(wù)器為緩存時比較有效。
upstream backserver { server squid1:3128; server squid2:3128; hash $request_uri; hash_method crc32; }
在需要使用負載均衡的http下增加
proxy_pass http://backserver/;
upstream backserver{
ip_hash;
server 127.0.0.1:8383 down; (down 表示當前的server暫時不參與負載)
server 127.0.0.1:8181 weight=2; (weight 默認為1.weight越大,負載的權(quán)重就越大)
server 127.0.0.1:8090;
server 127.0.0.1:7070 backup; (其它所有的非backup機器down或者忙的時候,請求backup機器)
}
max_fails :允許請求失敗的次數(shù)默認為1.當超過最大次數(shù)時,返回proxy_next_upstream 模塊定義的錯誤
fail_timeout:max_fails次失敗后,暫停的時間
第 6 章 nginx 配置實例-動靜分離
Nginx 動靜分離簡單來說就是把動態(tài)跟靜態(tài)請求分開,不能理解成只是單純的把動態(tài)頁面和
靜態(tài)頁面物理分離。嚴格意義上說應(yīng)該是動態(tài)請求跟靜態(tài)請求分開,可以理解成使用 Nginx
處理靜態(tài)頁面,Tomcat 處理動態(tài)頁面。動靜分離從目前實現(xiàn)角度來講大致分為兩種,
一種是純粹把靜態(tài)文件獨立成單獨的域名,放在獨立的服務(wù)器上,也是目前主流推崇的方案;
另外一種方法就是動態(tài)跟靜態(tài)文件混合在一起發(fā)布,通過 nginx 來分開。
通過 location 指定不同的后綴名實現(xiàn)不同的請求轉(zhuǎn)發(fā)。通過 expires 參數(shù)設(shè)置,可以使
瀏覽器緩存過期時間,減少與服務(wù)器之前的請求和流量。具體 Expires 定義:是給一個資
源設(shè)定一個過期時間,也就是說無需去服務(wù)端驗證,直接通過瀏覽器自身確認是否過期即可,
所以不會產(chǎn)生額外的流量。此種方法非常適合不經(jīng)常變動的資源。(如果經(jīng)常更新的文件,
不建議使用 Expires 來緩存),我這里設(shè)置 3d,表示在這 3 天之內(nèi)訪問這個 URL,發(fā)送
一個請求,比對服務(wù)器該文件最后更新時間沒有變化,則不會從服務(wù)器抓取,返回狀態(tài)碼
304,如果有修改,則直接從服務(wù)器重新下載,返回狀態(tài)碼 200。
示例
autoindex on 表示是否會列出目錄,就是說不訪問該路徑下的具體文件,可以展示出該文件夾下有多少文件
示例二
location /oneblog/ {
root /;
rewrite ^/oneblog/(.*)1 break;
}通過訪問sunjian.ltd/oneblog/xxx.jpg可以訪問到具體的文件
最后檢查 Nginx 配置是否正確即可,然后測試動靜分離是否成功,之需要刪除后端 tomcat 服務(wù)器上的某個靜態(tài)文件,查看是否能訪問,如果可以訪問說明靜態(tài)資源 nginx 直接返回 了,不走后端 tomcat 服務(wù)器
第七章 Nginx 配置高可用的集群
Keepalived+Nginx 高可用集群(主從模式)
1、準備工作
(1)需要兩臺 nginx 服務(wù)器 (2)需要 keepalived (3)需要虛擬 ip
2、配置高可用的準備工作
(1)需要兩臺服務(wù)器 192.168.169.130 和 192.168.169.128 47.94.243.187
(2)在兩臺服務(wù)器安裝 nginx
3、在兩臺服務(wù)器安裝 keepalived
(1)任意文件夾下使用 yum 命令進行安裝 yum install keepalived –y
(2)安裝之后,在 etc 里面生成目錄 keepalived,有文件 keepalived.conf
4、完成高可用配置(主從配置)
(1)主服務(wù)器修改/etc/keepalived/keepalivec.conf 配置文件以及在主服務(wù)器中文件夾/usr/local/src 添加檢測腳本nginx_check.sh
主服務(wù)器修改/etc/keepalived/keepalivec.conf 配置文件
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.169.130
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(檢測腳本執(zhí)行的間隔)
weight 2
}
vrrp_instance VI_1 {
state MASTER # 備份服務(wù)器上將 MASTER 改為 BACKUP
interface ens32 //網(wǎng)卡
virtual_router_id 51 # 主、備機的 virtual_router_id 必須相同
priority 100 # 主、備機取不同的優(yōu)先級,主機值較大,備份機值較小
advert_int 1authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.169.125 // VRRP H 虛擬地址
}
}
主服務(wù)器ip地址
在主服務(wù)器文件夾中/usr/local/src 添加檢測腳本nginx_check.sh
!/bin/bash
A=
ps -C nginx –no-header |wc -l
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ps -C nginx --no-header |wc -l-eq 0 ];then
killall keepalived
fi
fi
(2)從服務(wù)器修改/etc/keepalived/keepalivec.conf 配置文件以及在從服務(wù)器中文件夾/usr/local/src 添加檢測腳本
從服務(wù)器修改/etc/keepalived/keepalivec.conf 配置文件
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.169.130
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(檢測腳本執(zhí)行的間隔)
weight 2
}
vrrp_instance VI_1 {
state BACKUP # 備份服務(wù)器上將 MASTER 改為 BACKUP
interface ens32 //網(wǎng)卡
virtual_router_id 51 # 主、備機的 virtual_router_id 必須相同
priority 90 # 主、備機取不同的優(yōu)先級,主機值較大,備份機值較小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.169.125 // VRRP H 虛擬地址
}
}
從服務(wù)器ip地址
在從服務(wù)器文件夾中/usr/local/src 添加檢測腳本nginx_check.sh
!/bin/bash
A=
ps -C nginx –no-header |wc -l
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ps -C nginx --no-header |wc -l-eq 0 ];then
killall keepalived
fi
fi
(3)把兩臺服務(wù)器上 nginx 和 keepalived 啟動 啟動 nginx:./nginx 啟動 keepalived:systemctl start keepalived.service
通過ip a查看是否有有相應(yīng)的配置,沒有則配置無效
(4)測試
在瀏覽器地址欄輸入 虛擬 ip 地址 192.168.169.125 // VRRP H 虛擬地址
(2)把主服務(wù)器(192.168.169.130)nginx 和 keepalived 停止,再輸入 192.168.169.125 ,訪問成功,配置成功

/etc/keepalived/keepalivec.conf 原文件
三大部分
- global_defs 全局定義
- vrrp_script chk_http_port 可執(zhí)行腳本
- vrrp_instance VI_1 虛擬ip的配置
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.200.16
192.168.200.17
192.168.200.18
}
}virtual_server 192.168.200.100 443 {
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCPreal_server 192.168.201.100 443 {
weight 1
SSL_GET {
url {
path /
digest ff20ad2481f97b1754ef3e12ecd3a9cc
}
url {
path /mrtg/
digest 9b3a0c85a887a256d6939da88aabd8cd
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}virtual_server 10.10.10.2 1358 {
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCPsorry_server 192.168.200.200 1358
real_server 192.168.200.2 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}real_server 192.168.200.3 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}virtual_server 10.10.10.3 1358 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCPreal_server 192.168.200.4 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}real_server 192.168.200.5 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
小插曲
阿里云上如何配置多個站點
https://jingyan.baidu.com/article/f96699bb77fd14c94f3c1b6d.html
https://help.aliyun.com/document_detail/171730.html?spm=5176.22414175.sslink.3.7bfa777cOdqvj2