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

[经验分享] nginx+双tomcat集群负载均衡(一台机器)

[复制链接]

尚未签到

发表于 2018-11-13 10:20:37 | 显示全部楼层 |阅读模式
  nginx简介
  Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
  下面是采用一台机器nginx+双tomcat集群负载均衡方案。当更新项目时可以停止tomcat1,在启动,接着停止别外一个tomcat2,这样可以不会让客户感觉你在停止项目更新。这是为了节约成本的情况下,有效方案。通过这方案可以演变更多tomcat集群,只是把tomcat放在不同的服务器里,把nginx配置的里的反向代理ip修改一下。后期会写一个高可用的tomcat方案。
  1.安装jdk是64位系统
  下裁jdk-6u45-linux-x64.bin
  [root@tomcat135 ~]# ls
  anaconda-ks.cfg              install.log             nginx-1.2.8.tar.gz
  apache-tomcat-6.0.18.tar.gz  install.log.syslog      pcre-7.9.tar.gz
  Desktop                      jdk-6u45-linux-x64.bin
  [root@tomcat135 ~]# chmod +x jdk-6u45-linux-x64.bin
  [root@tomcat135 ~]# ./jdk-6u45-linux-x64.bin
  [root@tomcat135 ~]# mv jdk1.6.0_45 /opt/jdk
  配置jdk在环境变量中/etc/profile
  [root@tomcat135 ~]# vi /etc/profile
  在最后增加
  JAVA_HOME=/opt/jdk
  PATH=$JAVA_HOME/bin:$PATH
  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  export JAVA_HOME
  export PATH

  export>  export LC_ALL="zh_CN.GB18030"  #解决中文乱码问题
  [root@tomcat135 ~]# source  /etc/profile
  查是否配置成功
  [root@tomcat135 ~]# java -version
  java version "1.6.0_45"
  Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
  Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
  以上说明成功了
  2.安装与配置tomcat
  下裁apache-tomcat-6.0.18.tar.gz
  [root@tomcat135 ~]# tar zxvf  apache-tomcat-6.0.18.tar.gz
  解压之后拷贝两个tomcat
  创建项目目录为www
  [root@tomcat135 ~]# mkdir -p /web/www
  [root@tomcat135 ~]# cp  -r apache-tomcat-6.0.18 /opt/tomcat1
  [root@tomcat135 ~]# cp  -r apache-tomcat-6.0.18 /opt/tomcat2
  配置tomcat
  [root@tomcat135 ~]# cd /opt/tomcat1/conf/
  tomcat1与tomcat2的配置一样,只有端口不一样。
  [root@tomcat135 conf]# vi server.xml
  在 之间都都要增加
  

  
    
  
  找到
  把8080端口修改成8071
  而tomcat2端口修改成8072
  找到
  修改成不同端口,不然会出错
  启动tomcat1
  [root@tomcat135 tomcat1]# cd /opt/tomcat1/bin/
  [root@tomcat135 bin]# sh startup.sh
  启动tomcat2
  [root@tomcat135 bin]# cd /opt/tomcat2/bin/
  [root@tomcat135 bin]# sh startup.sh
  查看是否启动
  [root@tomcat135 bin]# ps aux | grep tomcat
  avahi     3813  0.0  0.0  23292  1412 ?        Ss   16:58   0:00 avahi-daemon: running [tomcat135.local]
  root      4296  6.7  3.1 846344 65548 pts/1    Sl   17:28   0:08 /opt/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat1/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat1/endorsed -classpath :/opt/tomcat1/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat1 -Dcatalina.home=/opt/tomcat1 -Djava.io.tmpdir=/opt/tomcat1/temp org.apache.catalina.startup.Bootstrap start
  root      4335  156  2.9 917648 61604 pts/1    Sl   17:30   0:07 /opt/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat2/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat2/endorsed -classpath :/opt/tomcat2/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat2 -Dcatalina.home=/opt/tomcat2 -Djava.io.tmpdir=/opt/tomcat2/temp org.apache.catalina.startup.Bootstrap start
  root      4361  0.0  0.0  63460   816 pts/1    S+   17:30   0:00 grep tomcat
  [root@tomcat135 bin]# netstat -tunlp
  tcp        0      0 :::8071                     :::*                        LISTEN      4296/java
  tcp        0      0 :::8072                     :::*                        LISTEN      4386/java
  说明以上启动成功
  4.安装nginx
  安装nginx依赖包
  yum -y install gcc gcc-c++
  下载pcre-7.9.tar.gz
  [root@tomcat135 ~]# tar zxvf pcre-7.9.tar.gz
  [root@tomcat135 ~]# cd pcre-7.9
  [root@tomcat135 pcre-7.9]# ./configure
  [root@tomcat135 pcre-7.9]# make && make install
  安装nginx
  下载nginx-1.2.8.tar.gz
  [root@tomcat135 ~]# tar zxvf nginx-1.2.8.tar.gz
  [root@tomcat135 ~]# cd nginx-1.2.8
  [root@tomcat135 nginx-1.2.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
  [root@tomcat135 nginx-1.2.8]# make && make install
  配置nginx
  [root@tomcat135 nginx-1.2.8]# vi /usr/local/nginx/conf/nginx.conf
  #user  nobody;
  worker_processes  4;  #根据CPU线程来配置相关参数
  error_log  logs/error.log;
  pid        logs/nginx.pid;
  worker_rlimit_nofile 65535;
  events {
  worker_connections  65535;
  }
  http {
  include       mime.types;
  default_type  application/octet-stream;
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;
  sendfile        on;
  tcp_nopush     on;
  keepalive_timeout  150;
  tcp_nodelay on;
  gzip  on;
  gzip_min_length  1k;
  gzip_buffers     4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types       text/plain application/x-javascript text/css application/xml;
  gzip_vary on;
  server_tokens off;
  upstream tomcatweb {
  server 172.19.0.135:8071;
  server 172.19.0.135:8072;
  }
  server{
  listen 80;
  server_name  www.test.com;
  location / {
  root   html;
  index  index.html index.htm;
  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_pass http://tomcatweb;
  }
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
  root   html;
  }
  }
  }
  启动nginx
  [root@tomcat135 nginx-1.2.8]# /usr/local/nginx/sbin/nginx
  [root@tomcat135 nginx-1.2.8]# netstat -tunlp
  tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      10527/nginx
  说明启动成功
  测试是否成功
  在IE浏览器访问http://172.19.0.135/
  在/web/www/下增加
  [root@tomcat135 www]# cat index.html
  11111111111111111111111111成功
  如果能访问到11111111111111111111111111成功
  一切安装好了,你可以把项目上传到/web/www下


运维网声明 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-634465-1-1.html 上篇帖子: nginx负载均衡+keepalive心跳检测 下篇帖子: gerrit 基于docker实现的部署,包括nginx ssl、mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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