nginx+tomcat实现单ip,多域名,多项目配置,session有效

首先,多域名解析到单ip在此不做叙述
空间提供商一般都会有此类解析服务

1.首先看nginx如何配置多域名

多域名意味着多个server节点,假如我们有域名www.a.com和www.b.com,我们可以如下配置

server {
    listen 80;
    server_name www.a.com;
}
server {
    listen 80;
    server_name www.b.com;
}

这两个节点都监听在80端口,这样在浏览器访问两个域名就都会访问此nginx服务器了

2.再看如何把不同的网站请求发送到tomcat不同的项目
假设我们有两个项目,一个projecta,一个projectb
www.a.com映射到projecta,www.b.com映射到projectb

server {
    listen 80;
    server_name www.a.com;
    location / {
        proxy_pass http://tomcat监听ip:8080/projecta/;
    }
}
server {
    listen 80;
    server_name www.b.com;
    location / {
        proxy_pass http://tomcat监听ip:8080/projectb/;
    }
}

这样,访问不同的域名就会映射到不同的tomcat项目上面了

3.tomcat需要做两方面配置
第一个是server.xml中,Host节点下添加:

<Context docBase="a" path="/a" />
<Context docBase="b" path="/b" />

第二个是context.xml中,Context节点添加属性 sessionCookiePath=”/”
保证session有效

4.jsp页面中,将路径设置为相对路径就可以了。

时间: 2024-10-04 09:47:25

nginx+tomcat实现单ip,多域名,多项目配置,session有效的相关文章

nginx+tomcat实现单IP,多域名,多站点的访问

其实这个问题分为两个子问题来解决: 1.如何实现单IP多tomcat站点 2.对于多域名的多个站点如何通过nginx分发访问 问题一:解决方案又分为两种: a.单实例tomcat配置多个host站点 这种方法有一个缺点就是无法分站点调试,如果一个站点出了问题,关服务进行调试会停掉所有站点(不过这个方案就不会涉及到第二个问题,因为这样单实例无法实现多个站点对应多个顶级域名)b.多实例tomcat配置实现单机多站点 这个方法很简单,就相当于把tomcat拷贝多份,然后修改各个tomcat的serve

Nginx+tomcat显示真实IP地址

对于nginx+tomcat这种架构,如果后端tomcat配置保持默认,那么tomcat的访问日志里,记录的就是前端nginx的IP地址,而不是真实的访问IP.因此,需要对nginx.tomcat做如下配置: 1)nginx配置  在nginx.conf配置中修改 server{ listen            80; server_name       www.abc.com; location / { proxy_connect_timeout       3; proxy_send_t

Nginx + Tomcat 环境下的防图片盗链配置

本来觉得是个挺简单的事情,仔细看了下还是有一些细节需要注意的.网上基本都是仅nginx环境下的配置,这里给一个用Nginx+Tomcat结构的配置及其简要说明,主要有以下两个步骤,选任意一个方案即可. 1. Nginx防盗链的配置 a. 方法一:增加ngx_http_accesskey_module模块,但是需要相应的配置,网上相关资料很多,不赘述. ■ 优点:控制的逻辑严密,非常可靠地解决方案. ■ 缺点:需要做较多的修改. b. 方法二:直接增加Refer的判断,对于不符合设定的请求予以禁止

Tomcat 仅用ip和端口 不用项目名就能访问项目

今天发现生产上tomcat项目 仅用ip+端口 就能访问项目,觉得很奇怪,百思不得其解,各种尝试,终于找出原因 例: http://192.168.50.248:8081/login.htm     能直接进入项目的登录页面 http://192.168.50.248:8081/project/login.htm  也能进入项目的登录页面 于是,我本地tomcat尝试了下,发现如果不加项目名,访问就404了, 后来我加了项目名,登录页面能访问,但是登录成功,跳转到index.htm的时候,项目名

Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

CentOS安装Nginx?:http://centoscn.com/CentosServer/www/2013/0910/1593.html CentOS安装Tomcat?:http://blog.csdn.net/zhuying_linux/article/details/6583096 CentOS安装Redis?:http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3117997.html 多个Tomcat负载均衡实例:可在服务器上复

[转]Apache+Tomcat 同一IP多域名多网站配置

最近帮人用Apache+Tomcat在同一台IP的服务器上设置多域名指向不同网站站点,花费了不少的时间.尤其是配置信息的时候,从网上找的资料有很多是错误的,误认不浅.所以今天特意把它记下来,以备后面使用. 首先说一下我的需求是这样:apache作为前端分发器,把域名解析的内容转发到后台的Tomcat上去,tomcat也只有一个,但拥有2个不同的实例.就是分别是2个不同的网站.不要根据不同域名转向tomcat后台不同的网站上去. 现在开始讲讲配置流程: 1.进入apache的htpd.conf中配

apache 2.2 单IP多域名不同目录的虚拟主机访问设置

首先编辑httpd.conf 注释掉以下地方 #ServerAdmin [email protected] #ServerName www.example.com:80 #DocumentRoot "/usr/local/apache2/htdocs" #<Directory />#    Options FollowSymLinks#    AllowOverride None#    Order deny,allow#    Deny from all#</Dir

nginx+Tomcat实现动静分离架构

最近新部署了一个项目jlj-cms-erp-web,要求使用nginx+Tomcat将静态页面和动态的请求分开处理,减轻Tomcat服务器的压力 在部署项目的这台机器上(192.168.1.110)并没有nginx,所以还需要将这台机器上生成的静态页面备份到装有nginx的另一台机器上(192.168.1.191) 首先安装tomcat,具体过程不详细写了,见博客 http://itzhongxin.blog.51cto.com/12734415/1915155 注意修改端口号.jvmRoute

Nginx 单IP下 配置多个server https 的问题

我们的负载均衡架构是这样的: 请求 -> 网络 -> LVS集群 -> Nginx 集群 -> APP LVS使用FULLNAT模式,每台Nginx 机器只有一个IP(内网IP),LVS也是把流量转到这个IP.如果Nginx想对多个域名使用https,比如两个域名 wandoujia.com 和 wandoulabs.com ,是可能有问题的. 看下面的配置(两个server写在不同文件中,用 include * 加载): server { listen 80; listen 44