Tomcat多域名访问
对于域名解析相信很多小伙伴都了解过,就是我们在万网购买一个域名,比如hpugs.com,然后呢?我们希望域名与我们的服务器绑定,然后通过域名直接访问我们的项目,这就是本篇要和大家一起探讨的问题。下面开始我们的工作:
1、首先是域名,登录万维网官网,填写我们想要购买的域名,然后就是查询是否已被抢注,如果没有被抢注,下面就是付钱购买了。
2、有了域名,接下来就是我们的服务器了,大家可以根据自身的需求,进行选择,比如像小笔一样,是一枚穷逼,那怎么来模拟这个过程呢?答案当然是有的,我们可以把自己的电脑当做一台服务器。这样的话,我们的域名也无需购买了,通过修改本地hosts文件,自定义本地域名绑定。具体方法:打开C:\Windows\System32\drivers\etc找到hosts文件,用记事本打开,我们可以看到,localhost与我们的127.0.0.1是绑定的。
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
看到这里你是不是已经知道该怎么做了。
3、有了域名和服务器,下面就是我们的Tomcat配置了,我们知道Tomcat服务器默认监听的是8080端口,而浏览器默认的端口是80,下面就是修改Tomcat的8080端口。打开Tomcat解压地址,找到config文件夹下的server.xml,找到
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxPostSize="0" />
然后把8080端口修改为80保存,然后启动Tomcat,在浏览器输入刚刚我们设置的域名点击回车,进入Tomcat的默认页面,表示我们的配置成功。
4、穿插一个Tomcat的小配置说明:
我们都知道get方式请求存在字符长度的限制,那么post请求有么有长度限制呢?相信写过APP服务接口的小童鞋可以遇到过这样的场景,当APP端通过Base64的方式进行照片上传时,当照片大小超过2M后,我们的服务端接收不到数据包,这是什么问题呢?答案当然不是post对于数据包有长度限制,这是因为Tomcat的内部对于数据包的长度有默认长度限制,最大支持的长度是2M,这个也是可以解决的,通过在server.xml下添加:maxPostSize="-1"即可。
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="2000"
redirectPort="8443"
URIEncoding="UTF-8"
maxThreads="5000"
compression="on"
compressableMimeType="text/html,text/xml"
maxPostSize="-1"/>
5、下面就是我们域名与项目绑定:
还是上面的server.xml文件,我们找的Engine标签,然后我们可以看到:
<Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm> <!--localhost-->
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
这就是我们的Tomcat默认绑定,我们可以通过localhost直接访问项目即是这个配置。下面我们配一个通过域名来访问项目的配置,在Engine标签下我们在添加一个Host配置:
<!--www.hpugs.com-->
<Host name="www.hpugs.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="C:\Program Files\apache-tomcat-8.5.13\webapps\pc-server" path="" reloadable="true" />
</Host>
注意:Context 标签必须放置于Value下,不然Tomcat启动将会报错,这里解释两个参数:docBase项目实际路径;path项目访问虚拟路径。简单的说docBase指向我们的项目具体位置,path为我们访问路径。
6、如何进行多域名绑定
很简单如上,在Engine标签下我们再添加几个Host配置即可
<Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm> <!--localhost-->
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host> <!--www.hpugs.com-->
<Host name="www.hpugs.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="C:\Program Files\apache-tomcat-8.5.13\webapps\pc-server" path="" reloadable="true" />
</Host> <!--m.hpugs.com-->
<Host name="m.hpugs.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="C:\Program Files\apache-tomcat-8.5.13\webapps\web-mobile-server" path="" reloadable="true" />
</Host>
</Engine>
7、最后需要说几点:
defaultHost是指默认Host配置,当访问域名没有进行绑定时,使用默认Host配置
Engine 标签下默认localhost配置,是为了没有进行域名项目绑定的域名,通过域名+项目名称来访问。
Tomcat多域名访问的更多相关文章
- 阿里云服务器CentOS6.9 tomcat配置域名访问
之前一直是ip访问项目,今天申请到一个测试域名,想要用设置用域名访问项目. 1.进入阿里云服务器中,修改tomcat中server.xml文件 cd /usr/local/apache-tomcat/ ...
- 配置tomcat多域名访问
C:\Windows\System32\drivers\etc下的hosts文件改成:127.0.0.1 localhost 127.0.0.1 www.greenmood.net 127.0.0.1 ...
- tomcat实现域名访问步骤
1.找到tomcat的主目录,进入conf文件夹,找到server.xml文件,并打开: 2.修改tomcat的监听端口为80端口: 3.将内容中的 localhost 替换成你想修改的IP地址或者域 ...
- Tomcat配置域名访问
在server.xml文件中的<Host>标签里面添加 <Alias>你的域名(比如:www.baidu.com)</Alias> <Context path ...
- tomcat服务器配置域名访问项目server.xml
<?xml version='1.0' encoding='utf-8'?> <!-- Licensed to the Apache Software Foundation (ASF ...
- tomcat 配置域名访问应用
<Host appBase="webapps" autoDeploy="true" name="www.XXX.com" unpack ...
- Tomcat部署web项目,如何直接通过域名访问,不加项目名称
问题:下面的问题是互联网上问得比较多的,但是显然都是同一个问题. JavaWeb项目部署到tomcat服务之后设置不需要输入项目名称即可访问? Tomcat部署web项目,如何直接通过域名访问,不加项 ...
- tomcat域名访问配置
模拟线上环境,在本地以域名访问系统思路 1.首先在hosts文件将域名映射为本地IP 2.假如服务器80端口已被占用,可以用nginx转发,在nginx/vhosts/abc.com加入如下配置 se ...
- 一个Tomcat及一个ip,绑定不同的域名,各个域名访问各自不同应用程序的配置方法
http://nickandmiles.blog.163.com/blog/static/23422123201110151492166/ 条件是:这样一种实际情况是,就一台服务器,当公网的IP地址也 ...
随机推荐
- RobotFramework自动化测试框架-移动手机自动化测试Click Element At Coordinates关键字的使用
Click Element At Coordinates关键字通过一个具体的坐标点,来模拟点击一个Element,该关键字接收两个参数[ coordinate_X | coordinate_Y ]. ...
- JavaScript前端和Java后端的AES加密和解密
在实际开发项目中,有些数据在前后端的传输过程中需要进行加密,那就需要保证前端和后端的加解密需要统一.这里给大家简单演示AES在JavaScript前端和Java后端是如何实现加密和解密的. 直接上代码 ...
- 胡小兔的OI日志3 完结版
胡小兔的 OI 日志 3 (2017.9.1 ~ 2017.10.11) 标签: 日记 查看最新 2017-09-02 51nod 1378 夹克老爷的愤怒 | 树形DP 夹克老爷逢三抽一之后,由于采 ...
- DOS命令(系统错误5,拒绝访问)的解决方法
在用DOS命令启动MySQL服务时,出现(系统错误5,拒绝访问)的错误提示,这是由于我们操作的权限不足造成的,需要以管理员身份启动,解决问题方法如下: 1."Windows+S"- ...
- 最火的Android开源项目(一)
摘要:对于开发者而言,了解当下比较流行的开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果.为此,CSDN特整理了GitHub上最受欢迎的Android及iOS开源项目,本文详细介绍了20 ...
- Java加密与解密笔记(一) Base64和数据摘要算法
对加密解密下面的内容一定要先理解: 甲乙双方要通信,中间的连接可能被人窃听甚至篡改.解决办法就是把传输的内容进行加密,用密文去传输,这样即使被监听也没办法知道信息的具体内容. 加密时,甲乙双方可以约定 ...
- mysql的并发处理机制_下篇
MySQL的并发处理机制,有MVCC及锁机制来处理,上篇简要说明了 MVCC及隔离级别,这篇来说说mysql下的锁. 温馨提示:下文有几个表格长度较长,右下角的博文导航目录会挡道,浏览 ...
- JSTL标签库的基本教程之核心标签库(一)
JSTL介绍 Java Server Pages Standard Tag Libray(JSTL):JSP标准标签库,它封装了JSP应用的通用核心功能.JSTL支持通用的.结构化的任务,比如迭代,条 ...
- [Linux 使用(1)] SUSE Linux Enterprise Server 下虚拟机ip设置
1.找到需要设置的地方 2.设置静态ip 下一步 3.编辑DNS 4.设置默认网关 5.查看ip 6.本机测试是否能够ping通
- 手把手教你解决无法创建 JPA 工程的问题
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7703803.html ------------------------------------ ...