liunx 利用nginx 实现负载均衡
一般采用软件实现负载均衡的有Nginx、apache。nginx 近年来使用频繁,其官网上面显示可以承载5万并发访问量,太牛了。
nginx 相比 apache优势明显:Nginx 服务程序比较稳定,原因是采用了的资源分配技术,降低了CPU 与内存的占用率,
所以使用Nginx 程序部署的动态网站环境不仅十分稳定、高效,而且消耗的系统资源也很少。
利用nginx实现负载均衡,只需要一个nginx+2个tomcat。
第一步:安装nginx
liunx上面安装nginx较windows麻烦,依赖openssl、zlib、pcre库。
openssl库 下载地址:http://www.openssl.org/
zlib库,下载地址:http://www.zlib.net/ 我下载的是 zlib-1.2.9.tar.gz
pcre库,下载地址:http://www.pcre.org/ 我下载的是 pcre-8.40.tar.gz
将 这三个压缩文件解压到usr/local 目录下 进行安装,安装比较简单,基本操作就是 解压tar ,./configure , make ,make install。
在安装pcre-8.40 时候 如果出现这样的错误
configure: error: You need a C++ compiler for C++ support
要首先安装gcc-c++
yum install -y gcc gcc-c++
安装 完毕后,开始安装nginx。
在/usr/local目录下解压 nginx-1.10.3.tar.gz
tar -zxvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/sbin/nginx.pid --with-http_ssl_module --with-pcre=../pcre-8.40 --with-zlib=../zlib-1.2.9
可能会报错

安装
yum -y install openssl openssl-devel
重新编译
make
make install
安装完毕,检查安装是否成功
/usr/local/nginx/sbin/nginx -t
截图如下

第二步:修改配置文件
为了搭建负载均衡环境,需要修改nginx的配置文件
切到/usr/local/nginx-1.10.3/conf 目录下
vi nginx.conf
添加一些内容

修改完毕,暂且不启动
第三步:安装tomcat
安装两个tomcat,同一安装在/usr/local/tomcat下面,将其中一个tomcat的server.xml中的tomcat端口号换为8081。
这样两个tomcat端口号一个为8080另一个为8081.端口号无所谓,只需要这两个tomcat能够正常启动。
启动三个软件,启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看启动情况
netstat -anp | grep :80
截图如下

启动两个tomcat
第四步:检测结果
便于看着效果,我将其中一个tomcat下面的root中的index.jsp 加了一个“你好“。
检测最后效果在浏览器中打开自己服务器的ip
打开其种一个tomcat 8080

打开另一个tomcat 8081

最后请求nginx,看看能不能两个tomcat之间来回切换

这个是启动了8080 tomcat,再次刷新浏览器

这次启动了8081tomcat,表明负载均衡搭建成功。
liunx 利用nginx 实现负载均衡的更多相关文章
- 若依项目利用nginx实现负载均衡及保持会话
记录一下若依项目利用nginx实现负载均衡及保持会话的步骤. 此次作为试验性的测试,为了方便在本地window的环境上实现. 具体步骤: 1.安装两个tomcat8,可以下载一个后,另一个复制即可,下 ...
- Linux下利用nginx实现负载均衡
linux下利用nginx实现负载均衡 前提条件: 1,安装好jdk 2,安装好tomcat和nginx(可以参考我前两篇文章) 满足前提条件后,要用nginx实现负载均衡,主要是靠配置nginx的配 ...
- [转帖]利用nginx实现负载均衡 | 哈希算法,sticky模块实现session粘滞
利用nginx实现负载均衡 | 哈希算法,sticky模块实现session粘滞 2018年08月02日 10:06:03 Minza 阅读数 483 https://blog.csdn.net/ha ...
- 如何利用nginx实现负载均衡(总结)
如何利用nginx实现负载均衡(总结) 一.总结 一句话总结: 推荐使用nginx七层(应用层)负载均衡的实现:配置那是相当的简单 1.nginx配置实例? |||-begin #这里的域名要和下面p ...
- 利用nginx实现负载均衡和动静分离
1.Nginx介绍 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 . Nginx 是由 ...
- 利用Nginx构建负载均衡server
大家都知道.一个域名相应一个IP地址,而一个WebSite则相应一个IP地址上相应port服务的应用程序(或位置).而大型站点的并发訪问量很大,这些站点是怎样在一台Webserver上实现负载均衡的呢 ...
- 利用nginx实现负载均衡
1.安装nginx和tomcat 我这里是使用docker安装的.安装流程可参照 dockerfile 这里安装了两个tomcat,端口分别是42000和42001.第二个tomcat的首页随便加了些 ...
- 利用nginx做负载均衡
round-robin:轮询.以轮询方式将请求分配到不同服务器上,默认 least-connected:最少连接数.将下一个请求分配到连接数最少的那台服务器上 ip-hash :基于客户端的IP地址. ...
- windows平台下利用Nginx做负载均衡
1.下载nginx(http://nginx.org/en/download.html)安装包,解压,并使用cmd命令转到nginx.exe所在的目录 2.执行cmd命令start nginx启动ng ...
随机推荐
- vs2013 配置支持https的libcurl
需求:在vs2013上配置支持https协议的libcurl. 环境:win7(64位),vs2013 一.安装openssl: 需要先安装nasm和ActivePerl. nasm需要手动配置环境变 ...
- AOSP android 源码下载
(1)下载 repo 工具 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/re ...
- [译]kendoui - 方法和事件
原文 为了使用方法和事件,首先要获取到widget实例. 获取widget 一共有3种获取widget的方式. jQuery的data方法 将widget的名作为参数传给jQuery的data方法.( ...
- luogu 2048 超级钢琴 贪心+堆+RMQ
此题求长度在l,r,之间内的区间的前k大之和 1.静态区间第k大,不就是主席树么! 可是不会写啊,以后填坑吧 2.优先队列 固定左端点,选取以此为起点的长度l<=x<=r的区间,固定此范围 ...
- (13)UniquePathIII
一.问题描述 给定一个二维数组. 数组只有一个元素是1,是起点 数组只有一个元素是2,是终点 数组中的0是必须经过的地方 数组中的-1是障碍不可通过 从起始点到终点一共有多少路径? 二.思路 DFS ...
- oracle 问题查找 error ora-
Error ORA-03113: 通信通道的文件结尾进程 ID: 2232会话 ID: 1250 序列号: 这是oracle 报的错误, 可能这个03113这个编码的错误有很多. 但是要找到是什么原因 ...
- vs 调式连接oracle报错问题32,64位问题
wind8 系统选择项目时生成目标平台选择为X86 报错“System.Exception”类型的未经处理的异常在 WindowsFormsApplication1.exe 中发生 其他信息: 尝试加 ...
- Oracle DbHelper
wind8 系统选择项目时生成目标平台选择为X86 报错 “System.Exception”类型的未经处理的异常在 WindowsFormsApplication1.exe 中发生 其他信息: 尝试 ...
- cookie, session, token 是什么 以及相应的安全考量
Cookie cookie 最常见的是用来保存一些账号信息,比如下图里的 记住账号 就是记录到了cookie里面 cookie 更主要的是针对和server通信的,我们知道http 是无状态的,那如果 ...
- for..of和for..in和map、filter等循环区别
1.for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值. for in遍历比较适合遍历对象,不太适合数组,有可能遍历出来的不按照顺序 遍历数组 ,,,,,] for (var ...