l 前提条件:
实现动态二级域名必须让域名服务商开通泛解析
l Ngnix的配置:
#启动进程数(和CPU个数一样)
worker_processes 1;
#工作模式及连接数上限
events {
worker_connections 1024;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型
include mime.types;
default_type application/octet-stream;
#设定请求缓冲
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
#开启gzip模块
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
output_buffers 1 32k;
postpone_output 1460;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
upstream sv1
{
server 127.0.0.1:8080; #第一台tomcat
server 127.0.0.1:8090; #第二台tomcat
ip_hash; #这个配置很重要,保证通一个用户访问的是同一个tomcat,即session同步
}
upstream sv2
{
server 127.0.0.1:8080; #第一台tomcat
server 127.0.0.1:8090; #第一台tomcat
ip_hash;
}
#第一个服务应用
server {
listen 80;
server_name www.bobo.com;
#root D:\Tomcat\www;
location / {
proxy_pass http://sv1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
#第二个服务应用
server {
listen 80;
server_name mv.bobo.com;
#root D:\Tomcat\www2;
location / {
proxy_pass http://sv2;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
l Tomcat的配置:
这个是你主域名对应的站点
<Host name="www.bobo.com" appBase="D:\Tomcat\www"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
这个是你的二级站点对应的站点(单独的应用)
<Host name="mv.bobo.com" appBase="D:\Tomcat\www2"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
两个Tomcat配置是一样的。
l 在主应用中实现动态二级域名的效果
大概思路:
request.getServerName();
您可以获取到当前请求的host,如:bobotc.bobo.com;这样你就可以截取到bobotc了,假设要实现类似新浪博客那样的永久二级域名,其实bobotc就是那个用户名了,获取到后内部重定向到一个用户主页页面,其实地址栏里没有看到变化,看着好像是二级域名,其实是内部使用的障眼法。
分享到:
相关推荐
ngnix+tomcat实现负载均衡的配置
NULL 博文链接:https://zxf-noimp.iteye.com/blog/1931626
ngnix tomcat 集群
nginx+tomcat实现软负载,有详细的步骤说明
lvs keepalived+ngnix+tomcat 实现高性能负载均衡集群
很好的学习Windows+Nginx+Tomcat搭建负载均衡和集群环境教材,里面有详细的Demo。
本人使用的是tomcat6.0.37,ngnix1.4.2,memcached1.4.15,本地测试没有任何问题,把jar整理了下,希望能帮到需要的人
NULL 博文链接:https://supben.iteye.com/blog/1299680
tomcat7+memcahched session共享的架包,搜集全部的供大家分享。
Windows+Nginx+Memcached+Tomcat6负载均衡
nginx+redis+tomcat负责均衡集群,里面有doc文档,有详细说明,jdk没有,需要自己去下载,因本人上传权限大小,jdk就不贴了,自己可以百度下载jdk-7u79-linux-x64.tar.gz。
本手册的编写初衷是笔者在安装部署项目过程中,网上信息很多,坑也很多,或多或少都有些问题,而且文件内容都不全面,整个部署过程就是慢慢填坑的过程. 1.本手册着重点放在把所有安装部署过程记录完整详细。...
Ngnix+php5完整环境配置加文件,以及实现负载平衡的配置文件
采用nginx+memcached+tomcat集群方案时所需的资源包,其中序列化采用的是msm-javolution-serializer-1.8.2 ,里面还有memcached服务端安装包。还有memcached客户端测试包。注;此测试包都是基于windows平台的,故下载...
真正实现一键自动化部署,Nginx+Tomcat+Redis 实现负载均衡集群服务搭建,所有文件自动生成,包括自动生成配置文件参数、解决依赖问题、Session共享同步问题等等,直接把 Web 应用的 war 包,放进Tomcat的 webapps ...
NGINX +TOMCAT在windows下的负载均衡的集群配置
1,tomcat8的配置: 1.1修改tomcat8.x/conf/context.xml的配置如下: <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file ...