Linux搭建Tomcat、Nginx、Memcached实现Session共享

Tomcat7.0、Nginx、Memcached实现Session共享,算是比较常见的方案了,本文将详解在 Redhat 7.0 下的部署方法,并提供关健应用和文件包下载,已亲测成功。

系统环境

应用平台 主机IP
jdk-7u79-linux-x64
apache-tomcat-7.0.54 / msm1.7_libs
192.168.1.2
192.168.1.3
pcre / pcre-devel
nginx-1.10.3
192.168.1.7
192.168.1.8
libevent-2.0.21-stable
memcached-1.4.20.tar
192.168.1.5
192.168.1.6

备注:两台nginx主机用keepalived做高可用,VIP为192.168.1.9,但本文不讲述keepalived的配置方法。

一、安装和配置tomcat

两台Tomcat服务器可以采用如下完全相同的配置方法,也可以把两个tomcat放在同一台服务器上,但需要修改端口号。

1、卸载自带jdk(如果有)

rpm –qa | grep java | xargs rpm -e --nodeps #批量卸载自带的jdk相关包

2、安装jdk

安装目录:/opt/jdk/

tar -zxvf jdk-7u79-linux-x64.tar

3、配置环境

编辑 /etc/profile

JAVA_HOME=/opt/jdk/jdk1.7.0_79
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH

使环境配置生效

source /etc/profile

4、安装tomcat

tar -zxvf apache-tomcat-7.0.54.tar.gz -C /opt/tomcat
mv apache-tomcat-7.0.54 project #修改项目所在目录

5、复制jar包

将下载的 lib 包复制到 project/lib/ 下。

6、修改server.xml

在server.xml中的<Host>位置加入如下代码:

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
  memcachedNodes="n1:192.168.1.5:11211 n2:192.168.1.6:11211"
  failoverNodes="n2"
  sticky="false"
  lockingMode="auto"
  sessionBackupAsync="false"
  requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
  sessionBackupTimeout="900"
  transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
  copyCollectionsForSerialization="false"
 />

官方文档:https://iurl.top/googlemsm

7、修改防火墙

以下是firewalld的方法:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

二、安装和配置 nginx

首先检查是否已经安装pcre和pcre-devel,如果没有,则需安装pcre库后再安装nginx。

rpm -qa | grep pcre

1、安装nginx

rpm -ivh nginx-1.10.3-1.el7.ngx.x86_64.rpm

2、配置nginx

修改/etc/nginx/nginx.conf,以下是部分配置,两台nginx服务器采用相同的配置:

###### define upstream ######
upstream project {
  server 192.168.1.2:8080;
  server 192.168.1.3:8080;
}

###### define server ######
server {
  listen 80;
  server_name project.andylouse.net;
  root html;
  index index.htm index.html index.jsp;
  location / {
    proxy_pass http://project;
   }
  location ~ ^/(WEB-INF)/ {
    deny all;
  }
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  #proxy_connect_timeout 900;
  #proxy_read_timeout 900;
  #proxy_send_timeout 900;
}

3、安装并配置keepalived

本文不讲述keepalived的安装和配置方法。

三、安装memcached

两台服务器均采用相同的安装和配置方法。

1、安装libevent

tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/opt/libevent-stable
make
make install

2、安装memcached

tar zxvf memcached-1.4.20.tar.gz
cd memcached-1.4.20
./configure --prefix=/opt/memcached --with-libevent=/opt/libevent-stable/
make && make install

3、命令

启动:-d 后台运行 –m 内存大小 –p 端口 –c 最大并发数

/opt/memcached/bin/memcached -d -m 512 -u root -p 11211 -c 1024 -P /var/run/memcached.pid

关闭

kill `cat /var/run/memcached.pid`

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

感谢您的支持与帮助

支付宝扫一扫打赏

微信扫一扫打赏