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

[经验分享] linux之tomcat+memcache+nginx的服务搭建

[复制链接]

尚未签到

发表于 2018-12-5 06:10:30 | 显示全部楼层 |阅读模式
  

  node1:server1:172.25.44.1   ##配有nginx服务
  node2:server2:172.25.44.2  ##没有nginx服务,与server1做以下的配置
  测试真机:foundation44:172.25.44.250
  实验环境:
  getenforce
  diabled
  iptables off
  

  以下内容先在node1上进行
  ###node1#####
  配置java环境
  tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/
  cd /usr/local/
  ln -s jdk1.7.0_79/ java
  vim /etc/profile

  export JAVA_HOME=/usr/local/java
  export CLA***OOM=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
  export PATH=$PATH:$JAVA_HOME/bin
  source /etc/profile  ##刷新
  vim test.java                   ###建立测试文件
  http://s3.运维网.com/wyfs02/M01/88/5A/wKiom1fxBm_Tjg_RAAAvx929xdU757.png
  public class test {
          public static void main(String[] arge)
          {
                  System.out.println("Hello world")       ;
          }
  
  }
  javac test.java   
  java test  

   测试成功
  
  tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/   ##解压到/usr/local目录下
  cd /usr/local/
  ln -s apache-tomcat-7.0.37/    tomcat  ##建立软连接方便管理
  cd tomcat/webapps/bin
  ./startup.sh
  netstat -antlpe | grep 8080
  http://s1.运维网.com/wyfs02/M01/88/56/wKioL1fxBpnip2rNAAAvD391kGY082.png
  cd tomcat/webapps/ROOT
  vim index.jsp  ##原有网页显示脚本
  vim test.jsp   ##建立测试文件

  页面访问172.25.44.1:8080
  http://s2.运维网.com/wyfs02/M02/88/56/wKioL1fxBsCyX6dFAAV1bDsHEHg171.png
  页面访问172.25.44.1:8080/test.jsp     

  更改配置
  vim /usr/local/lnmp/nginx/conf/nginx.conf
  

              加入语句
                location ~ \.jsp$ {
               proxy_pass   http://172.25.44.1:8080;
            }
  页面就可直接访问172.25.44.1/test.jsp

  负载均衡
  vim /usr/local/lnmp/nginx/conf/nginx.conf
  http {
           upstream westos {
                    server 172.25.44.1:8080;
                    server 172.25.44.2:8080;
           }
  location ~ \.jsp$ {
                   proxy_pass   http://westos;
            }
  
   http://s2.运维网.com/wyfs02/M02/88/56/wKioL1fxB53hXusPAAAfGbeC6ZE616.png
  http://s2.运维网.com/wyfs02/M01/88/56/wKioL1fxB2ug7WUDAAAbK3EMSDA476.png
  

  
  nginx -t   ##检测配置文件语法错误   
  nginx -s reload  ##重新加载
  
  负载均衡:

  Tomcat-1 (T1) 将 session 存储在 memcached-2 (T2)上。只有当 M2 不可用时,T1 才将 session 存储在 memcached-1 上(M1 是 T1 failoverNode)。使用这种配置的好处是,当 T1 和 M1 同时崩溃时也不会丢失 session 会话,避免单点故障。
  以下步骤在 node1 与 node2 上实施:
  配置node1和node2
  node1 172.25.44.1
  node2 172.25.44.2
  Node已经编译过apache和java配置文件
  将已经生成的软连接内的文件远程复制到node2的/usr/local
  cd /usr/local/
  scp -r   java/    tomcat/ 172.25.44.2:/usr/local
  在node2中配置环境变量(与node1相同)
  cd /usr/local/tomcat
  bin/startup.sh   ##开启apache
  两边都安装memceche
  yum install memcache -y
  (1).(由于node1之前已经安装过nginx,此步骤目的是添加新的模块)
  cd nginx-1.10.1
  make clean
  rm -fr nginx-1.10.1
  tar  zxf nginx-1.10.1.tar.gz zxf
  tar zxf nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d.tar.gz
  cd nginx-1.10.1
  加入第三方模块nginx-sticky-module,这个模块可以确保同一个用户的访问请求都被发送到同一个tomcat上处理。
  ./configure --prefix=/usr/local/lnmp/nginx/ --with-http_ssl_module --with-http_stub_status_module --add-module=/mnt/nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d
  make
  make install
  vim /usr/local/lnmp/nginx/conf/nginx.conf

  http {
          upstream westos {
                  sticky;
                  server 172.25.44.1:8080;
                  server 172.25.44.2:8080;
          }
  nginx -t
  nginx -s reolad
  
  #以下为node1和node2都要进行的配置,以node1为例#
  (2).
  把如下软件包放置到/usr/local/tomcat/lib 目录中
  asm-3.2.jar                           
  reflectasm-1.01.jar
  kryo-1.04.jar                        
  memcached-session-manager-tc7-1.6.3.jar  
  spymemcached-2.7.3.jar
  kryo-serializers-0.10.jar            
  minlog-1.2.jar
  memcached-session-manager-1.6.3.jar  
  msm-kryo-serializer-1.6.3.jar
  [root@server2 lib]# ls
  annotations-api.jar  jsp-api.jar                              tomcat-api.jar
  asm-3.2.jar          kryo-1.04.jar                            tomcat-coyote.jar
  catalina-ant.jar     kryo-serializers-0.10.jar                tomcat-dbcp.jar
  catalina-ha.jar      memcached-session-manager-1.6.3.jar      tomcat-i18n-es.jar
  catalina.jar         memcached-session-manager-tc7-1.6.3.jar  tomcat-i18n-fr.jar
  catalina-tribes.jar  minlog-1.2.jar                           tomcat-i18n-ja.jar
  ecj-4.2.1.jar        msm-kryo-serializer-1.6.3.jar            tomcat-jdbc.jar
  el-api.jar           reflectasm-1.01.jar                      tomcat-util.jar
  jasper-el.jar        servlet-api.jar
  jasper.jar           spymemcached-2.7.3.jar
  
  (3).yum install memcached -y
  /etc/init.d/memcached start
  (4).vim /usr/local/tomcat/conf/content.xml
  加入如下内容

        ##将信息存储在n2上,当n2出现问题时,就会转存到n1中
  退出保存
  重新开启tomcat
  bin/startup.sh
  tail -f logs/catalina.out    ##可查看更新后的配置后的信息

  INFO: MemcachedSessionService finished initialization, sticky true, operation timeout 1000, with node ids [n2] and failover node ids [n1]   ##证明配置成功
  (5).
  建立测试页面文件
  vim /usrlocal/tomcat/webapps/ROOT/test.jsp
  添加如下内容:
  
  
  Cluster App Test
  
  Server Info:
  
   0) {
  String dataValue = request.getParameter("dataValue");
  session.setAttribute(dataName, dataValue);
  }
  out.print("Session list");
  Enumeration e = session.getAttributeNames();
  while (e.hasMoreElements()) {
  String name = (String)e.nextElement();
  String value = session.getAttribute(name).toString();
  out.println( name + " = " + value+"");
  System.out.println( name + " = " + value);
  }
  %>
  
  name:
  
  key:
  
  
  
  
  
  (6).用页面访问172.25.44.1/test.jsp

  通过建立不同的用户信息来检测存储情况
  例如
  此时服务node1正常运行,所存储的信息保存在n2上,
  http://s2.运维网.com/wyfs02/M01/88/5A/wKiom1fxCFPiAsL0AAAn9aaf8Gw018.png
  在真机上测试安装telnet
  Telnet 172.25.44.1 11211

  信息并没存储在node1上
  telnet 172.25.44.2 11211

  用户信息都在n2上存储
  当node1和n1同时坏掉,
  所以即使T1和n1同时down掉,信息也不回丢失。
  





运维网声明 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-643335-1-1.html 上篇帖子: myeclipse设置tomcat启动方式 下篇帖子: tomcat下使用DevLoader,引入共通工程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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