nginx简介

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

下面是采用一台机器nginx+双tomcat集群负载均衡方案。当更新项目时可以停止tomcat1,在启动,接着停止别外一个tomcat2,这样可以不会让客户感觉你在停止项目更新。这是为了节约成本的情况下,有效方案。通过这方案可以演变更多tomcat集群,只是把tomcat放在不同的服务器里,把nginx配置的里的反向代理ip修改一下。后期会写一个高可用的tomcat方案。

1.安装jdk是64位系统

下裁jdk-6u45-linux-x64.bin

[root@tomcat135 ~]# ls

anaconda-ks.cfg              install.log             nginx-1.2.8.tar.gz

apache-tomcat-6.0.18.tar.gz  install.log.syslog      pcre-7.9.tar.gz

Desktop                      jdk-6u45-linux-x64.bin

[root@tomcat135 ~]# chmod +x jdk-6u45-linux-x64.bin

[root@tomcat135 ~]# ./jdk-6u45-linux-x64.bin

[root@tomcat135 ~]# mv jdk1.6.0_45 /opt/jdk

配置jdk在环境变量中/etc/profile

[root@tomcat135 ~]# vi /etc/profile

在最后增加

JAVA_HOME=/opt/jdk

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

export LC_ALL="zh_CN.GB18030"  #解决中文乱码问题

[root@tomcat135 ~]# source  /etc/profile

查是否配置成功

[root@tomcat135 ~]# java -version

java version "1.6.0_45"

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

以上说明成功了

2.安装与配置tomcat

下裁apache-tomcat-6.0.18.tar.gz

[root@tomcat135 ~]# tar zxvf  apache-tomcat-6.0.18.tar.gz

解压之后拷贝两个tomcat

创建项目目录为www

[root@tomcat135 ~]# mkdir -p /web/www

[root@tomcat135 ~]# cp  -r apache-tomcat-6.0.18 /opt/tomcat1

[root@tomcat135 ~]# cp  -r apache-tomcat-6.0.18 /opt/tomcat2

配置tomcat

[root@tomcat135 ~]# cd /opt/tomcat1/conf/

tomcat1与tomcat2的配置一样,只有端口不一样。

[root@tomcat135 conf]# vi server.xml

在<Host> </Host>之间都都要增加

<Context path="" docBase="/web/www" >

<Manager className="org.apache.catalina.session.PersistentManager" debug="0" saveOnRestart="true" maxActiveSessions="-1" minIdleSwap="-1" maxIdleSwap="-1" maxIdleBackup="-1" >

<Store className="org.apache.catalina.session.FileStore" directory="sessions"/>

</Manager>

</Context>

找到<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

把8080端口修改成8071

而tomcat2端口修改成8072

找到<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />修改成不同端口,不然会出错

启动tomcat1

[root@tomcat135 tomcat1]# cd /opt/tomcat1/bin/

[root@tomcat135 bin]# sh startup.sh

启动tomcat2

[root@tomcat135 bin]# cd /opt/tomcat2/bin/

[root@tomcat135 bin]# sh startup.sh

查看是否启动

[root@tomcat135 bin]# ps aux | grep tomcat

avahi     3813  0.0  0.0  23292  1412 ?        Ss   16:58   0:00 avahi-daemon: running [tomcat135.local]

root      4296  6.7  3.1 846344 65548 pts/1    Sl   17:28   0:08 /opt/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat1/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat1/endorsed -classpath :/opt/tomcat1/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat1 -Dcatalina.home=/opt/tomcat1 -Djava.io.tmpdir=/opt/tomcat1/temp org.apache.catalina.startup.Bootstrap start

root      4335  156  2.9 917648 61604 pts/1    Sl   17:30   0:07 /opt/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat2/conf/logging.properties -Djava.endorsed.dirs=/opt/tomcat2/endorsed -classpath :/opt/tomcat2/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat2 -Dcatalina.home=/opt/tomcat2 -Djava.io.tmpdir=/opt/tomcat2/temp org.apache.catalina.startup.Bootstrap start

root      4361  0.0  0.0  63460   816 pts/1    S+   17:30   0:00 grep tomcat

[root@tomcat135 bin]# netstat -tunlp

tcp        0      0 :::8071                     :::*                        LISTEN      4296/java

tcp        0      0 :::8072                     :::*                        LISTEN      4386/java

说明以上启动成功

4.安装nginx

安装nginx依赖包

yum -y install gcc gcc-c++

下载pcre-7.9.tar.gz

[root@tomcat135 ~]# tar zxvf pcre-7.9.tar.gz

[root@tomcat135 ~]# cd pcre-7.9

[root@tomcat135 pcre-7.9]# ./configure

[root@tomcat135 pcre-7.9]# make && make install

安装nginx

下载nginx-1.2.8.tar.gz

[root@tomcat135 ~]# tar zxvf nginx-1.2.8.tar.gz

[root@tomcat135 ~]# cd nginx-1.2.8

[root@tomcat135 nginx-1.2.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

[root@tomcat135 nginx-1.2.8]# make && make install

配置nginx

[root@tomcat135 nginx-1.2.8]# vi /usr/local/nginx/conf/nginx.conf

#user  nobody;

worker_processes  4;  #根据CPU线程来配置相关参数

error_log  logs/error.log;

pid        logs/nginx.pid;

worker_rlimit_nofile 65535;

events {

worker_connections  65535;

}

http {

include       mime.types;

default_type  application/octet-stream;

server_names_hash_bucket_size 128;

client_header_buffer_size 32k;

large_client_header_buffers 4 32k;

client_max_body_size 8m;

sendfile        on;

tcp_nopush     on;

keepalive_timeout  150;

tcp_nodelay on;

gzip  on;

gzip_min_length  1k;

gzip_buffers     4 16k;

gzip_http_version 1.0;

gzip_comp_level 2;

gzip_types       text/plain application/x-javascript text/css application/xml;

gzip_vary on;

server_tokens off;

upstream tomcatweb {

server 172.19.0.135:8071;

server 172.19.0.135:8072;

}

server{

listen 80;

server_name  www.test.com;

location / {

root   html;

index  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://tomcatweb;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

}

启动nginx

[root@tomcat135 nginx-1.2.8]# /usr/local/nginx/sbin/nginx

[root@tomcat135 nginx-1.2.8]# netstat -tunlp

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      10527/nginx

说明启动成功

测试是否成功

在IE浏览器访问http://172.19.0.135/

在/web/www/下增加

[root@tomcat135 www]# cat index.html

11111111111111111111111111成功

如果能访问到11111111111111111111111111成功

一切安装好了,你可以把项目上传到/web/www下

nginx+双tomcat集群负载均衡(一台机器)相关推荐

  1. nginx+tomcat集群负载均衡中的多虚拟主机配置

    虽然夜深了,但是还是解决了这个困扰我一个晚上的问题,记录下来备查. 接着我前不久写的这一篇来的:Linux下nginx和tomcat的整合http://hi.baidu.com/gnaiqeh/blo ...

  2. Apache+Tomcat集群负载均衡的两种session处理方式

    session共享有两种方式: 1.session共享,多个服务器session拷贝保存,一台宕机不会影响用户的登录状态: 2.请求精确集中定位,即当前用户的请求都集中定位到一台服务器中,这样单台服务 ...

  3. 【Nginx入门系列】第六章 Nginx+tomcat集群负载均衡部署

    待更新 转载于:https://www.cnblogs.com/evan-liang/p/9189612.html

  4. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  5. Nginx以及通过Nginx实现tomcat集群配置与负载均衡

    Nginx简介 启动,停止,和重新加载配置文件命令 Nginx功能 正向代理和反向代理的区别 反向代理 负载均衡 1.RR(默认) 2.权重 3.ip_hash 4.fair(第三方) 5.url_h ...

  6. 常见的服务器集群负载均衡技术:二三四七层负载均衡,DNS、LVS、F5、nginx负载均衡

    服务器集群负载均衡技术 LB:load balance负载均衡器.有时也叫做director. DNS负载均衡 DNS负载均衡,最基础的是轮询方式,循环返回不同的服务器IP地址.可以同时返回多个服务器 ...

  7. Apache+Tomcat +mod_proxy集群负载均衡及session

      序言: 在玩Apache+Tomcat +mod_jk集群负载均衡及session的时候发现,还有一种方式可以实现,就是网上各位大牛们说的mod_proxy反向代理. 实在弄的我的知识细胞洋洋.实 ...

  8. 前后端分离 集群负载均衡 分布式 微服务

    一.前后端分离 1.为什么要前后端分离 在以前传统的网站开发中,前端一般扮演的只是切图的工作,只是简单地将UI设计师提供的原型图实现成静态的HTML页面,而具体的页面交互逻辑,比如与后台的数据交互工作 ...

  9. Niginx 集群负载均衡策略

    Niginx 集群负载均衡策略 所需物料 1.Nginx服务 步骤略 本人 nginx version: nginx/1.16.0 2.Java Servlet 测试项目 新建java web 项目, ...

最新文章

  1. Facebook频谱图模型生成比尔·盖茨声音,性能完胜WaveNet、MAESTRO
  2. 【项目管理】项目经理每天、每周、每月应该做的都在这
  3. Forefront Security For Exchange文件传送限制测试
  4. 深入理解JVM之二:垃圾收集器概述
  5. 计算机协会科创部部长职责,学生会科创部工作计划
  6. 用C语言打开文件的几种方式及区别
  7. 十二月份找工作好找吗_淘宝美工前景怎么样?好找工作吗?
  8. zoj - 2112 带修改主席树 + 空间优化
  9. 远程连接另一台电脑,如何用被远程的电脑听歌
  10. Java经典设计模式(1):五大创建型模式(附实例和详解)
  11. c语言临时变量交换数值,不用临时变量交换两个数的值(C实现)
  12. 甘肃暴雨强度公式_中国城市新一代暴雨强度公式
  13. Java检验yyyymm合法,JAVA日期格式校验正则表达式方法,yyyy年MM月,yyyy-MM-dd格式等...
  14. 西门子200Smart modbus RTU 双主站程序 西 门子200Smart modbus RTU 程序封装赋值即用,配置详细说明
  15. 如何申请免费163邮箱?如何申请163邮箱账号?
  16. python中路径什么意思_python路径引用r的含义
  17. 数独游戏代码C++解法
  18. springboot yml文件不是绿叶子问题
  19. FT232RL制作的USB转uart ttl,rs232,rs485.兼容3.3V及5V接磁珠
  20. 查询局域网电脑的IP,端口号,MAC地址(黑客技术入门)

热门文章

  1. 大数据之-Hadoop伪分布式_启动YARN并运行MR程序---大数据之hadoop工作笔记0026
  2. 大数据之-入门_大数据发展前景---大数据之hadoop工作笔记0005
  3. Spring Security OAuth2.0_实现分布式认证授权_微服务解析令牌并鉴权_Spring Security OAuth2.0认证授权---springcloud工作笔记154
  4. gcc 安装在服务器的问题总结
  5. 将Notepad++配置为Ruby编译器
  6. 随想录(学校作业和工程代码)
  7. 嵌入式操作系统内核原理和开发(头文件调整)
  8. python任意输入一个正整数、判断该数是否为素数_Python编程判断一个正整数是否为素数的方法...
  9. regester正则用法_Regester学习笔记
  10. python视频分段_Python 视频文件的分割和合并