1. 程式人生 > >Nginx HTTP負載均衡和反向代理配置

Nginx HTTP負載均衡和反向代理配置

當前大併發的網站基本都採用了Nginx來做代理伺服器,並且做快取,來扛住大併發。先前也用nginx配置過簡單的代理,今天有時間把整合過程拿出來和大家分享,不過其中大部分也是網上找來的資源。

nginx完整的反向代理程式碼如下所示  :

[[email protected] conf]# vim nginx.conf  
user  www www;  
worker_processes  10;  
   
error_log  /var/log/nginx/nginx_error.log;  
   
pid        logs/nginx.pid;  
   
worker_rlimit_nofile 
65535 events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; sendfile on; tcp_nopush on; keepalive_timeout
65; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers
4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; client_max_body_size 300m; #允許客戶端請求的最大單個檔案位元組數 client_body_buffer_size 128k; #緩衝區代理緩衝使用者端請求的最大位元組數 proxy_connect_timeout 600; #跟後端伺服器連線超時時間,發起握手等候響應超時時間 proxy_read_timeout 600; #連線成功後,等候後端伺服器響應時間,在後端排隊中等候 proxy_send_timeout 600; #後端伺服器資料回傳時間,就是在規定時間內後端伺服器必須傳完所有數 proxy_buffer_size 16k; #代理請求快取區,這個快取區間會儲存使用者的資訊以供nginx進行規則處理,一般只要能儲存下頭資訊即可 proxy_buffers 4 32k; #同上,告訴nginx儲存單個用的幾個Buffer最大用多大空間 proxy_busy_buffers_size 54k; #如果系統很忙可以申請用的幾個更大的proxy_buffer proxy_temp_file_write_size 64k; #快取臨時檔案大小 upstream php_server_pool { server 192.168.1.100:80 weight=4 max_fails=2 fail_timeout=30s; server 192.168.1.101:80 weight=4 max_fails=2 fail_timeout=30s; server 192.168.1.102:80 weight=4 max_fails=2 fail_timeout=30s; } upstream message_server_pool { server 192.168.1.103:3245; server 192.168.1.104:3245 down; } upstream bbs_server_pool { server 192.168.1.105:80 weight=4 max_fails=2 fail_timeout=30s; server 192.168.1.106:80 weight=4 max_fails=2 fail_timeout=30s; server 192.168.1.107:80 weight=4 max_fails=2 fail_timeout=30s; server 192.168.1.108:80 weight=4 max_fails=2 fail_timeout=30s; } #第一個虛擬主機,反向代理php_server_pool這組伺服器 server { listen 80; server_name www.chlinux.net; access_log /var/log/nginx/www.chlinux.net_access.log main; location / { #如果後端伺服器返回502、504、執行超時等錯誤,自動將請求轉發到upstream負載均衡池中的另一臺伺服器,實現故障轉移。 proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://php_server_pool; proxy_set_header Host www.chlinux.net; proxy_set_header X-Forwarded-For $remote_addr; } } #第二個虛擬主機 server { listen 80; server_name bbs.chlinux.net; access_log /var/log/nginx/www.chlinux.net_access.log main; #訪問http://bbs.chlinux.net/message/***地址,反向代理message_server_pool這組伺服器 location /message/ { proxy_pass http://message_server_pool; proxy_set_header Host $host; } #訪問除了/message/之外的http://bbs.chlinux.net/***地址,反向代理php_server_pool這組伺服器 location /message/ { proxy_pass http://bbs_server_pool; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } } #第三個虛擬主機 server { listen 80; server_name forum.chlinux.net; access_log /var/log/nginx/www.chlinux.net_access.log main; location / { proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://php_server_pool; proxy_set_header Host www.chlinux.net; proxy_set_header X-Forwarded-For $remote_addr; } } }

通過上述所示,已經看到nginx對於多個域名的負載均衡是如何配置的。pustream指令用於設定一組可以再proxy_pass和fastcgi_pass指令中使用的代理伺服器,upstream模組中的server指令用於指定後端伺服器的名稱和引數,伺服器的名稱可以是一個域名、一個IP地址、埠號或UNIX Socket

nginx反向代理可以配置動、靜態網頁分離,就是讓動態PHP等程式網頁訪問PHP web伺服器,讓快取頁、圖片、javascript、CSS、Flash訪問squid等快取伺服器。

相關推薦

Nginx HTTP負載均衡反向代理配置

當前大併發的網站基本都採用了Nginx來做代理伺服器,並且做快取,來扛住大併發。先前也用nginx配置過簡單的代理,今天有時間把整合過程拿出來和大家分享,不過其中大部分也是網上找來的資源。 nginx完整的反向代理程式碼如下所示  : [[email protected] conf]# vi

Windows 通過Nginx實現負載均衡反向代理配置

Nginx版本安裝地址 http://nginx.org/en/download.html 找到nginx.conf檔案,修改兩個地方(在安裝檔案conf資料夾中) 新增伺服器池,設定2臺伺服器,權重級別都設定2 #設定負載均衡的伺服器列表 #upstream表示負載伺服器

nginx配置、虛擬主機、負載均衡反向代理--03

第3篇主要講 URL路由重寫 和 讀寫分離 nginx中的 location 正則模組 nginx中的URL重寫怎麼做。url重寫模組,主要是在location模組面來實現,我們一點一點的看。 首先看下location 正則匹配的使用。 還記得之前是

nginx配置、虛擬主機、負載均衡反向代理--02

基於域名的虛擬主機 假設我們在本地開發有3個專案,分別在hosts裡對映到本地的127.0.0.1上: 127.0.0.1 www.iyangyi.com iyangyi.com 127.0.0.1 api.iyangyi.com 127.0.0.1 a

Nginx負載均衡反向代理

技術 建立 方法名 什麽 serve 參數 不知道 出現 off 1:反向代理 代理就是中介,那有反向代理就有正向代理,兩者的區別是什麽嘞? 正向代理隱藏真實客戶端,服務端不知道實際發起請求的客戶端.,proxy和client同屬一

nginx負載均衡反向代理配置

upstream 193.168.81.128{     server localhost:8080 weight=1 max_fails=2 fail_timeout=30s;     server localhost:8081 weight=1 max

nginx負載均衡反向代理跨域

  nginx是一個高效能的Http伺服器,有兩個預設的模組proxy_pass和upstream。proxy_pass可以很方便的進行反向代理,然後配合upstream可以很方便的實現負載均衡。    在nginx的根路徑下的conf資料夾下的nginx.conf就是我們

lnmt實現負載均衡反向代理

需求說明 搭建lnmt環境,實現反向代理和負載均衡 環境說明 ip 伺服器型別 172.16.11.18 tomcat 172.16.11.

Linux下Nginx+Tomcat負載均衡動靜分離配置要點

cep 修改 div -c user setsebool index.php sebool bool 本文使用的Linux發行版:CentOS6.7 下載地址:https://wiki.centos.org/Download 一、

nginx實戰(四)反向代理配置緩存及負載均衡

cer zone ofo domain 針對 臨時文件 地址 ike ipv6 前言 反向代理,是指用戶通過同一服務器訪問服務器後端各被代理服務器的訪問方式。(詳見百度百科 https://baike.baidu.com/item/反向代理/7793488 )? nginx

Nginx安裝及配置負載均衡反向代理、虛擬主機

Nginx安裝1. 生產環境是lInux,windows版也有,它是c語言開發2. Windows下安裝 直接解壓縮xx.zip格式的即可,點選xx.exe啟動3. Linux下安裝1)xx.tar.g

Apache反向代理負載均衡會話保持配置

Apache從1.2版本起,代理模組就已經加入到Apache原始碼中,可惜當時的代理模組有很多問題,比如:與較新的http規範不相容等等,從Apache2.0起mod_proxy模組不但被重新改寫,還分

Nginx HTTP負載均衡/反向代理的相關引數測試

測試目的 (1)弄清楚HTTP Upstream 模組中Server指令的max_fails與fail_timeout參 數的關係、它們對後端伺服器健康情況的檢查起到了什麼作用、它們的取值對Http proxy模組中的其它指令是否有直接或間接的影響等…… (2)測試

Nginx負載均衡反向代理—《億級流量網站架構核心技術》

小時 維護 額外 nat gzip 網站架構 weight 2.7 熱點 當我們的應用單實例不能支撐用戶請求時,此時就需要擴容,從一臺服務器擴容到兩臺、幾十臺、幾百臺。然而,用戶訪問時是通過如http://www.XX.com的方式訪問,在請求時,瀏覽器首先會查詢DNS服務

Nginx服務搭建負載均衡反向代理,快取加速,訪問分散式檔案系統高可用

主配置檔案如下:[[email protected]~]#vim /usr/local/nginx/conf/nginx.conf server{ listen 8099               //埠號 location / {      autoindex on;      autoinde

配置nginx實現負載均衡HTTPS

nginx的配置系統由一個主配置檔案和其他一些輔助的配置檔案構成。這些配置檔案均是純文字檔案,全部位於nginx安裝目錄下的conf目錄下。 配置檔案中以#開始的行,或者是前面有若干空格或者TAB,然後再跟#的行,都被認為是註釋,也就是隻對編輯檢視檔案的使用者

Nginx負載均衡反向代理——擴充套件功能(NGINX Plus)

本文主要是介紹了NGINX Plus的相關功能,橫跨了NGINX Plus R5/R6/R7/R9等各個不同版本的更新。涉及的是Nginx反向代理和負載均衡的更為高階的用法。主要包含:HTTP負載均衡,HTTP長連線,TCP和UDP的負載均衡,上游連線數限

負載均衡反向代理

proxy 反向代理服務 方式 地址 watermark 響應 pro 雙網卡 width 文章出自:http://blog.csdn.net/cywosp/article/details/38026809 反向代理(Reverse Proxy)方式是指以代

使用nginx實現負載均衡動靜分離

nginx實現負載均衡和動態分離使用nginx實現負載均衡和動靜分離 在192.168.221.10這臺機器上源碼編譯安裝nginx yum -y install gcc gcc-c++ autoconf automake zib zib-devel openssl openssl-devel pcre

正向代理負載均衡反向代理

讓我 bubuko com gin 必須 代理技術 轉發 請求轉發 特點 1、正向代理 假設我們需要使用自己的筆記本(A)訪問國外的站點(B),由於網絡限制,我們無法訪問國外的站點.但是此時我們有一臺服務器(C)跳出了網絡限制可以訪問國外站點,那麽我們可以通過正向代理技術,