您的位置:首页 > 运维架构 > Tomcat

怎么将静态网页放到tomcat服务器,并绑定域名,提供访问?

2017-10-16 17:40 471 查看
通过tomcat的配置来实现这样的需求,首先打开tomcat目录下的conf/中的server.xml,在<service></service>中可以看到原来是这样的:

<Service name="Catalina">

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

<Engine name="Catalina" defaultHost="localhost">

<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>

<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>
</Service>


这个是通过8080端口访问webapps下的项目的配置。

添加别的端口访问

那么如果我们需要添加一个80的端口,使得我们可以用8080访问也可以用80访问相关的项目,那么可以增加一个<service>:

<Service name="**Catalina1**">

<Connector port="**80**" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

<Engine name="**Catalina1**" defaultHost="localhost">

<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>

<Host name="www.aaa.com"  appBase="**webapps1**"
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 path="" docBase="/usr/local/tomcat/apache-tomcat-7.0.64/webapps1/aaa"/>

</Host>

</Engine>
</Service>


可以看到这里将

Service name --> Catalina1
Connector port --> 80
Engine name --> Catalina1
Host name --> 自己指定的域名,比如你想指定http://www.aaa.com访问aaa项目
appBase --> webapps1
docBase --> 项目的位置

配置好了之后,需要在tomcat的根目录下创建webapps1,在conf目录下创建Catalina1,配置好之后那么你就可以在 8080端口下访问webapp中的项目,还可以通过域名访问80端口中的aaa项目了。

多个域名访问不同的项目

我们刚刚配置了http://www.aaa.com且用80端口去访问aaa项目,如果现在我还想通过http://www.bbb.com去访问bbb项目呢,那么这时候就可以在<Service
name="**Catalina1**">这里面添加<Host>:

<Service name="Catalina1">

<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

<Engine name="Catalina1" defaultHost="localhost">

<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>

<Host name="www.aaa.com"  appBase="webapps1"
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 path="" docBase="/usr/local/tomcat/apache-tomcat-7.0.64/webapps/aaa"/>

</Host>

<Host name="www.bbb.com"  appBase="webapps1"
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 path="" docBase="/usr/local/tomcat/apache-tomcat-7.0.64/webapps/bbb"/>
</Host>
</Engine>
</Service>


可以看到我们添加了一个host,然后名称为http://www.bbb.com,docBase指向bbb的项目路径。这样就可以多域名访问了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐