Tomcat8 域名配置

博客 [Mac 配置 Tomcat8] 介绍了在 Mac 下安装和启动 Tomcat.

接下来介绍, 如何在本地配置 Tomcat8 的域名.

网上有很多关于 Tomcat 如何配置单域名或者多域名的文章, 很多都是翻译或者复制别人的, 根本没有实践过, 害人不浅!

结合自己的实践, 把配置的整个过程分享给大家, 希望能帮到你.

下面进入正题.

修改端口

在 Tomcat 的安装(其实是解压的)目录 /conf 下有 server.xml 文件.

将下面内容:

1
2
3
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

修改为:

1
2
3
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

添加 web 项目

这一步主要是为了后面测试.

很简单, 在 Tomcat 的安装目录 webapps 下面新建 test 文件夹, 里面创建一个 html 文件即可.
这里将其命名为 test.html.

test.html 内容见后面的附录即可.

配置域名

增加虚拟主机配置.还需要修改 server.xml 文件.

在 server.xml 文件中, 在标签 之间增加下面的内容:

1
2
3
4
<Host name="www.mark.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="test" debug="0" reloadable="true" crossContext="true"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="tot_log." suffix=".txt" timestamp="true"/>
</Host>

其中, www.mark.com 是我自己任意取的一个域名, docBase=”test” 是指向上面新建的 test 目录.

配置域名解析

由于部署在本地, 需要修改 host.

修改 /etc/host 文件, 需要 sudo 权限:

1
sudo vim /etc/host

增加如下内容:

1
127.0.0.1 www.mark.com

验证配置

这一步, 验证配置是否生效.

启动 Tomcat, 这里的操作比较特殊, 需要 sudo 权限来启动 Tomcat, 否则会报下面的错误:

1
2
org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-80"]
java.net.SocketException: Permission denied

因为, 只有 root 用户才可以使用 1024 以下的端口号.

正确姿势:

cd 进入 Tomcat 的 bin 目录

1
cd ~/Tomcat/bin

执行:

1
sudo startup.sh

成功后, 打开浏览器, 输入 http://www.mark.com/test.html, 即可看到页面内容.

配置另一个域名

可以配置另外的一个域名, 比如 www.ithome.com, 即多增加一个虚拟主机配置.

在 server.xml 增加:

1
2
3
4
<Host name="www.ithome.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="test" debug="0" reloadable="true" crossContext="true"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="tot_log." suffix=".txt" timestamp="true"/>
</Host>

配置 DNS, 同理修改 etc/host 文件:

1
127.0.0.1 www.ithome.com

可以看出, 在浏览器输入 http://www.ithome.com/test.htmlhttp://www.mark.com/test.html 效果是一样的.

附录

test.html 文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<p>
<em>Sample</em> text</p>
<p>
Now I input another line, with fancy<u><strong><em>styles</em></strong>
</u>.</p>
<p>
<em>Sample</em> text</p>
<p>
Now I input another line, with fancy <u><strong><em>styles</em></strong>
</u>.</p>
<p>
mark.zhang is an itman.
</p>
<style>
.button {
background-color: #4CAF50;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 86px;
margin: 50px 200px 100px 300px;
cursor: pointer;
border-radius: 15;
}
</style>
<p>
<button type="button" onclick="myFunction()" class="button">Try it</button>
</p>
<script>
function myFunction() {
alert("Blog: www.veryitman.com");
};
</script>
坚持原创技术分享!