從0開始搭建Nginx+tomcat高效負載均衡服務集羣(附加jdk,tomcat,nginx安裝配置)

前言

大二暑期實習第一天,熟悉公司環境,框架,安裝配置各類軟件的過程當中接到的學習任務:安裝配置Niginx和Tomcat而且搭建一個Nginx+tomcat的高效負載均衡服務集羣,剛接到任務時一臉懵逼(之前最多隻會用用tomcat做爲web容器),而後一個早上+中午各類百度,查閱各類資料博客最終完成了搭建,實習飲水機管理員的第一天,學習到了不少新的知識收穫頗豐。html

正文

本文章描述在阿里雲服務器上從零開始搭建一個高效負載均衡服務集羣。java

系統配置

系統鏡像:CentOS7.3nginx

CPU:單核web

內存:2GBapache

系統盤:40GBvim

CentOs中JDK安裝

由於Tomcat是Java寫的因此第一步咱們應該先安裝配置JDKcentos

(以經完成的能夠自行忽略此步驟)瀏覽器

首先查看當前系統有無自帶的JDKtomcat

rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj
複製代碼

若是沒有則進行安裝JDKbash

yum install java-1.8.0-openjdk* -y
複製代碼

直到安裝完成 輸入查詢jdk版本指令:

java -version
複製代碼

驗證jdk是否安裝成功,出現以下則表明成功

默認jre jdk 安裝路徑是/usr/lib/jvm

配置JDK環境變量 在/etc/profile修改環境變量,環境變量的做用域爲全部的用戶。

vim /etc/profile
複製代碼

在/etc/profile的最下面加上:

#set java environment 
export JAVA_HOME=/usr/lib/jvm/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
複製代碼

執行

./etc/profile
複製代碼

使配置文件生效 檢驗環境變量是否配置成功依次輸入

echo $JAVA_HOME
echo $CLASSPATH
echo $PATH
複製代碼

安裝配置Tomcat

從tomcat官網下載tomca8的tar包網址:tomcat.apache.org/download-80…

將apache-tomcat-8.5.42.tar.gz文件用傳到CentOS鏡像上。 也能夠直接在這邊的下載路徑用指令直接下載

wegt http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz
複製代碼

個人路徑是/usr/local/tomcat

解壓apache-tomcat-8.5.42.tar.gz文件

tar xf apache-tomcat-8.5.42.tar.gz
複製代碼

查看是否成功的安裝:

cd apache-tomcat-8.5.42
ln -sv apache-tomcat-8.5.31 tomcat
複製代碼

配置環境變量: 在/etc/profile.d文件中新添一個tomcat.sh文件

vim /etc/profile.d/tomcat.sh
複製代碼

在裏面添加:

CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.42   
 //這邊的地址是安裝tomcat的路徑
PATH=$CATALINA_BASE/bin:$PATH
export PATH CATALINA_BASE
複製代碼

輸入指令讓配置文件生效:

source  /etc/profile.d/tomcat.sh
複製代碼

查看是否配置成功:

catalina.sh version
複製代碼

在這裏tomcat已經能夠正常的使用了,而後是一些tomcat的修改配置 文件目錄conf/中的service.xml能夠經行端口的修改,默認初始端口8080.

在遊覽器訪問端口: http://localhost:8080/

Nginx安裝

一、添加yum源

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
複製代碼

二、安裝Nginx

yum install -y nginx
複製代碼

三、啓動Nginx並設置開機自動運行 systemctl start nginx.service systemctl enable nginx.service 四、在去訪問ip: http://localhost/

搭建tomcat負載均衡集羣

單個Tomcat最大支持在線訪問是500左右,要通知支持更多的訪問量一個Tomcat就無法作到了。經過Nginx的反向代理多個tomcat,實現高性能負載均衡的tomcat集羣 安裝兩個tomcat實列 經過複製:

cp -r tomcat-service-1 tomcat-service-2
複製代碼

而後配置兩個tomcat的配置文件server.xml

vim conf/server.xml
複製代碼

使兩個tomcat裏面的端口號port不一樣。 修改<!Server><!Connector><!Connctor>的port,三個port分的有點遠,得本身好好找

<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
複製代碼

爲了方便提供服務的是哪一個tomcat,分別在兩個tomcat文件目錄中的webapp中新建一個test文件夾加一個jsp文件。

Jsp文件內容:

<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <%
            out.println("Hello World!");      //嵌入java語言
        %>
            </body>
            </html>
複製代碼

量容器中的效果圖:

而後修改Nginx中的配置文件

vim /etc/nginx/conf.d/default.conf
複製代碼

在開頭添加

#服務器的集羣 
upstream  netitcast.com {  #服務器集羣名字 
   server 127.0.0.1:8080  weight=1;#服務器配置 weight是權重的意思,權重越大,分配的機率越大。
   server 127.0.0.1:8090  weight=2;
}
複製代碼

最終效果:

在屢次快速刷新瀏覽器時,Nginx更具給的權重把任務分到兩個tomcat中,實現均衡負載服務集羣。在高用戶量高併發的狀況下,有效的均攤了服務壓力。

後記

掘金新人,原來的博客都是在CSDN上的,這篇是來到掘金的第一篇,後續會把CSDN上的文章遷移過來,這個暑假也會繼續撰寫實習過程當中的經歷的技術問題。

相關文章
相關標籤/搜索