192.168.3.87  mysql+redis+tomcat

192.168.3.112 nginx:6688
192.168.3.86  nginx+h5

环境准备

a.安装包 
open jdk 1.8
tomcat 8.0
nginx 1.1.13.tar.gz
mysql5.5.48.tar.gz

b.解析域名admin.chinasoft.com和ops.chinasoft.com到nginx负载均衡服务器

①后端3.87和3.112jdk的部署
yum install -y java-1.8.0-openjdk
yum install -y redis

验证是否安装成功

java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode

②tomcat的部署
tar -zxvf apache-tomcat-8.0.36.tar.gz 
mv apache-tomcat-8.0.36 /usr/local/tomcat

将tomcat的命令加入环境变量中
# vim /etc/profile.d/tomcat.sh

export CATALINA_HOME=/usr/local/tomcat  
export PATH=$CATALINA_HOME/bin:$PATH

source /etc/profile.d/tomcat.sh

修改http的web端口为8888
vim /usr/local/tomcat/conf/server.xml

<Connector port="8888" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

启动服务并验证是否正常启动
startup.sh
ss -tunlp|grep 8888

③将war包放入webapps目录下,重新启动tomcat,验证是否成功,错误日志可以查看catalina.out文件

将域名解析指向nginx负载均衡器:192.168.8.86 admin.chinasoft.com

配置nginx负载均衡器

将具体的定义防止到/etc/nginx/conf文件目下
在nginx.conf中定义目录包含:

include /etc/nginx/conf/*.conf;


在conf目录下分别定义后端服务器,nginx中h5和zabbix等内部管理系统的定义

cat h5.conf

server {
    access_log /data/logs/h5_acc.log;   #访问日志
    error_log /data/logs/h5_error.log info; #错误日志
    server_name localhost; #因为是放置在本机,所以直接用Localhost
    root /web/h5; #自定义存放web文件目录
}

cat flow_admin.conf

# 定义后端负载均衡的两台机器
upstream flows {
    server 192.168.3.87:8888 weight=1;
    server 192.168.3.112:6688 weight=1;
}
server {
    server_name   admin.chinasoft.com;   #定义servername即指向nginx的域名
    access_log /data/logs/flowadm_acc.log;
    error_log /data/logs/flowadm_error.log info;

location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass  http://flows/;
    }

}

负载均衡效果:

cat ops.conf

# 定义zabbix等内部服务
server {
    server_name   ops.chinasoft.com;

location /zabbix/ {
        proxy_set_header Host $host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass  http://192.168.3.108/zabbix/;
    }

}

几段生产环境的例子:

ops.conf

server{server_name ss.chinasoft.com;index index.html index.htm index.php;#zabbix server access by nginx proxylocation /zabbix/ {proxy_pass http://u04zbx01.yaya.corp/zabbix/;}location /ldap/ {proxy_pass http://u04dns01.yaya.corp/ldap/;
}
}

flow.conf

    server {server_name   flowadm.chinasoft.com;access_log  /data/logs/flowadm_access.log;error_log  /data/logs/flowadm_error.log  info;location / {proxy_set_header Host $host;proxy_set_header X-Real-Ip $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;#proxy_pass  http://flows_admin;proxy_pass  http://u04flow01.yaya.corp:8888/;}
}

h5.conf

upstream flows {server u04flow01.yaya.corp:8080;server u04flow02.yaya.corp:8080;
}server {server_name   flow.chinasoft.com;error_log  /data/logs/flow_h5.log  info;access_log /data/logs/flow_h5.log;location /h5/flow/{alias  /data/h5/flow/;index  index.html;}location /sdkApi/{proxy_set_header Host $host;proxy_set_header X-Real-Ip $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;#proxy_pass  http://u04flow01.yaya.corp:8080/; proxy_pass  http://flows;}#error_page  404              /404.html;}

web.conf

server {server_name   1.1.1.1;server_name   www.baidu.com www.aaa.comerror_log  /data/logs/web-acccess.log  info;access_log /data/logs/web-error.log;location /{alias /home/hailitao/;   #这里为代码存放路径index  views/index/index.html;}location /api/{proxy_set_header Host $host;proxy_set_header X-Real-Ip $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;proxy_pass  http://192.168.3.85:9783/;   #这里为服务端所部署的地址}
}

share.conf

upstream bills {server u04tv01.chinasoft.com:6643;server u04tv02.chinasoft.com:6643;
}server {server_name  fx.chinasoft.com;error_log  /data/logs/share_error.log  info;access_log /data/logs/share_access.log;location /{alias /data/haili_share/;index room.html;}location /hailishare/{# proxy_set_header Host $host;  # proxy_set_header X-Real-Ip $remote_addr;  # proxy_set_header X-Forwarded-For $remote_addr;  proxy_pass  http://bills/;}
}

转载于:https://www.cnblogs.com/reblue520/p/6239745.html

nginx实现tomcat的负载均衡及企业内部应用的代理相关推荐

  1. NGINX基于Tomcat配置负载均衡

    NGINX基于Tomcat配置负载均衡 本部署指南说明了如何使用NGINX开源和NGINX Plus在Apache Tomcat TM应用程序服务器池之间平衡HTTP和HTTPS流量.本指南中的详细说 ...

  2. centos7安装tomcat_手把手教你,使用 Nginx 搭配 Tomcat 实现负载均衡!

    来自公众号:Java极客技术 说到 Nginx ,相信大家都不会陌生,最常用的莫过于:用它来与 Tomcat 搭配做负载均衡,起到灰度发布的作用,同时保证系统高可用! 01.简介 Nginx(发音同 ...

  3. nginx+keepalived+tomcat+memcache负载均衡搭建小集群

    最近一段时间一直在研究高可用高并发负载均衡分布式集群等技术,先前发布了lvs基于网络第四次协议搭建的小集群,现在用空刚好搭建了一个基于nginx搭建的小集群. 我准备了四台机器,情况如下 机器名称 机 ...

  4. Nginx+MSM+Tomcat做负载均衡,session共享

    2019独角兽企业重金招聘Python工程师标准>>> 先上个架构图(个人理解是这个样子) 简单来说:服务器A上面部署一个Nginx反向代理服务器,MSM用于session共享,To ...

  5. nginx+tomcat+memcached负载均衡

    2019独角兽企业重金招聘Python工程师标准>>> nginx+tomcat+memcached负载均衡 负载均衡: 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服 ...

  6. nginx或httpd实现负载均衡tomcat(三)

    接博客nginx或httpd实现反向代理tomcat并实现会话保持(二) 实例四:使用httpd负载均衡后端tomcat服务 第一步:准备两个tomcat服务器节172.16.240.203 修改to ...

  7. nginx+tomcat的负载均衡

    nginx+tomcat的负载均衡 一. Nginx的安装配置 1. Nginx服务器端 Nginx服务器的IP:192.168.5.108 Tomcat01的IP:   192.168.5.102 ...

  8. nginx+tomcat实现负载均衡集群

    一台tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下 所以需要一套可靠的解决方案来完善web站点架构 而Nginx只能访问静态页面,如果需要动态需要 ...

  9. nginx+tomcat+redis负载均衡及session共享

    概述 本文档是用来详细描述 nginx+tomcat+redis负载均衡实现session共享 所需软件及下载地址 软件名称 下载地址 功能说明 Nginx-v1.6.0 http://nginx.o ...

最新文章

  1. 学习ExtJS4 常用控件
  2. deno使用rust_如何在Deno和Oak中使用MySQL
  3. 中兴ZXR10交换机配置手册
  4. 深度学习框架TensorFlow、Caffe、MXNet、PyTorch如何抉择?6 位大咖现身说法
  5. ORACLE穿透防火墙问题
  6. WEBMIN里添加VSFTP控制模块
  7. 深入浅出 JavaScript 中的 this
  8. sublime 无法下载插件解决办法(亲测有效)
  9. java excel 超链接_Java 编辑、删除Excel中的超链接
  10. 强悍的 linux —— sed 与 awk
  11. Mac 重装 Apache 后中文目录乱码
  12. 写给本命年24岁的自己和你:这一年决定你的未来
  13. socket编程c++
  14. php的变量规定前面要加什么字符,PHP_神盾加密解密教程(一)PHP变量可用字符,先来说说php变量的命名规则, - phpStudy...
  15. 30个顶级Python库 | 用于深度学习、自然语言处理和计算机视觉
  16. UVA1626 Brackets sequence
  17. JavaSE_Java/C++模拟实现二叉树、C++/Java四种二叉树遍历题型(递归、非递归、Morris)遍历
  18. HackTheBox::Grandpa
  19. C语言数据类型占字节数
  20. 美国23个州的选举计票机存在漏洞

热门文章

  1. Vue+axios 实现http拦截及vue-router拦截
  2. 基于沙盒环境,安装python3.6
  3. Centos 6.5 搭建NFS服务器笔记
  4. Markdown学习测试
  5. 修改xampp的mysql默认密码
  6. Redhat环境MySQL+Apache+PHP环境配置
  7. 雨林木风“115网络U盘”免费永久空间速度还挺快的
  8. 剑指offer 算法 (代码的完整性)
  9. JVM内存GC的骗局
  10. Spring+SpringMVC+MyBatis深入学习及搭建(一)——MyBatis的基础知识