欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何搭建Nginx服務器做到負載均衡

這篇文章主要介紹“如何搭建Nginx服務器做到負載均衡”,在日常操作中,相信很多人在如何搭建Nginx服務器做到負載均衡問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何搭建Nginx服務器做到負載均衡”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)建站提供網(wǎng)站建設、做網(wǎng)站、網(wǎng)頁設計,成都品牌網(wǎng)站建設,一元廣告等致力于企業(yè)網(wǎng)站建設與公司網(wǎng)站制作,十載的網(wǎng)站開發(fā)和建站經(jīng)驗,助力企業(yè)信息化建設,成功案例突破上1000+,是您實現(xiàn)網(wǎng)站建設的好選擇.

1.什么是Nginx?

Nginx也是一款服務器,我們常用它做:如反向代理、負載均衡、動態(tài)與靜態(tài)資源的分離的工作。

反向代理:相對應的是正向代理,如果你使用過代理服務器的話就明白,我們訪問某一個網(wǎng)站并非直接訪問目標網(wǎng)站,而是告訴代理服務器我需要訪問什么目標網(wǎng)站,由代理服務器發(fā)出請求給目標網(wǎng)站,將目標網(wǎng)站訪問結果再轉(zhuǎn)發(fā)給你,此時,你是請求代理方。而反向代理是此時代理服務器做服務器的代理,我們的訪問請求并非直接訪問到目標服務器上,而是訪問代理服務器,由代理服務器決定什么樣的請求以什么樣的方式訪問正式服務器。

負載均衡:目前大多數(shù)的網(wǎng)站都會采用負載均衡手段來針對目前用戶的指數(shù)級增長來減少對單點服務器的負載壓力,比如目前我們擁有3臺真實服務器,我們需要根據(jù)相應策略決定什么樣的用戶請求分配到哪個真實服務器,比如按照輪詢的方式,用戶請求挨個到達代理服務器,此時代理服務器按照***個請求轉(zhuǎn)發(fā)至***臺真實服務器,第二個請求轉(zhuǎn)發(fā)到第二個服務器上,依次類推,這樣可以防止大量的用戶請求全部訪問到同一臺物理機上,單點物理機的性能始終有限的,當然這可能對服務器數(shù)據(jù)訪問時候造成事務性的失效,在Web方面可能造成Session訪問的問題,這不在本文討論方面內(nèi)。

動態(tài)靜態(tài)資源分離:最方便列舉就是Java的JSP和靜態(tài)資源如:.js/.css/.html/.png方面的資源分離,之前開發(fā)web方面的程序時候我們習慣將html、css等資源文件也放置于Tomcat之中,用戶訪問后tomcat需要將請求的這些靜態(tài)資源文件一并返回給用戶,再者如果有多臺同業(yè)務邏輯的tomcat服務器的話,同樣的資源還需要在每個服務器上放一份,同時也增加了tomcat服務器的網(wǎng)絡IO,十分不合算的,如果我們只講JSP之類的請求交給tomcat,而代理服務器上存放靜態(tài)資源,當用戶的請求非動態(tài)資源的時候,我們完全可以將代理服務器的靜態(tài)資源直接返回給用戶,而不去增大Tomcat的壓力,tomcat只需要負責邏輯處理和動態(tài)資源的加載就可以了。

基于上述的Nginx優(yōu)勢,決定搭建一下Nginx+Tomcat的組合來進行測試,包括參數(shù)傳遞,post、get傳遞參數(shù)是否有影響,還有Nginx的工作模式master和worker的工作方式進行一些淺薄的總結。如有錯誤,懇請大家指出。

2.Nginx的安裝問題?

安裝部分這里就不在細說了,網(wǎng)上的教程很多,我們直接從配置文件開始吧

3.配置文件

#user  nobody; #這里是核心worker數(shù),一般設置為與cpu核心數(shù)相同的數(shù)目,避免進程切換造成的上下文切換耗費資源,cpu信息可以從/proc/cpuinfo中查看 worker_processes  1;  #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid      logs/nginx.pid; events {     #use epoll model使用epoll模型,采用異步非阻塞模型加快處理速度     use epoll;    worker_connections  1024; } http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    #設定通過nginx上傳文件的大小    client_max_body_size 300m; #使用sendfile函數(shù)在兩個文件描述符之間直接傳遞數(shù)據(jù)(完全在內(nèi)核中操作,傳送),從而避免了內(nèi)核緩沖區(qū)數(shù)據(jù)和用戶緩沖區(qū)數(shù)據(jù)之間的拷貝,操作效率很高,被稱之為零拷貝。    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    #連接活躍時間    keepalive_timeout  65;#使用壓縮數(shù)據(jù)減少IO量,但是在不支持數(shù)據(jù)解壓瀏覽器可能產(chǎn)生亂碼    #gzip  on;    #靜態(tài)服務器組    #設定靜態(tài)資源服務器訪問接口      upstream static.zh-jieli.com {                  server localhost:808 weight=1;      }      #動態(tài)服務器組      upstream zh-jieli.com {         #設置Hash輪詢規(guī)則 #ip_hash; #weight: server ip:port weight=10#默認 輪詢# fair:按照后端服務器的響應時間來分配 #url_hash:按照url規(guī)則進行分配,使得固定的請求分配到固定的服務器上                  server localhost:8080;                  server localhost:8081;      }    server{         listen 808;         server_name static;         location / {         }   location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff) {             #所有靜態(tài)文件直接讀取硬盤內(nèi)容:讀取的靜態(tài)資源存放位置  root /apache-tomcat-8.5.24/webapps/ROOT ;  #資源是否進行緩存與緩存時間             expires 30d; #緩存30天         }     }     server {        listen       80;        server_name  localhost;                 #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   html;                       index  index1.html index.htm;        }        location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff) {                  #proxy_cache cache_one;              proxy_cache_valid 200 304 302 5d;              proxy_cache_valid any 5d;              proxy_cache_key '$host:$server_port$request_uri';              add_header X-Cache '$upstream_cache_status from $host';              proxy_pass http://static.zh-jieli.com;             # 所有靜態(tài)文件直接讀取硬盤              root /apache-tomcat-8.5.24/webapps/ROOT;              expires 30d; #緩存30天          }           #其他頁面反向代理到tomcat容器          location ^~ /tomcat {                       index index;                   # proxy_pass http://localhost:8080/;             #設定代理服務器組              proxy_pass http://zh-jieli.com/;          }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    } }

總結

整個nginx工作時當http請求到來時,由nginx針對nginx.conf配置好的規(guī)則,對location進行正則匹配,匹配到相應的正則,進行l(wèi)ocation內(nèi)部的處理  關于Nginx的location配置附上一篇博客,很nice  http://seanlook.com/2015/05/17/nginx-location-rewrite/

里面很詳細列出了各種要求的location匹配規(guī)則,

值得注意的一點是:  location匹配遵循最長原則,即滿足了之前的匹配規(guī)則后,除了遇見^會終止向下繼續(xù)匹配,其他情況會依次向下搜索,知道找到合適的location匹配規(guī)則然后進行處理  Nginx在模塊功能上分三個模塊:

Handlers(處理器模塊)。此類模塊直接處理請求,并進行輸出內(nèi)容和修改headers信息等操作。Handlers處理器模塊一般只能有一個。

Filters (過濾器模塊)。此類模塊主要對其他處理器模塊輸出的內(nèi)容進行修改操作,***由Nginx輸出。

Proxies (代理類模塊)。此類模塊是Nginx的HTTP  Upstream之類的模塊,這些模塊主要與后端一些服務比如FastCGI等進行交互,實現(xiàn)服務代理和負載均衡等功能。  因為是測試,所以我的兩個tomcat都安裝到了同一臺本地機器上 生產(chǎn)環(huán)境中根據(jù)需要進行配置相應的IP就好了  本地寫好相應的測試代碼+log4j將信息日志打到相應的位置用來觀察參數(shù)是否傳遞過來。

TestOne.java

package com.nginx.controllers; import com.nginx.utils.Log4jUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller @RequestMapping("/test") public class TestOne {    @RequestMapping("/getname")    public void test(@RequestParam(value = "name") String name) {    //用來記錄獲取的參數(shù)name,可以通過查看日志進行確認        Log4jUtils.getLogger().info("my name is" + name);    } }

Log4jUtils.java

package com.nginx.utils; import org.apache.log4j.Logger; public class Log4jUtils {    private static final Logger logger = Logger.getLogger(Logger.class);    public static Logger getLogger() {        return logger;    } }

demo

這里簡單做了兩個的demo程序,做相應的測試,將項目打成war包后上傳至Linux服務器,移動到tomcat/webapps中,tomcat進行熱部署  先測試當前的tomcat是否能正常運行,由于沒有做區(qū)別頁面,就直接看日志來判斷了。

如何搭建Nginx服務器做到負載均衡

如圖:以輪詢方式進行訪問8080和8081監(jiān)聽的tomcat 上述方式是get請求進行的測試,我們來試試post。

<!DOCTYPE html> <html> <body> <form action="http://123.207.85.242/tomcat/nginx/test/getname" method="post">    <input type="text" name="name">    <input type="submit" value="提交"> </form> </body> </html>
   

到此,關于“如何搭建Nginx服務器做到負載均衡”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

網(wǎng)站標題:如何搭建Nginx服務器做到負載均衡
網(wǎng)站路徑:http://www.aaarwkj.com/article34/pdhise.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版靜態(tài)網(wǎng)站、網(wǎng)站導航、品牌網(wǎng)站制作虛擬主機、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
人妻少妇被猛烈进入中文字幕91| 国产精品一区二区精品| 免费黄色一区二区三区| 午夜性生活免费观看视频| 亚洲av产在线精品亚洲第| 日本中文字幕一区在线观看| 国产中文字幕自拍视频| 欧美一区二区三区日韩色| 亚洲日本中文字幕免费观看| 国产高清视频成人在线观看 | 日本又色又爽又黄的观看| 五月天丁香婷婷一区二区| 日本2区3区视频在线观看| 日韩av毛片在线观看| 国产成人精品久久一区二区| 国产熟女精品自拍嫩草| 永久免费观看黄色录像| 麻豆人妻性色av专区| 久久久久久精品妇女| 日本一区二区三在线观看| 丝袜美腿精尽福利视频网址大全 | 亚洲国产精品一区二区av| 国产一级成人免费视频| 国产在线不卡免费精品| 国产精品99久久久久久宅男九| 老女人性生交大片免费| 国产999精品在线观看| 加勒比中文字幕日本道| 日本丰满熟女毛茸茸的黑逼| av免费观看男人的天堂| 麻豆国产精品原创av男女| 亚洲视频在线的视频在| 91高清国产最新地址| 国产一级内射麻豆91| 中文字幕国产精品经典三级| 黄色三级欧美一区二区| 亚洲精品香蕉久久情趣| 在线观看不卡的黄色地址| 东京男人的天堂国产av| 91亚洲蜜桃内射后入在线观看| 国产原创中文剧情性感av|