目录
一、服务器配置
|-------------------------|-----------------|--------------------|
| IP地址 | 主机名 | 软件包列表 |
| 192.168.100.131 | huyang1 | nginx |
| 192.168.100.133 | huyang3 | JDK Tomcat |
| 192.168.100.135 | huyang5 | JDK Tomcat |
二、安装nginx
配置主机名:
[root@localhost ~]# hostname nginx
[root@localhost ~]# bash
安装nginx软件包并修改:
[root@nginx ~]# yum -y install pcre-devel zlib-devel openssl-devel
[root@nginx ~]# useradd -s /sbin/nologin -M nginx
[root@nginx ~]# tar xf nginx-1.15.9.tar.gz -C /usr/src/
[root@nginx ~]# cd /usr/src/nginx-1.15.9/
[root@nginx ~]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module && make && make install
--prefix=/usr/local/nginx #指定安装目录
--user=nginx --group=nginx #指定运行的用户和组
--with-file-aio #启用文件修改支持
--with-http_stub_status_module #启用状态统计
--with-http_ssl_module #启用ssl模块
--with-http_flv_module #启用flv模块,提供寻求内存使用基于时间的偏移量文件
--with-http_gzip_static_module #启用gzip静态压缩
[root@nginx ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
34 upstream tomcat_pool {
35 server 192.168.100.133:8080 weight=1 max_fails=1 fail_timeout=10s;
36 server 192.168.100.135:8080 weight=1 max_fails=1 fail_timeout=10s;
37 }
38
39 server {
40 listen 80;
41 server_name localhost;
42 charset utf-8;
43
44 location / {
45 root html;
46 index index.html index.htm;
47 proxy_pass http://tomcat_pool;
48 }
[root@nginx ~]# nginx
三、安装配置Tomcat:
配置主机名:
[root@localhost ~]# hostname node1 另外一台机器配置为node2
[root@localhost ~]# bash
安装配置Tomcat
解压apache-tomcat-7.0.54.tar.gz 包
[root@tomcat1 ~]# tar xf apache-tomcat-7.0.54.tar.gz
解压后生成apache-tomcat-7.0.54文件夹,将该文件夹移动到/usr/local下,并改名为tomcat
[root@tomcat1 ~]# mv apache-tomcat-7.0.54 /usr/local/tomcat
启动Tomcat
[root@tomcat1 ~]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
Tomcat 默认运行在8080端口
[root@tomcat1 ~]# netstat -lnpt | grep java
tcp 0 0 :::8080 :::* LISTEN 3318/java
浏览器访问测试 192.168.100.133:8080 和 192.168.100.135:8080
均呈现下列图形!
四、配置session
建立session.jsp的测试页面
[root@node1 ~]# vim /usr/local/tomcat/webapps/ROOT/session.jsp
Session ID:<%= session.getId() %><BR>
SessionPort:<%= request.getServerPort() %>
<% out.println("This tomcat server 192.168.100.133");%>
[root@node2 ~]# vim /usr/local/tomcat/webapps/ROOT/session.jsp
Session ID:<%= session.getId() %><BR>
SessionPort:<%= request.getServerPort() %>
<% out.println("This tomcat server 192.168.100.135");%>
Session绑定:
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
34 upstream tomcat_pool {
35 ip_hash;
36 server 192.168.100.133:8080 weight=1 max_fails=1 fail_timeout=10s;
37 server 192.168.100.135:8080 weight=1 max_fails=1 fail_timeout=10s;
38 }
[root@nginx ~]# killall -HUP nginx
浏览器访问测试 192.168.100.131/session.jsp
刷新,id和IP地址都会变化
Session服务器之Redis
Redis与Memcached的区别
- 内存利用率:使用简单的key-value(键值对)存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。
- CPU性能对比:由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached还是稍有逊色。
- Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
- Redis支持数据的备份,即master-slave模式的数据备份。
- Redis不仅仅支持简单的key-Value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
安装部署redis
[root@huyang5 ~]# tar xf redis-6.2.12.tar.gz -C /usr/src/
[root@huyang5 ~]# cd /usr/src/redis-6.2.12/
[root@huyang5 redis-6.2.12]# make
[root@huyang5 redis-6.2.12]# mkdir -p /usr/local/redis/{bin,etc,var}
[root@huyang5 redis-6.2.12]# cd src/
[root@huyang5 src]# cp redis-benchmark redis-check-aof redis-cli redis-server /usr/local/redis/bin/
[root@huyang5 redis-6.2.12]# cp ../redis.conf /usr/local/redis/etc
[root@huyang5 redis-6.2.12]# cp ../sentinel.conf /usr/local/redis/etc
[root@huyang5 redis-6.2.12]# vim /usr/local/redis/etc/redis.conf //修改配置文件
[root@huyang5 redis-6.2.12]# killall -9 redis-server
启动redis:
[root@huyang5 redis-6.2.12# /usr/local/redis/bin/redis-server && /usr/local/redis/etc/redis.conf
[root@huyang5 redis-6.2.12]# netstat -anpt |grep redis
监控redis共享session:
[root@huyang5 redis-6.2.12]# /usr/local/redis/bin/redis-cli -p 6379 monitor
[root@huyang5 redis-6.2.12]# cp tomcat-redis-session-manage-tomcat7.jar tomcat-juli.jar commons-logging-1.1.3.jar commons-pool2-2.2.jar jedis-2.5.2.jar /usr/local/tomcat/lib
修改context.xml文件以支持调用redis
[root@huyang5/3 redis-6.2.12]# vim /usr/local/tomcat/conf/context.xml
[root@huyang5 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@huyang5 ~]# /usr/local/tomcat/bin/startup.sh
[root@huyang5 redis-session]# netstat -anpt | grep :6379
[root@huyang3 ~]# netstat -anpt | grep :6379
浏览器访问测试 http://192.168.100.131/session.jsp
刷新一次:这样就锁定在了135的session id
同理也可以反过来锁定133的session id