当前位置: 首页 > news >正文

nginx负载均衡实现tomcat集群

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 
一,安装Nginx

Nginx官网:http://nginx.org/
下载最新稳定版本。在安装Nginx之前,需要先安装gcc、 openssl、 pcre和zlib软件库。

1.1安装gcc、gcc-c++
安装命令:
#sudo yum install gcc
# sudo yum install gcc-c++

1.2安装openssl
openssl官网:http://www.openssl.org/
安装版本:openssl-1.0.1i.tar.gz
安装命令:
#cd /usr/local/src
#wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
#tar -zxvf openssl-1.0.1c.tar.gz
#cd openssl-1.0.1c
#sudo ./config --prefix=/usr/local/openssl-1.0.1c    #prefix指定安装目录
#sudo make
#sudo make install

【注意】:此处使用的是config命令,而不是平常的configure命令
安装完成后,到/usr/local/下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

1.3安装pcre
pcre官网:http://www.pcre.org/
安装版本:pcre-8.35.tar.gz
安装命令:

#wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
#tar -zxvf pcre-8.21.tar.gz pcre-8.35.tar.gz
#cd pcre-8.21
#sudo ./configure --prefix=/usr/local/pcre-8.21    #prefix指定安装目录
#sudo make
#sudo make install

【注意】:如果没有安装c++编译器,这个软件的安装会报错!
安装完成后,到/usr/local/下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

1.4安装zlib

zlib官网:http://www.zlib.net/
安装版本:zlib-1.2.8.tar.gz
安装命令:
#wget http://zlib.net/zlib-1.2.8.tar.gz
#tar -zxvf zlib-1.2.8.tar.gz
#cd zlib-1.2.8
#sudo ./configure --prefix=/usr/local/zlib-1.2.8    #prefix指定安装目录
#sudo make
#sudo make install

安装完成后,到/usr/local/下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

1.5安装Nginx

安装版本:nginx-1.6.1.tar.gz(下载后传入)
安装命令:

#tar -zxvf nginx-1.6.1.tar.gz
#cd nginx-1.6.1
#sudo ./configure
--prefix=/usr/local/nginx-1.6.1                #prefix指定安装目录
--with-openssl=/home/zht/src/openssl-1.0.1i    #指的是openssl源码路径
--with-pcre=/home/zht/src/pcre-8.3.5          #指的是pcre的源码路径
--with-zlib=/home/zht/src/zlib-1.2.8           #指的是zlib 的源码路径
--with-http_ssl_module
#sudo make (需要是源码路径,不是安装路径)
#make install

安装完成后,到/usr/local/下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

启动:/usr/local/nginx/sbin/nginx
关闭:/usr/local/nginx/sbin/nginx  -s stop
重启 nginx 服务:/usr/nginx/sbin/nginx -s reload

测试:启动nginx服务,(注意防火墙端口80需要开启)
访问http://192.168.*.*/
测试成功:如下图


 二、memcached安装
Memcached官网:http://memcached.org/

安装memcached需要先安装libevent,libevent官网:http://libevent.org/

本次安装版本:

memcached-1.4.20.tar.gz

libevent-2.0.21-stable.tar.gz

2.1安装livevent

查看是否已安装:# rpm qa | grep libevent
如果已安装且版本低于1.3,则先通过:
# rpm -e libevent --nodeps 进行卸载。

# tar zxvf libevent-2.0.21-stable.tar.gz
# cd libevent-2.0.21-stable
# sudo ./configure --prefix=/usr/local/libevent-2.0.21-stable      #prefix指定安装路径
# sudo make
# sudo make install

安装完成后,到prefix指定的目录下,看看是否存在libevent-2.0.21-stable目录

2.2安装Memcached

# tar zxvf memcached-1.4.20.tar.gz
# cd memcached-1.4.20
# sudo ./configure
--prefix=/usr/local/memcached-1.4.20
--with-libevent=/usr/local/libevent-2.0.21-stable
# sudo make
# sudo make install

2.2.1检查看装情况
安装完成后,到prefix指定的目录下查看是否有memcached-1.4.20目录

2.2.2查看memcached和libevent版本信息

首先定位到Memcached的bin目录下:
# cd /usr/local/memcached-1.4.20/bin
执行命令:
# sudo ./memcached -i

2.2.3启动memcached

# sudo ./memcached -d -v -p 12000 -m 512 -u zht
解释:-d表示以守护进程方式运行memcached;-v表示输出浸膏和错误信息;-p指定监听的端口号;-m指定能使用的最大内存,单位MB;-u指定运行memcached的账户,非root用户。

使用# ps -ef | grep memcached查看进程。
注:
(1)_在%tomcat%/conf/context.xml  
<Manager
        className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:192.168.6.58:11211"
        sticky="false"
        lockingMode="auto"
        sessionBackupAsync="false"
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
        sessionBackupTimeout="1800000"
        transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
    />
(2)_在%tomcat%/conf/server.xml
<Host name="localhost"  appBase="/usr/local/programs"(webapp部署的目录)
            unpackWARs="true" autoDeploy="true">
(3)_所需lib,建议用 tomcat 7,tomcat 8 没测试通过


(4)_注意防火墙端口的打开,11211
memcached测试连接成功,如下图:

所需lib下载链接:http://git.oschina.net/LjxOS/memcached_tomcat_jar

转载于:https://my.oschina.net/LinJunXin/blog/635520

相关文章:

  • LeetCode-187. Repeated DNA Sequences
  • 有趣的玩意儿
  • 【直播回顾】21天搭建推荐系统:帮你减少90%代码量
  • 最少换乘 之简化版
  • Nginx(四):LNMMP架构实现Web动静分离
  • JNI 调用,C++ invoke C# dll return to java(见git代码)
  • [1204 寻找子串位置] 解题报告
  • PostgreSQL Analyze分区表:主表与子表的统计信息问题
  • UI初级 Label
  • 深入理解C++中的explicitkeyword
  • 触发JVM进行Full GC的情况及应对策略
  • JQuery ajax方法及参数
  • PHPCMS V9模板制作
  • C++ 继承多态
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • 【Leetcode】101. 对称二叉树
  • Angular 响应式表单 基础例子
  • Fundebug计费标准解释:事件数是如何定义的?
  • HTML5新特性总结
  • in typeof instanceof ===这些运算符有什么作用
  • Java-详解HashMap
  • Mac转Windows的拯救指南
  • MQ框架的比较
  • ng6--错误信息小结(持续更新)
  • python学习笔记-类对象的信息
  • React系列之 Redux 架构模式
  • windows下mongoDB的环境配置
  • 当SetTimeout遇到了字符串
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 缓存与缓冲
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 如何进阶一名有竞争力的程序员?
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 通信类
  • 微信公众号开发小记——5.python微信红包
  • 源码安装memcached和php memcache扩展
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • #HarmonyOS:Web组件的使用
  • #微信小程序:微信小程序常见的配置传旨
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (差分)胡桃爱原石
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (三十五)大数据实战——Superset可视化平台搭建
  • (五)IO流之ByteArrayInput/OutputStream
  • ***检测工具之RKHunter AIDE
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET Project Open Day(2011.11.13)
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .net6使用Sejil可视化日志
  • .net下简单快捷的数值高低位切换
  • .NET与java的MVC模式(2):struts2核心工作流程与原理