前段时间自己做了个网站想使用域名访问于是研究了一下关于域名解析与tomcat容器配置的问题,主要涉及
1.如何用域名绑定项目
2.如何使用多个项目
首先说下域名解析,当你在域名商购买域名后会在管理后台提供一个域名解析服务如下(万网)
打开 -域名
会把域名都展示出来如下
点击域名后边的解析 首次解析会显示如下
选择设置网站解析
输入服务器的外网IP地址
这样解析就成功了,需要等待1分钟即可正常使用
解析的记录会分为两个
www 意思是网站可以通过如www.servlet.cc访问
@ 意思可以通过 servlet.cc访问
一般我们两个都使用
下面介绍下tomcat的配置
我用的是windows server2012版服务器 Tomcat6.0.14
首先打开tomcat主目录如下
打开conf文件夹
用记事本编辑server.xml
可以直接复制以下的内容也可以根据我的说明去修改server.xml的配置
<Server port="8005" shutdown="SHUTDOWN">
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="servlet.cc">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="servlet.cc" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="shangcheng" path="" reloadable="true"/>
</Host>
</Engine>
</Service>
</Server>
下面我来讲解几个需要配置的地方
1. <Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
这里的端口(port)默认为8080 改为80这样就不用输入端口了
2. <Host name="servlet.cc" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="shangcheng" path="" reloadable="true"/>
</Host>
这个是一整个Host标签
name填写一个名字通常是域名
docBase填写项目的名称
Host可以配置多个 每个的name不能相同
可以通过 <Engine name="Catalina" defaultHost="servlet.cc">这句设置默认的项目 defaultHost这个的值填写Host的name这样域名就会默认打开这个项目