nginx+tomcat集群配置(1)---根目录设定和多后端分发配置

前言:
  对于javaer而言, nginx+tomcat集群配置, 已然成了web应用部署的主流. 大公司如此, 小公司亦然. 对于个人开发者而言, 资源有限, 往往多个web应用混部于一台服务器(云主机), 如何隔离访问这些服务资源? 彼此又不影响呢? nginx来为你排忧解难, ^_^.
  本文将介绍tomcat的简单配置和部署, 以及nginx作为反向代理, 如何分流.

基础架构:
  不成文的约定:
  1). 一个tomcat容器部署一个webapp应用实例
  2). url根目录访问webapp
  简而言之, 以http://{host}:{port}来访问该webapp, 而不是http://{host}:{port}/{webapp}.
  

Tomcat的根目录配置:
  tomcat中的webapp, 其默认访问的url规则中, 是包含{webapp}的名称. 那如何实现根目录访问呢?
  • 替换ROOT目录
  tomcat中, webapps/ROOT是做为其默认的根目录. 因此可以简单的把相应地webapp同名替换为ROOT, 即可到达目的. 雀占鸠巢, 是个很好很无耻的方法.
  • 添加Context配置项
  在conf/server.xml中, 找到Host父标签项, 在其内部添加Context项即可.
  比如配置后的项如下所示:

  <Host name="localhost" appBase="webapps"
    unpackWARs="false" autoDeploy="false">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
      prefix="localhost_access_log" suffix=".txt"
      pattern="%h %l %u %t &quot;%r&quot; %s %b" />

    <!— 添加该配置项, docBase为指定的根目录路径 —>
    <Context path="" docBase=“/path/to/webapppath/to/webapp"
      debug=“0" crossContext="true" />
  </Host>

  注意Context添加的位置, docBase为webapp对应的目录(切记是解压后的目录, 而不是war文件).
  在实际生产环境中, 往往把unpackWars和autoDeploy设置为false, 这样是为了防止外界非法war注入攻击.

nginx分发配置:
  让我们先来谈谈域名, 再来具体配置nginx.conf.
  *) 域名分配
  域名是nginx分发的基础和依据. 同时域名是个非常廉价的资源, 这是一个很大的前提.
  对于域名和webapp的映射关系, 往往有两种方式.
  1) 一个一级域名对应一个webapp
  多个域名可以映射到同个ip, 然后让域名与webapp一一对应.
  2) 充分利用二级域名
  *) nginx配置
  在http配置项中, 添加server项列表, 每个对应一个后级服务.

http {
  # 其他配置项

	# webapp backend 1
	#  一个一级域名对应一个webapp
	server {
                listen 80;
                server_name domain1.com www.domain1.com;
                location / {
                        proxy_pass http://127.0.0.1:8080;
                }
        }

	# webapp backend 2,
	# 使用二级域名对应一个webapp
	server {
                listen 80;
                server_name appA.domain2.com;
                location / {
                        proxy_pass http://127.0.0.1:8081;
                }
        }
}

  注意: server_name可以指定为域名, 也可以指定为ip.
  具体的nginx配置细节, 就不再展开.

总结:
  本文涉及的点很少, 即没有谈及nginx+tomcat配置的具体含义, 亦没有深入nginx+tomcat的性能调优. 但对于混部的webapp应用而言, 所涉及的内容能够帮助你, 迅速实现多个webapp的访问隔离.

公众号&游戏站点:
  个人微信公众号: 木目的H5游戏世界
  
  个人游戏作品集站点, 请点击访问http://120.26.221.54/.

时间: 2024-10-14 07:08:44

nginx+tomcat集群配置(1)---根目录设定和多后端分发配置的相关文章

nginx+tomcat集群配置(4)--rewrite规则和多应用根目录设定思路

前言: nginx中有一块很重要的概念, 就是rewrite规则. 它会对URL进行修改, 然后进行内部的重定向. rewrite授予了nginx更多的自由, 使得后级服务的接入更加地方便. 本文将简单讲述nginx的rewrite规则和原理, 同时讲解下如何借助rewrite实现单tomcat实例/多Web App服务 对应的多域名根目录访问. 案列目标: 首先来谈一下之前对于多Web App服务对应多域名根目录访问的方案. 注: 一个域名对应一个tomcat实例, 一个tomcat实例只包含

Nginx+Tomcat 集群部署

1.Nginx + Tomcat 集群部署 简单配置 1 #user nobody; 2 worker_processes 4;#工作进程的个数 3 4 #error_log logs/error.log; 5 #error_log logs/error.log notice; 6 #error_log logs/error.log info; 7 8 #pid logs/nginx.pid; 9 10 11 events { 12 worker_connections 1024; #单个进程连

100513、nginx+tomcat集群+session共享(linux)

第一步:linux中多个tomcat安装和jdk安装(略) 第二步:nginx安装,linux中安装nginx和windows上有点不同也容易出错,需要编译,这里做介绍 一.安装依赖 gcc openssl-fips-2.0.2.tar.gz zlib-1.2.7.tar.gz pcre-8.21.tar.gz 下载linux版本的安装包,如果不下载安装包,可以在线安装命令: yum install gcc-c++ yum install -y pcre  pcre-devel yum inst

实践出真知——一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离

实践出真知--一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离 前言 ? 想必大家对于Nginx和Tomcat都非常熟悉了,Nginx的应用非常广泛,不仅是对web静态资源非常友好,而且也是非常实用的反向代理和负载均衡软件.结合后端Tomcat的服务,从而搭建Nginx+Tomcat集群. ? 对于直接想要实践的朋友而言可以获取本文的链接中的软件包后直接看第三备份的内容. 一.集群搭建结构及拓扑 1.1集群架构图示 Nginx+Tomcat集群的结构示意图如下: 1.2系统环境与

Web应用优化之nginx+tomcat集群配置+redis管理session

1.nginx的安装 从官网下载一个nginx事务tar.gz版本,centos系统,安装好jdk 第一步解压 第二步:解压完成进入解压目录,执行./configure命令 需要安装gcc编译和pcre库,zlib库 yum -y install gcc yum install pcre-devel yum install zlib-devel ./configure完成后执行make install即可安装成功 2.集群配置流程 一.克隆2台CentOS虚拟机,并安装jdk+tomcat 二.

java集群优化——Nginx+tomcat集群配置-理论篇

我们了解一个道理,就是数据的增长是我们必然面对的问题,因为在技术日益变化的当下,我们收集数据的方式和存储及处理技术不断升级,迫使我们面对这一问题,并且,在数据挖掘日益火热的今天,我们也要对这样的问题加以重视,改变在所难免! 我们曾经想过,在极致优化的情况下,一台普通服务器,是可以挖掘出无穷的潜力的,我的们的确曾做到这一点,用一台2万元的设备,承载了同时1万余人的并发,但是随着技术的衍生,我们需要更灵活地处理应用,我们需要更及时的响应速度,我们需要实时地对数据进行分析和处理!这时,我们必然接触一个

nginx+tomcat集群负载均衡(实现session复制)

转自:http://talangniao.iteye.com/blog/341512 架构描述 前端一台nginx服务器做负载均衡器,后端放N台tomcat组成集群处理服务,通过nginx转发到后面(注:没做动静分离,静态动态全部都转给tomcat) 优点:实现了可弹性化的架构,在压力增大的时候可以临时添加tomcat服务器添加到这个架构里面去 一,配置nginx 1,  下载包 Wget http://sysoev.ru/nginx/nginx-0.6.32.tar.gz ftp://ftp.

Nginx+Tomcat集群部署

为了获取更好的性能,我们常常需要将tomcat进行集群部署.下文通过nginx转发实现tomcat集群,并通过nginx-upstream-jvm-route插件保证session的粘滞. 应用场景环境: server1 服务器上安装了 nginx + tomcat01 server2 服务器上只安装了 tomcat02 server1 IP 地址: 192.168.1.88 server2 IP 地址: 192.168.1.89 安装步骤: 1)在server1 上安装配置 nginx + n

nginx+tomcat集群

配置Nginx 配置文件目录:/usr/local/nginx-1.6.1/conf/nginx.conf cd /usr/local/nginx-1.6.1/conf vi nginx.conf 修改后的配置文件如下: 在#gzip on;后面加入upstream #gzip on; upstream tomcat { # ip_hash; server 192.168.1.249:8080 weight=1; server 127.0.0.1:8082 weight=1;server 192