关于tomcat的多域名配置
2015-08-13 16:45
567 查看
从昨天早上9点半,干到今天早上6点,回去睡了一觉,1点就又到公司了,唉,自己水平真菜,还坑了韬哥。。。。。
关于tomcat的多域名配置,首先,外网ip应该要绑定一个域名,这个域名就相当于这个ip(具体怎么做,请百度之)
1 .首先要把8080端口变为80
在tomcat中找到server.xml,将
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" />
修改为:
<Connector port="80" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" />
2.添加域名
第二就是在中添加<host>(一个host代表一个域名或访问地址)
<Host name="xxx.xxxx.xxx" debug="0" appBase="/opt/tomcat/webapps/xxxx"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/opt/tomcat/webapps/xxxx"></Context>
</Host>
<Host name="xxx.xxx.xxxx" debug="0" appBase="项目路径"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/opt/tomcat/webapps/xxxx"></Context>
</Host>
按照上面的配置可以直接输入域名取访问项目的index.jsp(请注意index.jsp的配置)
不过我遇到一个问题,按照上面的配置完成后,启动工程,index.jsp可以访问到,但是其他的url会多一个工程名,访问路径不对。。。很纠结。。。
我在网上还搜到令一种配置方式
<Engine name="Catalina"defaultHost=www.abc.com>
<Hostname="www.coe.com"appBase="webapps"unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false" >
<Contextpath=""docbase="D:\Tomcat6.0\webapps\ROOT"crosscontext="true"/>
</Host>
<Hostname="www.abc[b].com[/b]"appBase="ccc"unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false"
>
<Contextpath=""docbase="D:\Tomcat
6.0\ccc\ROOT"crosscontext="true"/>
</Host>
还没有试过,不知道成功不成功,参考 blog.sina.com.cn/s/blog_6341fc0f0100lzaj.html
这两天也算是解决域名配置的问题:
如下:<Host name="xxx.xxxx.xxx" debug="0" appBase="/opt/tomcat/webapps/xxxx"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/opt/tomcat/webapps/xxxx"></Context>
</Host>
<Host name="xxx.xxx.xxxx" debug="0" appBase="项目路径"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/opt/tomcat/webapps/xxxx"></Context>
</Host>
把path="/"改为path="",且在项目中避免出现工程名的url,我们的jsp文件在文件头设置<c:set var="ctx" value="<%=request.getContextPath()%>"/>
所以url就为
window.location.href = "${ctx}/Login";
tomcat部署的时候还遇到一个问题,就是tomcat加载了两次工程。。。。。。这是因为deployOnStartup如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用 .如果Web应用中的server.xml没有相应的<Context>元素,将采用Tomcat默认的Context
解决方法:deployOnStartup 设置为false
关于tomcat的多域名配置,首先,外网ip应该要绑定一个域名,这个域名就相当于这个ip(具体怎么做,请百度之)
1 .首先要把8080端口变为80
在tomcat中找到server.xml,将
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" />
修改为:
<Connector port="80" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" />
2.添加域名
第二就是在中添加<host>(一个host代表一个域名或访问地址)
<Host name="xxx.xxxx.xxx" debug="0" appBase="/opt/tomcat/webapps/xxxx"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/opt/tomcat/webapps/xxxx"></Context>
</Host>
<Host name="xxx.xxx.xxxx" debug="0" appBase="项目路径"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/opt/tomcat/webapps/xxxx"></Context>
</Host>
按照上面的配置可以直接输入域名取访问项目的index.jsp(请注意index.jsp的配置)
不过我遇到一个问题,按照上面的配置完成后,启动工程,index.jsp可以访问到,但是其他的url会多一个工程名,访问路径不对。。。很纠结。。。
我在网上还搜到令一种配置方式
<Engine name="Catalina"defaultHost=www.abc.com>
<Hostname="www.coe.com"appBase="webapps"unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false" >
<Contextpath=""docbase="D:\Tomcat6.0\webapps\ROOT"crosscontext="true"/>
</Host>
<Hostname="www.abc[b].com[/b]"appBase="ccc"unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false"
>
<Contextpath=""docbase="D:\Tomcat
6.0\ccc\ROOT"crosscontext="true"/>
</Host>
还没有试过,不知道成功不成功,参考 blog.sina.com.cn/s/blog_6341fc0f0100lzaj.html
这两天也算是解决域名配置的问题:
如下:<Host name="xxx.xxxx.xxx" debug="0" appBase="/opt/tomcat/webapps/xxxx"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/opt/tomcat/webapps/xxxx"></Context>
</Host>
<Host name="xxx.xxx.xxxx" debug="0" appBase="项目路径"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/opt/tomcat/webapps/xxxx"></Context>
</Host>
把path="/"改为path="",且在项目中避免出现工程名的url,我们的jsp文件在文件头设置<c:set var="ctx" value="<%=request.getContextPath()%>"/>
所以url就为
window.location.href = "${ctx}/Login";
tomcat部署的时候还遇到一个问题,就是tomcat加载了两次工程。。。。。。这是因为deployOnStartup如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用 .如果Web应用中的server.xml没有相应的<Context>元素,将采用Tomcat默认的Context
解决方法:deployOnStartup 设置为false
相关文章推荐
- nginx+tomcat的安装与配置)
- 基于Apache的Tomcat负载均衡和集群(2)
- Tomcat启动45秒解决问题
- 图文解说:Nginx+tomcat配置集群负载均衡
- tomcat中使用SSL连接
- 通过程序调用tomcat的manager的text模式的命令来自动部署项目
- Capitomcat配置
- Apache2.2+Tomcat7.0集群 完美攻略
- 点滴记录——Ubuntu 14.04中Solr与Tomcat整合安装
- eclipse中tomcat启动卡住的原因和解决办法
- 如何使用Jacoco远程统计tomcat服务的代码覆盖率
- tomcat错误:java.io.FileNotFoundException: Could not resolve XML resource [null] with public ID [null]
- linux 下tomcat 的catalina.sh的JAVA_OPTS的配置
- Apache+Tomcat构建Tomcat负载均衡集群
- (总结)Nginx与Apache、Tomcat、Resin动静分离核心配置
- Apache和Tomcat区别
- 外网访问自己的tomcat
- Tomcat部署发布JSP应用程序的三种方法
- TOMCAT启动提示NB: JAVA_HOME should point to a JDK not a JRE解决
- Tomcat性能调优方案