http工作原理
http1.0 協議 使用的是短連接,建立一次tcp連接,發起一次http的請求,結束,tcp斷開
http1.1 協議使用的是長連接,建立一次tcp的連接,發起多次http的請求,結束,tcp斷開
nginx的正向代理和反向代理的區別
正向代理代理對象是客戶端
反向代理代理對象是服務端location中還有一種思路location / {
if ( $http_host ~* "zh" ) { set $language zh;
}
if ( $http_host ~* "jp" ) {set $language jp;}rewrite ^/$ http://url.xxxx.com/$language/ permanent;}
}
不同的請求跳轉到不同的路由下server {listen 80;server_name url.xxxx.com;root /code;
if ($http_accept_language ~* "zh-CN|zh") {set $language /zh;}
if ($http_accept_language ~* "en") { set $language /en;
}
rewrite ^/$ /$language; # 根據語言不同,選擇不同的站點location / {index index.html;
} }維護時候頁面的一個技巧
set $ip 0;
# 在server層下設定ip變量值為0
if ($remote_addr = "10.0.0.101|10.0.0.102") {
set $ip 1; }
#如果來源ip是 101或者102 ,則 $ip 的值為1
if ($ip = 0) {rewrite ^(.*)$ /wh.html break;}
#如果來源ip 不是 101 ,102 則跳轉到 /code/wh.html 頁面,否則不做任何處理某個頁面只允許公司網絡訪問,其他的都為0
location /admin {
set $ip 0;
if ($remote_addr = "61.149.186.152|139.226.172.254" ) {
set $ip 1; }
if ($ip = 0){ return 500;
}
}
一個小技巧
#!/bin/sh
nginxpid=$(pidof nginx | wc -l)
#1.判斷Nginx是否存活,如果不存活則嘗試啟動Nginx
if [ $nginxpid -eq 0 ];thensystemctl start nginxsleep 2#2.等待2秒后再次獲取一次Nginx狀態nginxpid=$(pidof nginx | wc -l)#3.再次進行判斷, 如Nginx還不存活則停止Keepalived,讓地址進行漂移,并退出腳本if [ $nginxpid -eq 0 ];thensystemctl stop keepalivedpkill keepalivedfi
fi
dig 命令巧用
dig @8.8.8.8 www.baidu.com
用哪個ip來解析百度網址