在后端用session server做session存储服务器
使用memcache做后端session server
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。这里主要是做为tomcat的session存储设备
实验架构图:
实验设备
操作系统:CentOS7.6
nginx IP:192.168.8.134
tomcat1 IP:192.168.8.160
tomcat2 IP:192.168.8.161
session server IP:192.168.8.162
环境准备
#清空防火墙规则
iptables -F
iptables -X
#临时设置关闭selinux
setenforce 0
#安装jdk,centos7的源默认最高支持jdk1.8
yum -y install java-1.8.0-openjdk-devel
#更改主机名解析
vim /etc/hosts
192.168.8.161 tomcat2
192.168.8.160 tomcat1
实验部署步骤:
配置Nginx
安装并配置Nginx反向代理
[root@nginx ~]#yum -y instll nginx
修改nginx配置文件
[root@nginx ~]#vim /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
}
upstream web {
server 192.168.8.160:8080;
server 192.168.8.161:8080;
}
server {
listen 80 default_server;
index index.jsp;
location / {
proxy_pass http://web/;
}
}
检查无误后启动nginx
[root@nginx ~]#nginx -t
[root@nginx ~]#systemctl start nginx
[root@nginx ~]#systemctl enable nginx
配置tomcat1
安装tomcat以及对应的其他管理工具
[root@tomcat1 ~]#yum -y install tomcat tomcat-lib tomcat-admin-webapps tomcat-webapps tomcat-docs-webapp
创建必要的文件夹
[root@tomcat1 ~]#mkdir -pv /data/app/ROOT/{WEB-INF,META-INF,classes,lib}
编辑网页文件
[root@tomcat1 ~]#vim /data/app/ROOT/index.jsp
<%@ page language="java" %>
TomcatA
TomcatA
table align="centre" border="1">
Session ID
<% session.setAttribute("www.zd.com","www.zd.com"); %>
<%= session.getId() %>
Created on
<%= session.getCreationTime() %>
编辑tomcat配置文件
[root@tomcat1 ~]#vim /etc/tomcat/server.xml
#在Host中加入
修改tomcat-users.xml配置文件
[root@tomcat1 ~]#vim /etc/tomcat/tomcat-users.xml
把需要的软件包拷贝到/usr/share/java/tomcat下,可从GitHub上下载
百度网盘链接:https://pan.baidu.com/s/1TukaicJ1sObH6ZakZa2qEA
提取码:8jwk
[root@tomcat1 ~]#systemctl restart tomcat
[root@tomcat1 ~]#systemctl enable tomcat
配置tomcat2
创建必要的目录
[root@tomcat2 ~]#mkdir /data
从tomcat1上拷贝相关文件
[root@tomcat1 ~]#scp -r /data/app/ 192.168.8.161:/data/
[root@tomcat1 ~]#scp /etc/tomcat/server.xml 192.168.8.161:/etc/tomcat/server.xml
[root@tomcat1 ~]#scp /etc/tomcat/tomcat-users.xml 192.168.8.161:/etc/tomcat/tomcat-users.xml
[root@tomcat1 ~]#scp -r /usr/share/java/tomcat 192.168.8.161:/usr/share/java/tomcat
编辑网页文件
[root@tomcat2 ~]#vim /data/app/ROOT/index.jsp
<%@ page language="java" %>
TomcatB
TomcatB
table align="centre" border="1">
Session ID
<% session.setAttribute("www.test.com","www.test.com"); %>
<%= session.getId() %>
Created on
<%= session.getCreationTime() %>
启动tomcat服务
[root@tomcat2 ~]#systemctl restart tomcat
[root@tomcat2 ~]#systemctl enable tomcat
配置session server
安装memcache
[root@memchche ~]#yum -y install memcached
更改配置文件
[root@memchche ~]#vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
#并发连接数最大限制
MAXCONN="1024"
#默认最大使用的内存
CACHESIZE="64"
OPTIONS=""
启动服务
[root@memchche ~]#systemctl enable memcached
[root@memchche ~]#systemctl start memcached