基于Cookie的负载均衡 | linux下java环境配置 |tomcat+java+memcache缓存

JAVA

1,server1启动

nginx

/etc/init.d/php-fpm start    (php-fpm配置见lnmp源码编译章节)

2,安装java

[root@server5 ~]# tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/

cd[root@server5 ~]# cd /usr/local/

[root@server5 local]# ln -s jdk1.7.0_79/ java  建立软链接

配置java环境

[root@server5 local]# vim /etc/profile

export JAVA_HOME=/usr/local/java

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$PATH:$JAVA_HOME/bin

 

[root@server5 local]# source /etc/profile

[root@server5 local]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/nginx/sbin:/usr/local/lnmp/php/bin:/usr/local/java/bin

[root@server5 local]# echo $CLASSPATH

.:/lib:/usr/local/java/jre/lib

[root@server5 local]# echo $JAVA_HOME

/usr/local/java

测试java环境

[root@server5 local]# cd

[root@server5 ~]# vim test.java

public class test

{

       public static void main(String[] args)

       {

              System.out.println("Hello World");

       }



}

[root@server5 ~]# javac test.java 会生成test.class

[root@server5 ~]# java test

Hello World

Java配置完成!!!

 

Tomcat

1,server5安装tomcat

[root@server5 ~]# tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/  用低版本

[root@server5 local]# ln -s apache-tomcat-7.0.90/ tomcat 建立软链接

 

启动tomcat

[root@server5 tomcat]# bin/startup.sh

查看日志

[root@server5 tomcat]# cat logs/catalina.out

tomcat的默认发布目录在tomcat/webapps/ROOT 下

查看tomcat的首页,172.25.28.5:8080

 

//

测试tomcat

[root@server5 ROOT]# vim test.jsp

<%=new java.util.Date() %>

172.25.28.5:8080/test.jsp

出现404报错,需要打开代理

[root@server5 ROOT]# vim /usr/local/lnmp/nginx/conf/nginx.conf

[root@server5 ROOT]# nginx -s reload

重新访问172.25.28.5:8080/test.jsp

 

##(nginx或者tomcat)配置文件中修改默认发布目录,因为图片的格式不可能是.jsp,nginx.conf写的代理是只有.jsp才会去找代理,所以不会显示图片

如果有需要,那么修改nginx.conf文件,重新加载

//

##如果nginx没有启动,reload时会出现pid错误

##nginx如果是编译安装的,必须要建立用户

server4安装java和tomcat同server5

仿照server5,解开两个tar包,创建两个软链接

 

负载均衡

写调度策略

[root@server5 ~]# vim /usr/local/lnmp/nginx/conf/nginx.conf

[root@server5 ~]# nginx -s reload

启动nginx

浏览器调度器测试

成功!!!

 

Session缓存

1,server4,server5写提交页面

[root@server5 ~]# vim /usr/local/tomcat/webapps/ROOT/test.jsp

<%@ page contentType="text/html; charset=GBK" %>

<%@ 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>");

String dataName = request.getParameter("dataName");

if (dataName != null && dataName.length() > 0) {

String dataValue = request.getParameter("dataValue");

session.setAttribute(dataName, dataValue);

}

out.print("<b>Session list</b>");

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="test.jsp" method="POST">

name:<input type=text size=20 name="dataName">

<br>

key:<input type=text size=20 name="dataValue">

<br>

<input type=submit>

</form>

</body>

</html>

[root@server5 ~]# scp /usr/local/tomcat/webapps/ROOT/test.jsp server4:/usr/local/tomcat/webapps/ROOT/

root@server4's password:

test.jsp                             100%   36     0.0KB/s   00:00

 

浏览器测试

提交一个之后就轮询到另外,然后session会话不存在

解决方案,调度策略用sticky模块

如果需要重新编译

(sticky模块不是tar包形式,解开为目录

 删除解压之后的tar包了里面的MAKEFILE输入命令为:make clean

./configure --prefix=/usr/local/lnmp/nginx  --with-http_ssl_module --with-http_stub_status_module --user=nginx --group=nginx --with-file-aio --with-threads --add-module=/root/nginx-sticky-module-ng

编译三部曲

[root@server5 nginx-1.10.1]# nginx

解决了提交一个之后就轮询到另外,然后session不存在)

2,但是当一个后端服务器挂掉后,session还是会丢失,

 

memcache+tomcat

server4,server5安装memcached并启动

n1:172.25.28.4:11211

n2:172.25.28.5:11211

server4,server5

 

1,安装telne

2修改/usr/local/tomcat/conf/context.xml

        memcachedNodes="n1:172.25.28.4:11211,n2:172.25.28.5:11211"

        failoverNodes="n1"   错误恢复,开始是缓存在n2上,如果server5的缓存出现异常,找server4下server5交叉缓存的memcache

##server5改为n2

3,有test.jsp

4,jar包

需要所有的jar包,删除tc6

5,启动tomcat

在日志中一定要看到memcachedsessionservice的初始化信息

6,启动memcached

7,利用telnet查看session记录

表示server2服务器存储到server1上,在server1上面查看session,如果server2的memcached服务停止,那么

此时sessions实际上是server1存储的共享给server2的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值