nginx反向代理,负载均衡

昨晚家里的win电脑被占用了囧,所以写不了,今天用mac补全昨天晚上的反向代理及负载均衡.(PS:win和mac统一了运行环境为linux后简直舒服的一匹)

mac上我用的VM_Ware运行的虚拟机,这里虚拟机什么的配置我就不说了,如果有需要可以看我上篇blog;

反向代理是将nginx接收到的服务转发到我们真正的应用服务器,即tomcat,所以这里需要对nginx.conf进行进一步配置.

由于我尝试sublime text3 的sftp插件服务没有成功,这里不再纠结,直接使用filezlla 用文件上传下拉的方式配置.

1.安装javaJDK

由于tomcat启动需要java jdk的支持,所以这里首先配置jdk.

nginx反向代理,负载均衡_第1张图片

这里我直接贴一个网上的教程,自己照着敲即可,注意tomcat运行需要jre环境,所以第四部一定要执行
nginx反向代理,负载均衡_第2张图片

最后在命令行中执行java,如果能够生效即安装成功.
nginx反向代理,负载均衡_第3张图片

2.安装tomcat

tomcat的安装简直无脑
同样,把tomcat压缩包上传到服务器.我这里选择放在tmp文件夹下解压,拷贝一份,然后重命名什么的,生成两个tomcat服务器,如下图


nginx反向代理,负载均衡_第4张图片

jda,jdb分别对应的是两个域名访问服务器地址


nginx反向代理,负载均衡_第5张图片

为了稍先区别,我们修改jdb的端口为8081
nginx反向代理,负载均衡_第6张图片

直接输入/port查找到8080,然后i 改为8081,然后esc,:wq退出
nginx反向代理,负载均衡_第7张图片

为了让页面上有所区别,我们进入jdb服务器下的./webapps/ROOT/index.jsp,找到h1的标签增加点内容


nginx反向代理,负载均衡_第8张图片


jda服务器的页面也可以稍作修改
然后启动两个服务器,执行服务器下的bin/startup.sh


nginx反向代理,负载均衡_第9张图片

nginx反向代理,负载均衡_第10张图片

这时候开始配置nginx,编辑nginx/conf/nginx.conf
nginx反向代理,负载均衡_第11张图片

然后重新加载nginx -s reload

这时候再访问


nginx反向代理,负载均衡_第12张图片

nginx反向代理,负载均衡_第13张图片

这样就完成用域名区分主机加nginx反向代理服务器的功能了
(不过,代理的配置还是很多的参数,我这里只是抛砖,后续还有很多功能,等我有时间再去实现)

负载均衡

负载均衡即多台服务器同事运行同一项目,配置起来没有很负载,这里简单配置一下.
将刚刚的jdb服务器拷贝一份到同目录下,端口改为8082



nginx反向代理,负载均衡_第14张图片

为了体现负载均衡的特点我们稍微修改一下jdb1的index.jsp页面



然后启动这个服务器
nginx反向代理,负载均衡_第15张图片

然后重新编辑nginx.conf


对的,你没看错

负载均衡就是这么简单! 然后重新加载nginx -s reload什么的,然后重复刷新页面:


nginx反向代理,负载均衡_第16张图片

nginx反向代理,负载均衡_第17张图片

因为我们两个服务器权重相同,所以你可以看到,nginx是平均分配两个服务器的

负载均衡就这样配完了!!!!

附加一个:如果我们第二台服务器比第一台好,想让第二台多分担点任务,我们可以设置一下权重:



重新加载
这样刷新的时候就会看到第二个服务器提供的服务次数应该是第一台的两倍

当然,不要觉得nginx很简单,万一nginx挂了呢?我们所有的服务器都不能用了怎么办,这时候就要考虑nginx的高可用了,具体可上网百度
nginx+keepAlived,不过一般这是运维的事情.
而且,由于是服务器集群,我们还需要解决session同步的问题,这个以后再探讨吧,nginx还有一些细化的配置,也归到以后去.

你可能感兴趣的:(nginx反向代理,负载均衡)