Centos6.2上做nginx和tomcat的集成及负载均衡(已实践)
Centos6.2上做nginx和tomcat的集成及负载均衡
---------------------------------------------------------Jdk-------------------------------------------------------------------
1:centos上安装jdk6
Jdk:
jdk-6u34-linux-i586.bin
安装命令:
./jdk-1_5_0_06-linux-i586.bin
配置环境变量如下:
用vi打开/etc/profile在文件尾部添加如下内容
|
测试:
通过java –version命令测试是否会出现相关java信息,有则安装成功.如下
---------------------------------------------------------Jdk-------------------------------------------------------------------
---------------------------------------------------------Nginx----------------------------------------------------------------
2:安装nginx
Nginx:
下载: http://nginx.org/en/download.html
安装命令:
Step 1: rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm
Step 2: yum install nginx
会显示一大堆信息,问你ok不ok啊:Is this ok [y/N]:
输入y,屏幕滚了一会之后就安装完毕,最后提示“Complete!”就是安完了。
软件说明:
1 配置所在目录:/etc/nginx/
2 PID目录:/var/run/nginx.pid
3 错误日志:/var/log/nginx/error.log
Nginx常用命令:
1 启动:nginx
2 重启:killall -HUP nginx
3 测试配置:nginx –t
测试:
用命令”nginx”起动服务,在浏览器中输入”127.0.0.1”如果出现欢迎信息说明安装成功
---------------------------------------------------------Nginx----------------------------------------------------------------
---------------------------------------------------------Tomcat--------------------------------------------------------------
3:安装tomcat
Tomcat:
apache-tomcat-6.0.35.tar.gz
安装命令:
tar xvzf apache-tomcat-6.0.35.tar.gz (解压到了当前目录)
mv tomcat(源)
/usr/local/tomcat(目) ---移到目标目录
常用命令:
起动:bin/startup.sh
关闭:bin/shutdown.sh
测试:
127.0.0.1:8080是否出现tomcat信息页面
---------------------------------------------------------Tomcat--------------------------------------------------------------
---------------------------------------------------------整合-----------------------------------------------------------------
4:整合nginx和tomcat
在/etc/nginx/nginx.conf中添加如下内容 http {}中 添加
upstream www.imeixi.cn {
server 127.0.0.1:8080 weight=1;#转向tomcat
}
在 /etc/nginx/conf.d/default.conf
中修改
server
{
listen 80;
server_name localhost; // 也可以是www.imeixi.cn
location / {
root html;
index index.jsp index.html
index.htm;
proxy_redirect off;
proxy_set_header Host $host; #这一句至关重要
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_pass http://www.mygogo.com; //这句是指转发(将nginx作为反向代理配置)
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
添加之后需要重启nginx生效
|
测试:
在tomcat中加入一个简单web应用(一个html页面就ok),分别访问127.0.0.1/yourweb(nginx—图1)和127.0.0.1:8080/yourweb(tomcat 图2)是否会出现相同的页面,有则成功
图1
图2
---------------------------------------------------------整合-----------------------------------------------------------------
---------------------------------------------------------负载均衡----------------------------------------------------------
5:负载均衡
1、 架构图:
2、安装第二个tomcat:
由于是在同一台机子上安装两个tomcat,所以要做相应的修改,如下
1:从第一个tomcat生成新的tomcat
|
2:在/etc/profile文件尾部添加如下内容 【可省略】
|
3:在tomcat2/bin/catalina.sh文件顶部添加如下内容 【可省略】
|
更改profile后,使用
#source /etc/profile 使新配置的环境变量生效
4:修改tomcat2/conf/server.xml文件
修改三个监听端口
<Server port="8005"
shutdown="SHUTDOWN">改成<Server port="9005" shutdown="SHUTDOWN">
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />改成<Connector port="9080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3"
redirectPort="8443" />改成<Connector port="9009" protocol="AJP/1.3"
redirectPort="8443" />
5:在两个tomcat下发布相同的web应用并且起动两个tomcat
|
3、配置nginx
在/etc/nginx/nginx.conf中添加如下内容 http {}中
添加
upstream www.imeixi.cn {
server 127.0.0.1:8080 weight=1; //server localhost:8080 weight=1(权重)
server 127.0.0.1:9080 weight=1; //server localhost:9080 weight=5
}
在
/etc/nginx/conf.d/default.conf 中不做改动。
server {
listen 80;
server_name www.imeixi.cn;
location / {
root html;
index index.jsp index.html
index.htm;
proxy_redirect off;
proxy_set_header Host $host; #这一句至关重要
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_pass http://www.mygogo.com;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
添加之后需要重启nginx生效
|
4、测试:
访问www.imeixi.cn 将以轮寻的方式访问两个tomcat
---------------------------------------------------------负载均衡----------------------------------------------------------
Centos6.2上做nginx和tomcat的集成及负载均衡(已实践)的更多相关文章
- 【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群
额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepal ...
- Nginx实现tomcat集群进行负载均衡
一.背景 随着业务量和用户数量的激增,单一的tomcat部署应用已经无法满足性能需求,而且对于每次发布项目期间服务不可用的问题也凸显,既然出现了这个问题,那么我们本文就借助nginx来完美的解决这个问 ...
- Nginx部署tomcat/wildfly集群负载均衡
1.调度器配置: docker run -p 80:80 --name nginx --restart=always -v /root/nginx/www/:/usr/share/nginx/htm ...
- 实战Apache+Tomcat集群和负载均衡
实战Apache+Tomcat集群和负载均衡 目录 1. 什么是J2EE集群... 3 1.1. 序言... 3 1.2. 基本术语... 3 伸缩性(Scalability): ...
- tomcat集群和负载均衡的实现(session同步)
(一)环境说明 (1)服务器有4台,一台安装apache,三台安装tomcat (2)apache2.0.55.tomcat5.5.15.jk2.0.4.jdk1.5.6或jdk1.4.2 (3) ...
- 图文解说:Nginx+tomcat配置集群负载均衡
图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用 作者:niumd Blog:http://ari.iteye ...
- 排查nginx、tomcat内存和服务器负载之后
最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx.tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统的响应时间特 ...
- Nginx + Tomcat Windows下的负载均衡配置
Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡? Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...
- 搭建 Keepalived + Nginx + Tomcat 的高可用负载均衡架构
1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...
随机推荐
- 【转】学一点Git--20分钟git快速上手
看到一篇不错的Git的简单入门教程,转过来给自己留个底. 原文地址:http://www.cnblogs.com/shuidao/p/3535299.html 在Git如日中天的今天,不懂git都不好 ...
- hdu1823(二维线段树模板题)
hdu1823 题意 单点更新,求二维区间最值. 分析 二维线段树模板题. 二维线段树实际上就是树套树,即每个结点都要再建一颗线段树,维护对应的信息. 一般一维线段树是切割某一可变区间直到满足所要查询 ...
- luogu P1418 选点问题
题目描述 给出n个点,m条边,每个点能控制与其相连的所有的边,要求选出一些点,使得这些点能控制所有的边,并且点数最少.同时,任意一条边不能被两个点控制 输入输出格式 输入格式: 第一行给出两个正整数n ...
- 【贪心】bzoj3709 [PA2014]Bohater
把怪分成两类看: 一.回血>损血 则若先杀损血少的再杀损血多的,则为当前这一步提供了更高的可能性.因为血量是单增的,所以尽量用较少的血量去干♂耗血较少的怪物. 二.回血<损血 则若先杀回血 ...
- xcode中一些便捷用法@literals简写
总结一下,新的属性绑定规则如下: ● 除非开发者在实现文件中提供getter或setter,否则将自动生成 ● 除非开发者同时提供getter和setter,否则将自动生成实例变量 ● 只要写了s ...
- jdk_配置
如果不知道jdk安装目录,可以使用如下命令查找到jdk安装目录 linux /usr/libexec/java_home windows版 新建系统变量JAVA_HOME(自己jdk的安装目录)C:\ ...
- 搭建SSH框架–使用篇
创建如下包: action用于响应请求 service则是提供请求的操作 dao用于操作数据库 entity用于映射数据库表 打开DB Browser –> personalCD(创建篇的数据库 ...
- 【PHP手册】 PHP debug_backtrace() 函数
定义和用法 PHP debug_backtrace() 函数生成一个 backtrace(回溯信息). 该函数返回一个关联数组.下面是可能返回的元素: 名称 类型 描述 function 字符串 当前 ...
- 【spring boot】spring cloud下spring boot微服务启动没有报错,但是访问访问不到
spring cloud下spring boot微服务启动没有报错,但是访问访问不到 解决方法: 可能是端口被占用了,但是依旧启用成功了. 更改一下项目启用的端口号,再重新启动查看是否可以正常访问.
- iOS -- 解决iOS11中navigationBar上使用initWithCustomView按钮图片错位 frame无效
在iOS11上当使用如下代码设置时 UIButton *shareButton = [UIButton buttonWithType:(UIButtonTypeCustom)]; shareButto ...