一、域名申请及解析
说明:在进行域名绑定之前,首先要进行域名的申请备案。我将以在腾讯云申请并备案为例进行讲解(
其中只有在申请域名时候会有资费
)。
提示:在备案过程中,需要打印材料,拍照等流程,并且需要申请拍照幕布,所以需要提前规划时间,以免误事。
- 在域名申请好之后,查看我的域名,其中列出了我已购买的域名。点击解析,然后添加记录。关于域名解析,请查看·域名解析及管理`。
提示:在进行解析的时候,可以将自己的域名和服务器绑定起来。
二、将域名与tomcat进行绑定
在将域名与tomcat绑定之前,先考虑如下几个问题:
- 若将project1部署在了tomcat下面,那么可以通过输入
http://IP:8080/project1
进行访问,但是如何通过http://IP/project1
就可以访问到project1?- 如何通过域名访问到项目,即以
http://mydomain/project1
的形式来访问project1?- 如何去掉项目名称project1,直接使用域名来访问project1,即以
http://mydomain
的形式访问project1?
前提条件
启动tomcat,并已将project1.war包放在*%TOMCAT_HOME%webapps目录下面,使其自解压成功。(TOMCAT_HOME指tomcat的安装路径)
解决
- 解决第一个问题,修改tomcat的监听端口。首先需要将监听端口设置为80,这样用户不需要在浏览器输入:8080来访问网站,浏览器也会自动将请求发送到服务器的80端口。
具体解决方案如下:
修改%TOMCAT_HOME%conf目录下的server.xml文件中的端口号,将8080改为80,代码如下。(TOMCAT_HOME指tomcat的安装路径)。
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
验证
输入http://IP/project1
可以访问到project1。
- 解决第二个问题,将域名和web服务器绑定。
具体解决方案如下:
修改%TOMCAT_HOME%conf目录下的server.xml文件中Host节点的属性,将name属性修改为自己的域名。代码如下。(TOMCAT_HOME指tomcat的安装路径)。
<Host name="www.flyeast.top" appBase="webapps" unpackWARs="true" autoDeploy="true">
验证
输入http://mydomain/project1
访问project1。
3.解决第三个问题,修改默认站点。
科普:站点是具有特定结构的文件夹,在服务器上都是用文件夹(即目录结构)来存储和管理的。但是它和普通的文件夹又不同,在tomcat里,可用于作为站点的文件夹必须有如下特点:拥有一个名为WEB-INF的子文件夹,该子文件夹下必须有一个名为web.xml的文件,而且该xml文件必须受约束与特定的DTD。
具体解决方案:
tomcat默认是将空站点指向ROOT的代码,所以在设置自己的默认站点时,需要告诉tomcat的指向,即在<Host>
节点下,添加一个子节点<Context>
,告诉tomcat项目的存储路径。代码如下:
<Host name="www.flyeast.top" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- 添加下面一行代码 -->
<Context docBase="project1" path="" reloadable="true"/>
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>
验证
输入http://mydomain
访问project1。