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 proxy
location /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.com
error_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/;
}
}

nginx实现tomcat的负载均衡及企业内部应用的代理的更多相关文章

  1. Nginx 服务器 之Nginx与tomcat实现负载均衡

      本文讲解我们如何使用Nginx做反向带服务器,实现nginx与tomcat服务器集群做负载均衡. 一.nginx与tomcat实现负载均衡 1.在/usr/local/ngnix/conf  创建 ...

  2. Tomcat(五):nginx/httpd + tomcat及负载均衡tomcat

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  3. nginx和tomcat配置负载均衡和session同步

    一.背景 因业务需求,现需配置多台服务器,实现负载均衡. 二.解决方案 使用 nginx + tomcat,在这一台应用服务器部署一个nginx和两个tomcat.通过nginx修改配置后reload ...

  4. 基于nginx与Tomcat实现负载均衡

    server1:192.168.200.113(nginx服务端) server2:192.168.200.111(Tomcat服务端) server1中nginx的配置文件 nginx.conf h ...

  5. 利用httpd对tomcat进行负载均衡配置

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有2台主机,IP分配如拓扑 实验软件:jdk-8u60-linux-x64 ...

  6. 使用 Nginx + Tomcat 搭建负载均衡

    负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均衡,英文名称为Load Balance, ...

  7. Nginx+Tomcat+Memcached负载均衡集群服务搭建

    操作系统:CentOS6.5  本文档主要讲解,如何在CentOS6.5下搭建Nginx+Tomcat+Memcached负载均衡集群服务器,Nginx负责负载均衡,Tomcat负责实际服务,Memc ...

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

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

  9. java:tomcat(负载均衡)nginx的应用配置

    http://mini.eastday.com/mobile/180627012211514.html 1.什么是负载均衡 由于系统各个核心部分随着业务量的提高,访问量和数据流量的快速增长,单一的服务 ...

随机推荐

  1. 洛谷P1012 拼数 string

    又是大水题... 这一题过水,令人无法接受...... 但是如果我们不知道string的一个神奇的性质的话,就会很难受. 我一开始手写 < 号,但是发现如果 string a 的前一部分恰好是 ...

  2. 使用html5获取当前手机的经纬度,并接入百度地图API,查询出当前位置

    最近项目需要,稍微研究一下html5获取当前地理位置的问题. 获取当前位置的经纬度很简单,一句代码就搞定 navigator.geolocation.getCurrentPosition(functi ...

  3. typescript函数(笔记非干货)

    函数类型 Function Type 为函数定义类型 Define types for functions 我们可以给每个参数添加类型之后再为函数本身添加返回值类型. TypeScript能够根据返回 ...

  4. POJ1185 状压dp(二进制//三进制)解法

    很显然这是一道状压dp的题目 由于每个最优子结构和前两行有关,一个显而易见的想法是用三维dp[i][j][k]用来记录在第i行下为j状态,i - 1行为k状态时的最大值,然而dp[100][1 < ...

  5. python爬虫 bs4_4select()教程

    http://www.w3.org/TR/CSS2/selector.html 5 Selectors Contents 5.1 Pattern matching 5.2 Selector synta ...

  6. GO语言的进阶之路-Golang字符串处理以及文件操作

    GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也 ...

  7. 如何解决win7系统无法运行cmd命令提示符

    如何解决win7系统无法运行cmd命令提示符   CMD命令可以帮助我们很快的执行所需要的程序命令,可以查询系统中很多的信息和解决系统很多的故障,对我们来说非常方便,但是最近有用户反馈自己win7电脑 ...

  8. 常用的一些js方法

    <input type="text" name="number" onkeyup="floatNum(this)"/> // 数 ...

  9. Dubbo是什么

    读音 |ˈdʌbəʊ| !不是[dubəʊ]!  (重点:调用步骤) Dubbo是什么 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.其核心 ...

  10. xml总结(一 )

    一.了解 XML(eXtensive Markup Language)可扩展标记语言. XML是被用来传输和存储数据,焦点是内容,是对html的补充. HTML是将数据进行格式化显示.xml需要自定义 ...