linux7.3+nginx1.1+tomcat8.5 搭建負載均衡

来源:http://www.cnblogs.com/wx90/archive/2017/12/21/8080654.html
-Advertisement-
Play Games

1,什麼是負載均衡? 由於目前現有網路的各個核心部分隨著業務量的提高,訪問量和數據流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的伺服器設備根本無法承擔。在此情況下,如果扔掉現有設備去做大量的硬體升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提升時,這又將導致再一次硬體升級 ...


1,什麼是負載均衡?

        由於目前現有網路的各個核心部分隨著業務量的提高,訪問量和數據流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的伺服器設備根本無法承擔。在此情況下,如果扔掉現有設備去做大量的硬體升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提升時,這又將導致再一次硬體升級的高額成本投入,甚至性能再卓越的設備也不能滿足當前業務量增長的需求。 
針對此情況而衍生出來的一種廉價有效透明的方法以擴展現有網路設備和伺服器的帶寬、增加吞吐量、加強網路數據處理能力、提高網路的靈活性和可用性的技術就是負載均衡(Load Balance)。

2, 負載均衡的種類

1)一種是通過硬體來進行解決,常見的硬體有NetScaler、F5、Radware和Array等商用的負載均衡器,但是它們是比較昂貴的
2)一種是通過軟體來進行解決的,常見的軟體有LVS、Nginx、apache等,它們是基於Linux系統並且開源的負載均衡策略.

3, 這裡我們只來說Nginx(其他的大家有興趣可以自行查閱相關文檔)

Nginx(發音同 engine x)是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,併在一個BSD-like 協議下發行。由俄羅斯的程式設計師Igor Sysoev(伊戈爾·西索夫)所開發,供俄國大型的入口網站及搜索引擎Rambler(漫步者)(俄文:Рамблер)使用。其特點是占有記憶體少,併發能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現較好,中國大陸使用nginx網站用戶有:新浪、網易、 騰訊等。
優點:
1:可運行linux,並有 Windows 移植版。
2:在高連接併發的情況下,Nginx是Apache伺服器不錯的替代品Nginx在美國是做虛擬主機生意的老闆們經常選擇的軟體平臺之一。能夠支持高達 50,000 個併發連接數的響應

4,搭建LNMP環境如下:

   Centos 7  192.168.1.89     Lnmp+tomcat  主

   Centos 7  192.168.1.90     Lnmp+tomcat

   安裝nginx http://www.cnblogs.com/wx90/p/7692563.html

5.下載安裝JDK ,Tomcat

 JDK http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

 

下載時需要用戶登錄,沒有帳號的小伙伴們可以註冊!!!

下載tomcat

http://tomcat.apache.org/download-80.cgi

將所需文件下載好後上傳到伺服器上

安裝JDK檢查並卸載OpenJDK

第一步檢查系統是否自帶了OpenJDK以及相關安裝包,如果有的話則應先將其卸載。
檢查命令:

  • java -version
  • rpm -qa | grep java

如果發現有安裝好的OpenJDK以及安裝包的話那麼首先依次執行卸載。
卸載命令:

  • rpm -e –nodeps tzdata-java-2012c-1.el6.noarch
  • rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64

直接複製上面的命令到xshell會出錯,務必註意–nodeps前的兩個橫杠,註意自行修改。

解壓安裝

將安裝文件上傳到linux伺服器後,進入到該目錄執行解壓安裝到相關目錄如mkdir /usr/java:

tar -zxvf jdk-7u80-linux-x64.tar.gz

配置環境變數

安裝完成後需要配置一下環境變數,編輯/etc/profile文件:

vi /etc/profile

在文件尾部添加如下配置:

export JAVA_HOME=/usr/java/jdk1.7.0_75    #指定安裝路徑
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export PATH=$PATH:$JAVA_HOME/bin

編輯完成後記得輸入:wq保存退出,最後一步就是通過source命令重新載入/etc/profile文件,使得修改後的內容在當前shell視窗有效:

source /etc/profile

測試

輸入java -version查看一下jdk版本信息:

說明已經安裝完成

安裝tomcat 安裝目錄自己指定
tar -zxvf apache-tomcat-8.5.24.tar.gz
cd apache-tomcat-8.5.24
cd bin/
停止服務 ./shutdown.sh 啟動伺服器 ./startup.sh

訪問192.168.1.89:8080

說明已經安裝成功
配置負載均衡
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
添加標記字元

[root@localhost ~]# vim /etc/nginx/nginx.conf
添加標記字元


在192.168.1.90上添加和192.168.1.89一樣的配置
重啟nginx tomcat
訪問http://192.168.1.89
為了便於分別在Tomcat配置文件中改成相應的IP /apache-tomcat-8.5.24/webapps/ROOT/index.jsp




   不對之處請留言說明


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一.什麼是I/0流? 英文翻譯:Input/Output,在程式里簡單的理解為讀寫數據操作數據的意思。流操作是為瞭解決體積大數據占用太多的記憶體,就是分段進行操作。就跟我們吃飯一樣,一口一口的吃,還沒見過誰直接一口吃完的。流就是細水長流。 在我們強大的Net中,就是微軟為了簡化我們的工作,為了我們能對 ...
  • 現有兩段基本一樣的代碼,只是變數進行改變,其他都沒有變化,但是執行過程中出現了不一樣的結果 代碼一: 代碼二: 上面代碼只是修改了打包的情況,tar zcf /backup和定義一個變數tar $Path/結果就出現不一樣的情況,第一種執行結果是: 代碼一執行結果: [root@nfs01 back ...
  • 套接字是通訊端點的抽象 創建一個套接字 套接字通信是雙向的。可以禁止一個套接字的I/O 用來在處理器位元組序和網路位元組序之間實施轉換的函數 h表示主機位元組序,n表示網路位元組序,l表示長整型,s表示短整型 列印出能被人理解而不是電腦所理解的地址格式。同時支持IPv4和IPv6地址 找到給定電腦系統的 ...
  • 先說說為什麼在公司里伺服器用Linux系統而非Windows系統。其實吧,我感覺主要就是前者更靠譜,一個字就是穩!不說別的,就我現在寫博客用的電腦沒事給我黑個屏,斷個網啥的。而且總有漏洞,保不齊就被黑了。這要是用來當伺服器,那公司得賠死。生產上,安全穩定壓到一切。所以Linux是必然之選。 最好的學 ...
  • linux是一個多用戶的系統,沒一時刻都有許多賬號在系統上登錄,操作,所以管理用戶是很重要的。 1.用戶篇——/etc/passwd、/etc/shadow 1.增加賬號——useradd useradd [-u UID] [-g GID] [-d HOME] [-M] [-s] 增加賬號的同時可以 ...
  • 最近發現公司線上生產環境伺服器外網網線插拔無法重連:即拔掉外網網線,之後再插上後,該台伺服器外網Iping不通,只能通過內網重啟NetworkManager以及重啟network才能ping通外網IP。根據網上和同事的建議,決定給某一臺伺服器做網卡升級,沒想到升級網卡後,這個問題就解決了,特此記錄下 ...
  • echo就是輸出文本的意思 echo(選項)(參數) -n:echo每次執行都會帶一個換行符,加上-n就代表不用這個換行 -e:激活轉義符反斜杠\,如果不加的話,後面的操作都做不了。比較常用的功能如下 \a 發出警告聲; \b 刪除前一個字元; \c 之後的字元都不用並且胡輸出換行符; \f 或\v ...
  • date(選項)(參數) 選項: -d<字元串>:顯示字元串所指的日期與時間。字元串前後必須加上雙引號; 這個是顯示時間 -s<字元串>:根據字元串來設置日期與時間。字元串前後必須加上雙引號; 這個是設置時間 字元串參數: %H 小時,24小時制(00~23) %I 小時,12小時制(01~12) ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...