nginx+tomcat实现单个IP地址,多个二级域名+多个站点访问

Posted 邵鸿鑫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx+tomcat实现单个IP地址,多个二级域名+多个站点访问相关的知识,希望对你有一定的参考价值。

1.部署多台tomcat

  简单的在一台服务器上部署多台tomcat最简单不过了,只需要将tomcat压缩包解压到多个目录,然后更改/conf/server.xml配置文件中的三个端口:

  a.Server port=”8[X]05″ shutdown=”SHUTDOWN”

  b.Connector port=”8[X]80″ maxHttpHeaderSize=”8192″ …

  c.Connector port=”8[X]09″ enableLookups=”false”

  这里用‘X’代替第几台tomcat,默认的分别为8005,8080,8009。每增加一台tomcat只需要将这三个数字递增就可以。这样就可以根据IP+8[X]80来区别不同的程序了。

2.用nginx绑定域名与不同的tomcat端口

  nginx配置文件位于conf/nginx.conf,它最主要的部分是http部分,这里最重要的两个配置项是upstream,server,这两个项都可以有多个配置。

在http内插入下面代码。


  
  1. upstream home.console.xinyi8090.cn     
  2.             server 60.205.149.58:8082;        
  3.         
  4.   
  5.     upstream home.vendor.xinyi8090.cn     
  6.             server 60.205.149.58:8080;  
  7.       
  8.       
  9.     server   
  10.         listen       80;  
  11.         server_name  home.console.xinyi8090.cn;  
  12.   
  13.         location /   
  14.             index  index.html index.jsp;      
  15.             proxy_pass  http://home.console.xinyi8090.cn;      
  16.             proxy_set_header    X-Real-IP   $remote_addr;      
  17.             client_max_body_size    100m;   
  18.           
  19.           
  20.       
  21.       
  22.     server   
  23.         listen       80;  
  24.         server_name home.vendor.xinyi8090.cn;  
  25.   
  26.         location /   
  27.             index  index.html index.jsp;      
  28.             proxy_pass  http://home.vendor.xinyi8090.cn;      
  29.             proxy_set_header    X-Real-IP   $remote_addr;      
  30.             client_max_body_size    100m;   
  31.           
  32.     
大功告成,亲测有效。

3.扩展修改tomcat默认页

  很多时候我们想输入域名之后就可以访问主页,这时候就需要配置tomcat的默认页面。

首先,修改$tomcat/conf/server.xml文件。
在<host></host>标签之间添加上:

<Context path="" docBase="mypr" debug="0" reloadable="true" />


path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;


docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,现在我在webapps目录下建了一个mypro项目,让该项目文件作为我的默认目录。

然后,修改$tomcat/conf/web.xml文件。
在web.xml文件中,有一段如下:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

改成mypro项目中需要直接显示的jsp或者html即可。



以上是关于nginx+tomcat实现单个IP地址,多个二级域名+多个站点访问的主要内容,如果未能解决你的问题,请参考以下文章

为阿里云ECS服务器二级域名绑定tomcat子目录,实现一个IP多个二级域名

使用nginx反向代理一个ip下的多个tomcat

Nginx和tomcat实现负载均衡

您如何配置 tomcat 以绑定到单个 IP 地址(本地主机)而不是所有地址?

Nginx端口转发, 怎么做到不用二级目录?

Nginx泛域名解析实现二级域名多域名