nginx+tomcat+memcache配置

memcached的作用:
memcached服务的主要作用是通过在自身内存缓存关系型数据库的查询结果,减少数据库被访问的次数,来提高web应用的速度,提高网站架构的并发能力和可拓展性。它是通过内存缓存来存取对象或数据,要比磁盘存取快很多。

安装tomcat:
下载:jdk-7u79-linux-x64.tar.gz
apache-tomcat-7.0.37.tar.gz两个压缩包
在服务器端安装:
tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/
tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
cd jdk1.7.0_79/
ln -s jdk1.7.0_79/ java
ll
vim /etc/profile ##添加环境变量
export JAVA_HOME=/usr/local/java
export CLASSPATH=: JAVEHOME/lib: JAVA_HOME/jre/lib
export PATH= PATH: JAVA_HOME/bin
source /etc/profile
echo $PATH ##检查环境变量是否添加成功
cd /usr/local
ln -s apache-tomcat-7.0.37/ tomcat
cd tomcat/bin
./startup.sh
测试:
这里写图片描述
cd /usr/local/tomcat/webapps/ROOT/
ls
vim test.jsp
这里写图片描述
测试:
这里写图片描述

1.利用ip_hash算法:
vim 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>
在之前实验的基础上配置memcache服务:
cd /usr/local/tomcat
ls
rm -fr memcached-session-manager-tc6-1.6.3.jar
yum install memcached -y
/etc/init.d/memcached start
cp jar /usr/local/tomcat/lib
cd /usr/local/tomcat/lib
rm -fr memcached-session-manager-tc6-1.6.3.jar  ##因为安装的版本
mv * ..
cd ..
rm -fr jar
cd lib/
vim /usr/local/tomcat/conf/context.xml
<Context>
......
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:172.25.16.2:11211,n2:172.25.16.3:11211"
failoverNodes="n1"  #在 node2 上此项设置为“n2requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
</Context>
tail -f logs/cataline.out   ##查看日志查看memcached服务是否配置好

这里写图片描述

测试:
在浏览器输入172.25.254.1/test.jsp
在172.25.254.2服务器的页面输入用户信息之后执行bin/shutdown.h,重新加载页面,出现172.25.254.3的服务器页面,显示了在node1输入的的用户信息。实现了memcache的交叉缓存功能

这里写图片描述

这里写图片描述

2.nginx+sticky模块:
sticky算法应用于服务器前端有cdn时,因为当使用cdn之后,会获取不到用户真正的ip,真正与nginx通信的是cdn的节点,这时ip_hash算法将实现不了负载均衡。

下载:nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d.tar.gz
     nginx-1.10.1.tar.gz
tar zxf nginx-1.10.1.tar.gz
tar zxf nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d.tar.gz
cd nginx-1.10.1
./configure --prefix=/opt/nginx --user=nginx --group=nginx  --with-file-aio --with-http_stub_status_module --with-threads --add-module=/mnt/nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d
make && make install
cd /opt/nginx
vim conf/nginx.conf

这里写图片描述

这里写图片描述
cd sbin/
./nginx -t ##检测配置脚本运行是否正常
./nignx -s reload ##重新加载服务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值