當前位置:
首頁 > 知識 > 「Open Source」負載均衡之Nginx

「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埠的網站
  • 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 最新聯名登場