linux服务器负载均衡配置_分布式系统如何负载均衡

linux服务器负载均衡配置_分布式系统如何负载均衡因项目需要最近研究了下Linux红帽6.5下实现Apache负载均衡的问题。从干净的环境说起。   1、安装JDK环境       首先下载linux版本的JDK,我使用的是jdk-6u24-linux-x64-rpm.bin,并将该文件上传至服务器的指定目录。       chmod777jdk-6u24-linux-x64-rpm.bin修改文件的操作权限;   

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

    因项目需要最近研究了下Linux 红帽 6.5下实现Apache负载均衡的问题。从干净的环境说起。

    1、安装JDK环境

        首先下载linux版本的JDK,我使用的是jdk-6u24-linux-x64-rpm.bin,并将该文件上传至服务器的指定目录。

        chmod 777 jdk-6u24-linux-x64-rpm.bin修改文件的操作权限;

        ./jdk-6u24-linux-x64-rpm.bin,解压JDK文件;

        rpm -ivh jdk-6u24-linux-x64-rpm,安装JDK;

        配置环境变量:vi /etc/profile,在其中添加以下内容:

      

        export JAVA_HOME=/usr/java/jdk1.6.0.24(其中你需要修改成你自己的安装目录)

        export JAVA_BIN=/usr/java/jdk1.6.0.24/bin(其中你需要修改成你自己的安装目录)

        export PATH=$PATH:$JAVA_HOME/bin

        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

        export JAVA_HOME JAVA_BIN PATH CLASSPATH

        使用命令使文件修改立即生效:. /etc/profile,其中要注意.后面的空格。

    2、安装tomcat

        首先下载linux版本的tomcat,我使用的是apache-tomcat-6.0.43.tar.gz,并将该文件上传至服务器的指定目录。

        使用命令 tar -xf apache-tomcat-6.0.43.tar.gz解压tomcat文件;

        mv apache-tomcat-6.0.43 tomcat1;cp -r tomcat1 tomcat2 ;此操作的目的在于讲tomcat备份两个,以达到负载均衡。

        然后你可以自己在tomcat中放置测试文件来测试tomcat是否部署成功。

        如果你有两台Linux服务器,则只需将tomcat拷贝到另一台机器上,如果在一台服务器上完成负载均衡,则需要需要其中一个tomcat的端口,但是不可以占用80端口。

       备份conf/server.xml文件,并修改;

linux服务器负载均衡配置_分布式系统如何负载均衡

        两个tomcat都同样的修改该文件,并记录下AJP所对应的端口号,我这里是8009,在Apache负载时需要用到。

    3、安装Apache服务

        下载Apache的安装包及JK的包。我分别使用的是httpd-2.2.29.tar.gz及tomcat-connectors-1.2.40-src.tar.gz,上传至服务器;

        分别使用tar -xf 文件名进行解压操作;

        编译apache服务器:cd httpd-2.2.21 ,在httpd下./configure –enable-so –enable-mods-shared=most –with-mpm=worker,其中设置worker是修改其工作模式。worker是全新的支持多线程和多进程混合模型的MPM;

        使用make命令,开始编译;

        使用sudo make install命令,开始安装;

        进入到服务器的bin目录,启动服务:cd /usr/local/apache2/bin/         sudo ./apachectl start       

        在本地打开浏览器,访问http://127.0.0.1,如果出现“It Works!”,则表示启动成功了;

        如果要在其他的机器上访问的话,要注意关闭Linux系统的防火墙;

    4、编译JK连接器

        进入到解压后的目录下的native目录:cd tomcat-connectors-1.2.40-src/native/;

        执行./configure –with-apxs=/usr/local/apache2/bin/apxs配置编译;

        使用make命令进行编译;

        其中在apache-2.0目录下,将看到本次编译生成的mod_jk.so模块,将其拷贝到Apache的modules目录下:在apache-2.0目录下执行该命令:

sudo cp ./mod_jk.so /usr/local/apache2/modules/;

    5、Apache服务配置

         将apache服务目录中conf下的httpe.conf文件备份到别的目录,并使用vi进行编辑;

        在LoadModle处增加:LoadModule jk_module modules/mod_jk.so;

        在<IfModule XXXX>的地方增加以下:

        <IfModule jk_module>
            JkWorkersFile conf/workers.properties
            JkMountFile conf/uriworkermap.properties
            JkLogFile logs/mod_jk.log
            JkLogLevel warn
        < /IfModule> 

       

        <IfModule worker.c> 

            StartServers            5 

            ServerLimit            20 

            ThreadLimit           200 

            MaxClients           4000 

            MinSpareThreads        25 

            MaxSpareThreads       250 

            ThreadsPerChild       200 

            MaxRequestsPerChild  1000 

         </IfModule>

         在conf下分别新建conf/workers.properties文件和conf/uriworkermap.properties,其内容分别是:

        linux服务器负载均衡配置_分布式系统如何负载均衡        linux服务器负载均衡配置_分布式系统如何负载均衡

        worker.s1.route的值即为server.xml中配置的JVMRoute的值。

        在测试时,出现访问tomcat中项目503的错误,此时需要需要httpd.conf文件中的权限。

        使用vi命令编辑httpd.conf文件,在

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory> 中,将Deny from all改为Allow from all。并确保80端口及tomcat所使用的端口都不被防火前拦截。

 

至此所有的配置以完成。

先分别启动两个tomcat的服务,启动成功后,进入到apache的bin目录下启动apache服务,命令:sudo ./apachectl start。

在浏览器中访问apache服务所在的地址。例如http://ip/project/index.jsp,测试负载时,可以停掉一个tomcat服务看是否能正常访问,然后重启关闭的tomcat,并关闭另一个tomcat,看是否能正常访问。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/195699.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • fprintf函数的作用_c语言fopen函数的用法

    fprintf函数的作用_c语言fopen函数的用法fprintf(简介)fprintf是C/C++中的一个格式化库函数,位于头文件中,其作用是格式化输出到一个流文件中;函数原型为intfprintf(FILE*stream,constchar*format,[argument]…),fprintf()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。以“分别用十进制,八进制,十六进制输…

    2022年10月19日
  • C++学习——四种字符串与数据连接的方法

    C++学习——四种字符串与数据连接的方法方法调用很简单,sprintf itoa函数在我的其他博客也有详解,请翻阅查看,话不多说,直接撸代码:#include <iostream>#include <string>#include <cstdlib>#include <sstream>#include <cstring> using namespace std;…

  • 算法 – 判断一个数是不是2的n次幂「建议收藏」

    算法 – 判断一个数是不是2的n次幂「建议收藏」分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net设要判断的数是无符号整数X。首先判断X是否为0,如果为0则不是2的n次幂,返回。将X和X-1进行按位“与”操作,如果结果是0,则说明这个数是2的n次幂;如果结果非0,则说明这个数不是2的n次幂。…

    2022年10月22日
  • bfs官网_山谷和山脉

    bfs官网_山谷和山脉FGD小朋友特别喜欢爬山,在爬山的时候他就在研究山峰和山谷。为了能够对旅程有一个安排,他想知道山峰和山谷的数量。给定一个地图,为FGD想要旅行的区域,地图被分为 n×n 的网格,每个格子 (i,j) 的高度 w(i,j) 是给定的。若两个格子有公共顶点,那么它们就是相邻的格子,如与 (i,j) 相邻的格子有(i−1,j−1),(i−1,j),(i−1,j+1),(i,j−1),(i,j+1),(i+1,j−1),(i+1,j),(i+1,j+1)。我们定义一个格子的集合 S 为山峰(山谷)当且仅当:

  • 服务器主板插显卡进不了系统,关于换了显卡后进不了系统的问题「建议收藏」

    服务器主板插显卡进不了系统,关于换了显卡后进不了系统的问题「建议收藏」显卡常见故障诊断如下(1)显卡接触不良故障:显卡接触不良通常会引起无法开机且有报警声或系统不稳定死机等故障。造成显卡接触不良的原因主要是显卡金手指被氧化、灰尘、显卡品质差或机箱挡板问题等。对于金手指被氧化造成的接触不良,可以使用橡皮擦拭金手指来解决;对于灰尘引起的接触不良,一般清除灰尘后即可解决;对于硬件品质造成的接触不良,通常通过替换法来检测,一般采用更换显卡来解决;对于机箱挡板问题造成的接触不…

  • sched.h (版本4.16.7全部内容)

    sched.h (版本4.16.7全部内容)/*SPDX-License-Identifier:GPL-2.0*/#ifndef_LINUX_SCHED_H#define_LINUX_SCHED_H/**Define’structtask_struct’andprovidethemainscheduler*APIs(schedule(),wakeupvariants,etc.)*/…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号