• CentOS 下 Nginx + Tomcat 配置负载均衡之一


    前言

    为什么要做负载均衡?

    当你网站是一个企业站、个人博客的时候,或者访问量比较小的时候,一台服务器完全应付的了,那就完全没必要做负载均衡。但是,如果你的网站是平台级别,用户至少百万级别了,一台服务器明显撑不住了,那就要考虑多台服务器,这个时候每个服务器分配多少用户,负载均衡是最好的解决方式。举个大的不是很恰当的栗子:淘宝网。

    对于互联网服务,负载平衡器通常是一个软体程序,这个程序侦听一个外部端口,互联网用户可以通过这个端口来访问服务,而作为负载平衡器的软体会将用户的请求转发给后台内网服务器,内网服务器将请求的响应返回给负载平衡器,负载平衡器再将响应发送到用户,这样就向互联网用户隐藏了内网结构,阻止了用户直接访问后台(内网)服务器,使得服务器更加安全,可以阻止对核心网络栈和运行在其它端口服务的攻击。

    当所有后台服务器出现故障时,有些负载平衡器会提供一些特殊的功能来处理这种情况。例如转发请求到一个备用的负载平衡器、显示一条关于服务中断的消息等。负载平衡器使得IT团队可以显著提高容错能力。它可以自动提供大量的容量以处理任何应用程序流量的增加或减少。(摘自维基百科)



    怎么做?

    这里我们用 Nginx 做负载均衡,nginx 是一款面向性能设计的 HTTP ,稳定性高的反向代理服务器,可以做负载均衡和 HTTP缓存。

    具体操作?

    1. 安装nginx

    参考:https://blog.csdn.net/u014225733/article/details/81011892

    2. 安装tomcat

    参考:https://mp.csdn.net/postedit/81015059

    3. 复制两份tomcat解压包

    [root@bogon software]# mv apache-tomcat-8.5.32 tomcat1
    [root@bogon software]# cp -r tomcat1 tomcat2
    

    4. 修改tomcat2的默认端口(三处),和tomcat1区别开

        参考:https://blog.csdn.net/kzdwts/article/details/79368188

    [root@bogon ~]# cd /software/tomcat2/conf/
    [root@bogon conf]# vi server.xml 

    将8080改为8081

    将8005改为9005

    将8009改为9009



    5. 修改tomcat1和tomcat2的默认欢迎页(待会nginx路由到相应的tomcat服务器上时可以从页面上直接看出来)

    [root@bogon ~]# cd /software/tomcat2/conf/
    [root@bogon conf]# vi web.xml 


    [root@bogon ~]# cd /software/tomcat1/conf/
    [root@bogon conf]# vi web.xml 


    分别在tomcat1和tomcat2 的webapp目录下新建对应欢迎页myIndex1.html,myIndex2.html

    [root@bogon ROOT]# cd /software/tomcat1/webapps/ROOT/
    [root@bogon ROOT]# touch myIndex1.html 
    [root@bogon ROOT]# echo 'the index page of tomcat111111111111111111111' > myIndex1.html 
    [root@bogon ROOT]# cd /software/tomcat2/webapps/ROOT/
    [root@bogon ROOT]# touch myIndex2.html 
    [root@bogon ROOT]# echo 'the index page of tomcat222222222222222222222' > myIndex2.html

    重新分别启动两个tomcat实例

    [root@bogon tomcat2]# ./bin/startup.sh
    [root@bogon tomcat1]# ./bin/startup.sh

    查看启动状态可以看到两个tomcat都正常启动了


    访问浏览器可以看到都能正常访问到其修改后的欢迎页面



    5. 修改nginx配置文件 nginx.conf

    [root@bogon tomcat2]# vi /usr/local/nginx/conf/nginx.conf
        upstream myTomcatServer {
            server localhost:8080;
            server localhost:8081;
        }
    
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   html;
                index  index.html index.htm;
                proxy_pass http://myTomcatServer;
            }

    6. 使配置文件生效

    [root@bogon tomcat2]# cd /usr/local/nginx/
    [root@bogon nginx]# ./sbin/nginx -s reload


    7. 访问浏览器(默认端口80或者省略不写)

    可以看到会交替访问到tomcat1和tomcat2上,这就是最简单的负载均衡配置!大笑



    8. nginx也支持通过配置下游服务器的权重来处理不同量的用户请求

    如下所示:

    upstream myTomcatServer {
            server localhost:8080 weight=1;
            server localhost:8081 weight=3;
        }
    
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   html;
                index  index.html index.htm;
                proxy_pass http://myTomcatServer;
            }

    来各复杂的栗子吧?

    重启一篇,在这里



  • 相关阅读:
    创建自定义 AJAX 客户端控件(msdn)
    使用jquery的blockui插件显示弹出层
    Sql Server高手必备
    Js获取当前日期时间及其它操作
    在VS2010中创建自定义的代码段
    存储过程分页
    完美辨析各种高度区别
    程序员必备的正则表达式
    Sql日期格式化
    C#调用Quartz实例代码
  • 原文地址:https://www.cnblogs.com/codestarer/p/13635571.html
Copyright © 2020-2023  润新知