设为首页 收藏本站
查看: 1030|回复: 0

[经验分享] Redis+Tomcat+Nginx实现session共享、负载均衡

[复制链接]

尚未签到

发表于 2018-12-3 07:17:30 | 显示全部楼层 |阅读模式
  环境(所有软件统一放到/root/下)
nginx:192.168.154.142;nginx-1.14.0.tar.gz
redis:192.168.154.143;redis-4.0.10.tar.gz
tomcat1:192.168.154.137;jdk-8u171-linux-x64.tar.gz,apache-tomcat-7.0.86.tar.gz
tomcat2:192.168.154.138;jdk-8u171-linux-x64.tar.gz,apache-tomcat-7.0.86.tar.gz
mysql:192.168.154.139  拓扑图
  
http://s1.运维网.com/images/20180908/1536396066703888.png
  nginx
yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel
groupadd -r www
useradd -r -g www -s /sbin/nologin www
tar zxf nginx-1.14.0.tar.gz
cd nginx-1.14.0/
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre --with-http_flv_module
make && make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  vi /usr/local/nginx/conf/nginx.conf
user www www;
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
worker_rlimit_nofile 10240;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 4096;
}
http {
include mime.types;
default_type application/octet-stream;
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 logs/access.log main;
server_tokens off;
sendfile on;
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#Compression Settings
gzip on;
gzip_comp_level 6;
gzip_http_version 1.1;
gzip_proxied any;
gzip_min_length 1k;
gzip_buffers 16 8k;
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
gzip_vary on;
#end gzip
# http_proxy Settings
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 75;
proxy_send_timeout 75;
proxy_read_timeout 75;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
#load balance Settings
upstream backend_tomcat {
server 192.168.154.137:8080 weight=1 max_fails=2 fail_timeout=10s;
server 192.168.154.138:8080 weight=1 max_fails=2 fail_timeout=10s;
}
#virtual host Settings
server {
listen 80;
server_name www.benet.com;
charset utf-8;
location / {
root html;
index index.jsp index.html index.htm;
}
location ~* \.(jsp|do)$ {
proxy_pass http://backend_tomcat;
proxy_redirect off;
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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
}
location /nginx_status {
stub_status on;
access_log off;
allow 192.168.154.0/24;
deny all;
}
}
}  起nginx服务,防火墙放端口
nginx -t
#没有报错继续
nginx
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload  验证1,实现nginx静态web页面访问
  http://192.168.154.142
   http://s1.运维网.com/images/20180908/1536397581933479.png
  tomcat(两台配置一样,注意只要是文档里写的tomcat配置,两台都需要做)
tar zxf jdk-8u171-linux-x64.tar.gz
tar zxf apache-tomcat-7.0.86.tar.gz
mv jdk1.8.0_171/ /usr/local/java
mv apache-tomcat-7.0.86 /usr/local/tomcat7  vi /etc/profile(在最后面加上)

export JAVA_HOME=/usr/local/java
export CATALINA_HOME=/usr/local/tomcat7
export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH  测试java1.8和tomcat7环境。

  起tomcat服务,放行8080端口

catalina.sh start
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload  验证2,实现tomcat7jsp页面访问
  192.168.154.137
  http://s1.运维网.com/images/20180908/1536398521268454.png
  192.168.154.138
  http://s1.运维网.com/images/20180908/1536398594998068.png
  验证3、nginx的负载均衡
  vim /usr/local/tomcat7/conf/server.xml(添加一行)

mkdir -p /web/webapp1
cat > /web/webapp1/index.jsp  create database javatest;
mysql> use javatest;
mysql> create table testdata(id int not null auto_increment primary key,foo varchar(25),bar int);
mysql> insert into testdata(foo,bar) values ('hello','123456'),('ok','654321');
mysql> grant all on *.* to javauser@'192.168.154.%' identified by 'javapasswd';firewall-cmd –-permanent –add-port=3306/tcp
firewall-cmd --reload  tomcat7上
mv mysql-connector-java-5.1.22-bin.jar /usr/local/tomcat7/lib  vim /usr/local/tomcat7/conf/context.xml(在倒数第二行插入)
http://s1.运维网.com/images/20180908/1536403191955656.png
catalina.sh stop
catalina.sh start
mkdir /web/webapp1/WEB-INF  vim /web/webapp1/WEB-INF/web.xml

MySQL Test App

DB Connection
jdbc/TestDB
javax.sql.DataSource
Container

  vim /web/webapp1/test.jsp



tomcat1


tomcat1 connect MySQL


#我在tomcat2上写的标题也有做区分。可以再截图中看到。  验证5:,测试tomcat连接数据,本次案例完成。







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-642548-1-1.html 上篇帖子: gitee+Jenkins+tomcat实现自动打包部署 下篇帖子: Tomcat 之 java知识点简介
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表