nginx负载均衡初探

来源:互联网 发布:南通东华软件 编辑:程序博客网 时间:2024/06/04 01:01

很久没写了,比较忙,最近由于工作需要又拾起了以前的东西,复习了下,简单给大家分享下也当做个笔记以后需要的时候用

背景就不说了,负载均衡,为了支持高并发下的访问

我这里用的比较原始的tomcat+nginx来演示这个小demo

首先下载个tomcat,copy一份,分别命名1和2

就这样吧

然后下载个nginx,这里给出一个傻瓜安装方式

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install nginx
好了,nginx安装完了,目前该有的东西都有了,下面我们进行一些修改,首先进行tomcat的修改,找到conf中的server.xml文件


修改3个端口,我这里改成10316了,之后进入webapps/ROOT的index.jsp 这是tomcat的主页,这里随便修改个东西 让你能知道这是tomcat1就行,比如我就加了一行

<p>server1-nginxtest</p>
到此为止tomcat1的都修改完了,同样对tomcat2进行一样的修改,之后启动tomcat,可以看到

红框是我改的,到此tomcat改完了,我们进行nginx的修改

nginx的运行目录是:/usr/local/Cellar/nginx/1.12.1/bin

nginx的配置目录是:/usr/local/etc/nginx/nginx.conf

我们先修改nginx.conf,修改内容如下

首先增加一个我们要代理到哪个ip,就是两个tomcat了,然后监听8080端口,之后把localhost:8080的访问分配给两个tomcat,权重是1:2

到此所有准备结束了,启动两个tomcat,在启动nginx,访问localhost:8080,此时我们可以看到两个server不停的被切换,实现了负载均衡,同样其实我们也就是对它进行了反向代理

这里负载均衡策略我使用的权重,其实还可以通过hash或者轮询等,这里就不多做解释了,下面在给出一些ngxin的命令

sudo ./nginxsudo ./nginx -tsudo ./nginx -s reloadsudo kill -QUIT 进程号
分别是启动ngxin,查看配置文件是否正确,重启ngxin以及kill
以上就是最简单的负载均衡,如果有什么说的不对的请帮忙指正,感谢