日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux下一个apache+tomcat负载均衡和集群

發(fā)布時(shí)間:2023/12/13 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下一个apache+tomcat负载均衡和集群 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

先說(shuō)一下我的環(huán)境

一個(gè)ubuntu虛擬機(jī),

一個(gè)apache2.2示例

兩tomcat1.7示例


1.安裝apacheserver

sudo apt-get install apache2假設(shè)要重新啟動(dòng)的話,執(zhí)行命令:

sudo /etc/init.d/apache2 restart

ubuntu下的apache會(huì)默認(rèn)創(chuàng)建路徑/var/www,apache默認(rèn)載入的時(shí)候,就是載入的這個(gè)路徑以下的

2.安裝兩個(gè)tomcat實(shí)例

去官網(wǎng)下載一個(gè)

然后在本地在cp一下,

此時(shí)文件夾結(jié)構(gòu)為:

/home/hehe/my/soft/tomcat1,

/home/hehe/my/soft/tomcat2

3.安裝mod_jk

mod_jk實(shí)質(zhì)上是Apache與Tomcat的連接器,并藉此附帶提供集群和負(fù)載均衡的功能。

地址為http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.31/x86_64/,注意要于你安裝的apache的版本號(hào)相應(yīng)。

4.配置apache

? ? ubuntu默認(rèn)會(huì)將apache的安裝文件放在/etc/apache2以下

進(jìn)入這個(gè)文件夾之后,新建一個(gè)httpd.conf文件

放心apache啟動(dòng)時(shí),會(huì)載入這個(gè)文件的

然后編譯這個(gè)文件。加上這么句話

ServerName localhost:80include mod_jk.conf? ? ? ? ?

然后我們?cè)诋?dāng)前路徑下新建一個(gè)mod_jk.conf文件

這里先要將mod_jk-1.2.31-httpd-2.2.x.so放在當(dāng)前路徑下

#load module mod_jk-1.2.31-httpd-2.2.3.so is for Apache 2.2.x. LoadModule jk_module /usr/lib/apache2/modules/mod_jk-1.2.31-httpd-2.2.x.so#這個(gè)是用來(lái)配置負(fù)載的 JkWorkersFile workers.properties #這個(gè)是打印日志 JkLogLevel debug #這個(gè)是日志的名稱 JkLogFile mod_jk.log #打印的級(jí)別 JkLogLevel warn

所以在當(dāng)前路徑下咱們還得新建一個(gè) mod_jk.log,文件。這里面會(huì)記錄日志

接下來(lái)配置workers.properties文件

在當(dāng)前路徑下新建一個(gè)workers.properties文件

#負(fù)載均衡器 worker.list=LB_worker,worker_1,worker_2,jkstatus #第一個(gè)tomcat的配置 worker.worker_1.host=localhost #tomcat在哪個(gè)機(jī)器上面,若是別的機(jī)器。須要寫上別的機(jī)器的ip地址 worker.worker_1.port=8009 #端口,等會(huì)在tomcat里面配置的時(shí)候要一一相應(yīng) worker.worker_1.type=ajp13 worker.worker_1.lbfactor=1 #載入因子#第二個(gè)tomcat的配置 worker.worker_2.host=localhost worker.worker_2.port=9009 worker.worker_2.type=ajp13 worker.worker_2.lbfactor=1 #類型是一個(gè)負(fù)載均衡器 worker.LB_worker.type=lb #重試三次 worker.LB_worker.retries=3 #負(fù)載給tomcat1和tomcat2 worker.LB_worker.balance_workers=worker_1,worker_2 #這是說(shuō)session的粘性,就是說(shuō)同一個(gè)session是否提交給同一個(gè)tomcat。由于等會(huì)兒,集群的時(shí)候要用到一個(gè)session提交給兩臺(tái)機(jī)器,所以設(shè)置為false worker.LB_worker.sticky_session=false worker.LB_worker.sticky_session_force=false #jk的狀態(tài) worker.jkstatus.type=status5.配置請(qǐng)求交給負(fù)載均衡器

在/etc/apache2/sites-available下有個(gè)default文件,

在這個(gè)文件的最后一句話</VirtualHost>之前加上這么一段

JkMount /*.jsp LB_worker JkMount /jkstatus jkstatus然后就交給了LB_worker

6.接下來(lái)配置tomcat1

改一下conf以下的server.xml文件,改port,和上面的相應(yīng)

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
然后找到這句話,改成這樣,注意worker_1和workers.properties相應(yīng)

<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker_1">
若是集群的話,還要改一句話。把這句話的前后的凝視符號(hào)給去掉,放開(kāi)

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
接下來(lái)配置tomcat2

先把以下這句話給改了,port號(hào)改為8006

<Server port="8006" shutdown="SHUTDOWN">

然后改以下這句

<Connector port="9082" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="9443" />
改一下conf以下的server.xml文件,改port。和上面的相應(yīng)

<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
然后找到這句話,改成這樣。注意worker_2和workers.properties相應(yīng)

<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker_2">
若是集群的話,還要改一句話,把這句話的前后的凝視符號(hào)給去掉,放開(kāi)

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

7.新建一個(gè)項(xiàng)目mytest,里面有一個(gè)叫wel.jsp的文件,

這個(gè)jsp的內(nèi)容是:

<%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>Insert title here</title> </head> <body> <%System.out.println("this is tomcat server nod 2"); %> <% int i=0;while(i<3000){i++;}out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>this is tomcat server nod 2"); %> </body> </html>然后將這個(gè)項(xiàng)目放在tomcat2的webapp以下

同一時(shí)候也放在tomcat1的文件夾下

注意。以下這句改成這樣,2改為1

System.out.println("this is tomcat server nod 1");


out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>this is tomcat server nod 1");
8.重新啟動(dòng)一個(gè)apache,tomcat1,tomcat2

然后在瀏覽器里面訪問(wèn)

http://127.0.0.1/mytest/wel.jsp

不斷的刷新頁(yè)面。你會(huì)發(fā)現(xiàn)其在node1,和node2之間不斷換。說(shuō)明請(qǐng)求有時(shí)候交給了1,有時(shí)候交給了tomcat2,實(shí)現(xiàn)了負(fù)載均衡的功能


以下在來(lái)實(shí)現(xiàn)tomcat1。和tomcat2的集群功能

所謂集群就是。一個(gè)client的相應(yīng)的session在兩個(gè)tomcat中有一模一樣的相應(yīng)的session

在mytest里面在新建一個(gè)wel2.jsp文件

里面的內(nèi)容為:

<%@ page contentType="text/html; charset=utf-8" %> <%@ page import="java.util.*" %> <html><head><title>Cluster App Test</title></head> <body> Server Info: <% out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%> <%out.println("<br> ID " + session.getId()+"<br>");// 在session里面設(shè)置屬性String dataName = request.getParameter("attributeName");if (dataName != null && dataName.length() > 0) {String dataValue = request.getParameter("attributeValue");session.setAttribute(dataName, dataValue);}out.print("<b>打印Session內(nèi)容:>");Enumeration e = session.getAttributeNames();while (e.hasMoreElements()) {String name = (String)e.nextElement();String value = session.getAttribute(name).toString();out.println( name + " = " + value+"<br>");System.out.println( name + " = " + value);} %><form action="wel2.jsp" method="POST">屬性名:<input type=text size=20 name="attributeName"><br>值:<input type=text size=20 name="attributeValue"><br><input type=submit></form> </body> </form> </body> </html>兩個(gè)tomcat里面都有一個(gè)這種文件

然后兩個(gè)tomcat的web.xml以下加上以下這句話

<distributable/>,兩個(gè)session之間能相互復(fù)制

重新啟動(dòng)

然后訪問(wèn)http://10.211.55.3/mytest/wel2.jsp


又一次輸入這個(gè)地址



你會(huì)發(fā)現(xiàn)確實(shí)交給了兩個(gè)server,并且session里面的值一模一樣!

集群完畢。




版權(quán)聲明:本文博客原創(chuàng)文章,博客,未經(jīng)同意,不得轉(zhuǎn)載。

轉(zhuǎn)載于:https://www.cnblogs.com/mfrbuaa/p/4662420.html

總結(jié)

以上是生活随笔為你收集整理的linux下一个apache+tomcat负载均衡和集群的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。