这篇文章是从我的个人博客站点中搬过来的,后面不打算继续维护站点了,所以将之前的文章搬过来。 原文写于2017年9月30号。
恰逢最近阿里云做活动,对新用户推出1元注册域名的优惠,于是随便注册了一个域名,并把本机作为服务器(本来想抢阿里云6个月免费使用的云服务器的,抢了几天都没抢到,只好使用本机来代替一下),简单记录一下域名解析及tomcat服务器的配置过程。
域名注册
进入阿里云管理控制台,域名与网站|域名
> 域名注册
,输入想要注册的域名,查询是否已经被注册,若没有被注册则可购买、注册。这篇博客以注册的域名mywebsite.top
为例。
服务器准备
购买阿里云服务器或者其他服务商提供的主机,并获取到主机的IP地址,这篇博客以我本机的IP10.2.202.155
为例。在主机中安装jre、tomcat,并配置环境变量等,保证tomcat能正确启动,在浏览器中能看到tomcat的welcome页面。
为了便于在浏览器中输入网址时不带端口号,需要使用默认的 80
端口,打开tomcat安装目录下的 conf\server.xml
,将http协议的端口由原来的 8080
改为 80
:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
域名管理
进入阿里云管理控制台,域名与网站|域名|域名列表
,即可看到注册的域名。点击域名列表记录中的管理
,进入域名管理页面。
进入域名解析
页面。
默认站点配置、A类型域名解析
添加两条记录类型为 A
类型的解析:
- 一条解析的
主机记录
为@
或者不填写,解析线路
为默认
,记录值
填写主机的IP地址,如10.2.202.155
,注意IP地址不含端口号和子目录等。该条解析将域名解析为mywebsite.top
,即在浏览器中输入mywebsite.top
后会跳转到设定的IP地址对应的默认站点 - 另一条解析的
主机纪录
为www
,其他设置和上面相同。 该条解析将域名解析为www.mywebsite.top
, 即在浏览器中输入www.mywebsite.top
后也会跳转到IP地址对应的默认站点。
虚拟主机配置
一般情况下,我们都会在一台主机中部署多个站点,但是一台主机仅有一个 80
端口,为了在访问所有站点时都不需要输入端口,都能使用到默认的端口,就需要在tomcat中添加虚拟主机。下面以两个站点为例来说明配置过程,对应的网址分别为 a.mywebsite.top
和 b.mywebsite.top
。
首先编写两个测试的站点,在 webapps
目录下新建两个文件夹 a
、 b
,并在这两个文件夹下均新建一个 ROOT
文件夹,ROOT
文件夹内存放的就是具体的站点的内容,这里我们分别新建两个测试文件 index.html
,并简单编辑一下。完成后目录结构如下图:
webapps
|--a
|--|--ROOT
| | |--index.html
|--b
|--|--ROOT
| | |--index.html
|..ROOT
|......
注意:实际上这里可以将站点文件放在任何地方的,我将他们放在 webapps
下是为了方便使用 localhost
测试看效果。另外将站点内容放在 ROOT
文件夹中是因为 ROOT
文件夹是站点的默认访问目录。webapps
目录下也有一个 ROOT
目录,该目录是 mywebsite.top
或者 www.mywebsite.top
访问的目录。
想要在tomcat中添加一个虚拟主机,需要打开 conf\server.xml
, 在 Engine
节点下添加一个 Host
:
<Host name="a.mywebsite.top" appBase="E:\apache-tomcat-7.0.79\webapps\a"
unpackWARs="true" autoDeploy="true">
</Host>
上面的代码中:
- name : 表示用户访问的虚拟主机名字
- appBase : 应用程序基本目录,即存放应用程序的目录
重复上面的步骤,添加另一个虚拟主机:
<Host name="b.mywebsite.top" appBase="E:\apache-tomcat-7.0.79\webapps\b"
unpackWARs="true" autoDeploy="true">
</Host>
CNAME类型域名解析
在阿里云管理控制台域名解析页面,添加两条域名解析:
-
记录类型
为CNAME
,主机纪录
为a
,解析线路
为默认
,记录值
为域名mywebsite.top
(注意,这里需要填写域名而不是IP地址) -
记录类型
为CNAME
,主机纪录
为b
,解析线路
为默认
,记录值
为域名mywebsite.top
(注意,这里需要填写域名而不是IP地址)
填写完成后,保存。大概1分钟后就能使用域名解析了。不出意外,在浏览器中分别输入 a.mywebsite.top
和 b.mywebsite.top
后将会跳转到不同的站点的首页。
虚拟目录设置
在前面的 虚拟主机配置
中,默认将每个站点中的内容都放在了 ROOT
文件夹中,实际上这不是必需的。可以使用 虚拟目录
来解决。
在主机节点内添加虚拟目录配置:
<Host name="a.mywebsite.top" appBase="E:\apache-tomcat-7.0.79\webapps\a"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="app"/>
<Context path="cx" docBase="D:\cx"/>
</Host>
其中
- path : 表示访问的时候需要添加的路径。如果为空,则表示默认访问这个。
- docBase : 虚拟目录的位置,在这个目录中放置知站点的具体内容。
上面的虚拟目录配置后,当在浏览器中输入 a.mywebsite.top
时,实际访问的是 E:\apache-tomcat-7.0.79\webapps\a\app
中的内容;当在浏览器中输入 a.mywebsite.top/cx
时,实际访问的是 D:\cx
中的内容。
注意:
如果虚拟主机中不写 Context
,那么默认访问的就是 ROOT
目录。
如果写了,并且有一个虚拟目录的path为空,那么默认访问的就是该虚拟目录的位置。
到此,域名解析、tomcat服务器配置等基本完成,更多详细的配置请查看相关帮助文档。