一步一步配置nginx+tomcat实现负载均衡(图文)

  1. 在配置之前需要先安装jdk1.8及以上版本,详情:https://blog.csdn.net/tanlei_accp/article/details/89708128
  2. 安装nginx,详情:https://blog.csdn.net/tanlei_accp/article/details/89638612
  3. 安装tomcat,详情:https://blog.csdn.net/tanlei_accp/article/details/89710389
  4. 退回到/usr/local目录下,将tomcat目录重命名为tomcat1,mv tomcat tomcat1
  5. 复制tomcat1,将tomcat1复制成tomcat2,cp -r tomcat1 tomcat2,复制完毕后local目录的内容如下
  6. 分别修改tomcat1和tomcat2 端口,这里有三个端口需要修改,分别如下:   
    a、shutdown 端口:8005  主要负责启动关闭.  
    b、ajp端口:8009 主要负责通过ajp均衡(常用于apache和tomcat整合) 
    c、http端口:8080 可以通过web页面直接访问(nginx+tomcata整合)   
  7. 如果tomcat1三个端口分别为:8005 8009 8080 ,那么tomcat2端口在此基础上都+1,即为:8006 8010 8081。一台服务器同时运行的程序端口不能重复,否则就会报错。   
  8. 进入tomcat2的conf目录下,使用vi编辑器编辑server.xml,将shutdown端口改为8006,ajp端口改为8010,http端口改为8081,如下图:


  9. 编辑完毕后保存,然后分别进入两个tomcat目录的bin目录下执行./startup.sh命令启动tomcat,启动后即可在浏览器当中查看运行效果。如下图:
    8081端口的tomcat

    8080端口的tomcat:
  10. 设置tomcat的发布目录,发布目录可以不在tomcat的自身目录下。
    在tomcat1的server.xml文件的最后</host>前增加如下内容:
    <Context  path="" docBase="/usr/webapps/www1" reloadable="false"/>
    在tomcat2的server.xml文件的最后增加如下内容:
    <Context  path="" docBase="/usr/webapps/www2" reloadable="false"/>
    然后分别创建对应的目录,注意。如果要想生效还需要将原先的发布目录(webapps)清空并重启 tomcat服务
    注:一般在企业环境当中多个tomcat是对应一个发布目录的,例如:/data/webapps/www/
    在这里我们只是做演示,为了看到效果因此两个tomcat设置了两个发布目录并且内容不同。
  11. 在/usr/webapps/www1下创建index.jsp文件内容如下:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>www1 page</title>
    </head>
    <body>
    Hello World!this is www1 index.jsp page<br/>
    <%
    out.println("你的 IP 地址 " + request.getRemoteAddr());
    %>
    </body>
    </html>
  12. 在/usr/webapps/www2下创建index.jsp文件,内容如下:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>www2 page</title>
    </head>
    <body>
    Hello World!this is www2 index.jsp page<br/>
    <%
    out.println("你的 IP 地址 " + request.getRemoteAddr());
    %>
    </body>
    </html>
  13. 重启tomcat服务:
    a、进入tomcat的bin目录下执行./shutdown.sh 然后再执行./startup.sh 
  14. 启动浏览器输入网址查看效果:

  15. nginx+tomcat整合,主要是修改nginx.conf配置。内容如下:
    在http节点当中增加如下代码:
    upstream webapp { 
           server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
           server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;  
    }
    #localhost
    server {
        listen 80;
        server_name localhost;
        location / {
            proxy_pass http://webapp;  #此处要与上面的webapp的名称一致
            index index.jsp;
        }
    }
  16. 保存退出后通过运行sbin目录下的./nginx -t命令查看配置是否正确,如果末尾出现 is successful则表示配置成功
  17. 启动nginx服务
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  18. 或者重启nginx服务 ./nginx -s reload
  19. 在浏览器当中输入ip访问地址,可以看到每刷新一次就会访问不同的tomcat服务器。从而达到负载均衡。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值