「Open Source」負載均衡之Nginx
目錄簡介
Nginx ("engine x") 是一款輕量級,高性能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。 傳輸層的負載均衡有LVS(Linux) 和 NLB(Windows)
常用命令nginx -v
// nginx 版本start nginx
// 啟動nginx,不阻塞命令窗口nginx -s stop
|nginx -s quit
// 快速停止 | 有序退出nginx -s reload
// 載入配置重新啟動
功能代理
server {
listen 8080; # 監聽8080埠
resolver 114.114.114.114; # dns解析地址
location / {
proxy_pass $scheme://$host$request_uri; # 代理到哪個地址
proxy_set_header Host $http_host;
#allow 127.0.0.1; # 允許127.0.0.1地址訪問
#deny all; # 禁止所有地址訪問(allow位置在上面,所以127.0.0.1仍能訪問)
}
}
反向代理
server {
listen 8081; # 監聽8080埠
server_name localhost; # 虛擬hostName
location / {
proxy_pass http://127.0.0.1:8081; # 反向代理到的伺服器
}
}
集群HTTP集群
upstream clusterName {
# 通過weight設置每台伺服器分配請求站的權重,值越高分配的越多。
server 127.0.0.1:9000 weight=4;
server 127.0.0.1:8082 weight=1;
# ip_hash會計算ip對應hash值,然後分配到固定伺服器
ip_hash;
}
location / {
proxy_pass http://clusterName; # 反向代理到群集伺服器
# 設置主機頭和客戶端真實地址,以便伺服器獲取客戶端真實IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
TCP集群
和http同級
stream { server { listen 1034; proxy_pass app; } upstream app { server 192.168.0.111:5672; server 192.168.0.112:5672; } }
重定向
location / {
rewrite ^/(.*)$ http://www.xx.com/$1 permanent;
}
- flag
- last – 基本上都用這個Flag。
- break – 中止Rewirte,不在繼續匹配
- redirect – 返回臨時重定向的HTTP狀態302
- permanent – 返回永久重定向的HTTP狀態301
靜態文件
location /^(.*) {
root html; # 根目錄為html文件夾
index $1 index.html index.htm; # $1表示正則匹配第一項
}
綁定證書
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /nginx/server.cer; # 公鑰(一般為公鑰證書 + 中級證書)
ssl_certificate_key /nginx/server.key; # 私鑰
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
}
常見問題
- 與IIS(80埠)衝突
- 被System佔用
- 找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP下的Start修改其值為0,重啟電腦即可
- 被IIS佔用
- 停用IIS 80埠的網站
- 被System佔用
- nginx群集
- 如果nginx伺服器掛了,那我們的站點就直接掛了,可以通過keepalived組件來搭建多台nginx服務提供服務。
- error.log 錯誤日誌:signal process started
- 並非錯誤,只要執行-s reload就會發出
※網頁標題(title)動態改變
※python_adb 圖形界面獲取app測試數據,並展示部分測試報告v1.0版本
※Java國際化之(五)——自定義國際化formatter註解實現
※shell腳本調用C語言之字元串切分函數——strtok
※20+行代碼使用es5 Object.defineProperty 實現簡單的watch功能
TAG:達人科技 |
※China s online recruitment company Liepin lands on Hong Kong Stock Exchange at opening price of HKD 31.6
※Opening Ceremony x Polo Ralph Lauren 別注 Polo Bear 系列
※The North Face最大勁敵來襲!Opening Ceremony x Columbia聯名系列發布!
※癮#——Opening Ceremony
※Opening of CPPCC Heilongjiang Province 12th session first meeting
※Opening Ceremony x Vans 全新聯名 Slip-On「Toile Pack」登場
※Disney x Opening Ceremony 聯名「Mickey the True Original」系列正式發布
※Luxe.Co London Forum:open for ticket reservation
※Columbia x Opening Ceremony 全新「Run Wild」聯名系列
※Learning OpenGL——OpenGL Model,Pipeline and Practices
※Columbia x Opening Ceremony 聯乘系列曝光
※Yu Wenguo:Images capture 40 years of reform and opening-up
※Open Call:17th DongGang International Photo Festival
※Opening Ceremony x Polo Ralph Lauren!明媚色調小熊上身!
※雲起龍驤!Opening Ceremony x Vans 聯乘「Good Luck」系列
※Open Call:Shenzhen International Photography Exhibition 2018
※Opening Ceremony x Vans 全新「Quilt Pack」系列即將上架
※Opening Ceremony x Vans 全新 OG Style 36 LX「Quilt Pack」即將上架
※比起Supreme x TNF怎麼樣!Opening Ceremony x Columbia玩了次「橫」的!
※專為夏日調配的 Polo Bear 系列!Opening Ceremony x Polo Ralph Lauren 最新聯名登場