Nginx("engine x")是一款是由俄羅斯的程序設計師Igor Sysoev所開發高性能的 Web和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。官方測試可以支持5W併發鏈接,資源消耗低且穩定
和正向代理相反,客戶端並不能知道反向代理的存在,本身請求的代理服務器對於客戶端來講就是本身的目標服務(代理對外表現爲目標服務器),客戶端不須要進行特別的任何設置就能夠反問,由代理決定
向哪臺服務器轉交請求(轉接真實服務器)。html
總的說:nginx
Nginx的應用就是實現負載均衡,nginx扮演了反向代理服務器的角色, 將請求數量按照必定的規則進行分發到不一樣的服務器處理的規則,就是一種均衡規則服務器
官網:https://nginx.org/en/download.html, 下載window版本網絡
啓動nginx:併發
1) 直接雙擊該目錄下的nginx.exe,便可啓動nginx服務器app
2) 命令行進入該文件夾,執行nginx命令,也會直接啓動nginx服務器負載均衡
如:性能
D:/resp_applicationinx-1.13.5> nginx
關閉nginx:測試
D:/resp_applicationinx-1.13.5> nginx -s stop
D:/resp_applicationinx-1.13.5> nginx -s quit
配置文件目錄:conf/nginx.confui
配置說明:
...... # 用於進行nginx全局信息的配置
events { # nginx工做模式配置
}
http { # http設置
....
server { # 服務器主機配置
....
location { # 路由配置
....
}
location path {
....
}
location otherpath {
....
}
}
server {
....
location {
....
}
}
upstream name { # 負載均衡配置
....
}
}
配置實例:
########### 每一個指令必須有分號結束。################# #worker_processes 2; #容許生成的進程數,默認爲1能夠等於CPU核心數 #pid /nginx/pid/nginx.pid; #指定nginx進程運行文件存放地址 error_log log/error.log debug; #制定日誌路徑,級別。這個設置能夠放入全局塊,http塊,server塊,級別以此爲:debug|info|notice|warn|error|crit|alert|emerg events { accept_mutex on; #設置網路鏈接序列化,防止驚羣現象發生,默認爲on multi_accept on; #設置一個進程是否同時接受多個網絡鏈接,默認爲off #use epoll; #事件驅動模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport worker_connections 1024; #最大鏈接數,默認爲512 } http { include mime.types; #文件擴展名與文件類型映射表 default_type application/octet-stream; #默認文件類型,默認爲text/plain #access_log off; #取消服務日誌 log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定義格式 access_log log/access.log myFormat; #combined爲日誌格式的默認值 sendfile on; #容許sendfile方式傳輸文件,默認爲off,能夠在http塊,server塊,location塊。 sendfile_max_chunk 100k; #每一個進程每次調用傳輸數量不能大於設定的值,默認爲0,即不設上限。 keepalive_timeout 65; #鏈接超時時間,默認爲75s,能夠在http,server,location塊。 upstream mysvr { server 127.0.0.1:7878 weight=1; server 127.0.0.2:7878 weight=2; #weight表示權值,越高分配的機率越大
server 127.0.0.3.7878 down; #down 表示主機暫停服務 } error_page 404 https://www.baidu.com; #錯誤頁 server { keepalive_requests 120; #單鏈接請求上限次數。 listen 4545; #監聽端口 server_name 127.0.0.1; #監聽地址 location ~*^.+$ { #請求的url過濾,正則匹配,~爲區分大小寫,~*爲不區分大小寫。 #root path; #根目錄 #index vv.txt; #設置默認頁 proxy_pass http://mysvr; #請求轉向mysvr 定義的服務器列表 必須和upstream 後面的名字同樣 deny 127.0.0.1; #拒絕的ip allow 172.18.5.54; #容許的ip } } }
訪問127.0.0.1:8001 被轉向了預先部署好的2個站點 127.0.0.1:8022 和127.0.0.1:8033