Fork me on GitHub

Tomcat部署多个项目及相关配置

配置多个项目

  在tomcat的conf目录下,找到server.xml,在其中添加节点即可进行多个项目的部署.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 <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 &quot;%r&quot; %s %b" />
<Context docBase="uim" path="" />
</Host>
<Host name="www.ycyoes.com" appBase="hcode"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
<Context docBase="hcode" path="" />
</Host>

  其中,name为localhost或者IP或者是域名,appBase为项目所在目录,可为绝对路径或者相对路径。配置完成后启动Tomcat即可。

配置域名访问

  在server.xml中节点的name属性输入域名即可,如:

1
2
<Host name="www.ycyoes.com" appBase="hcode"
unpackWARs="true" autoDeploy="true">

  即可在浏览器中通过http://www.ycyoes.com/appName 进行访问。

项目名缺省

  一般的,进行项目访问时需要在url最后输入系统名称,如http://www.ycyoes.com/appName, 可通过tomcat配置,缺省系统名称也可访问。
  在节点内添加如下内容:

1
<Context docBase="hcode" path="" />

  其中,docBase即为系统名称,此时通过http://www.ycyoes.com 即可进行系统的访问。

系统访问时端口号缺省

  在访问系统时一般需要在ip地址后带上端口号,如http://ip:port/appName ,但是80端口可缺省,配置tomcat端口为80则不需要在url中输入端口。配置如下:

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

  此时可通过http://ip/appName 进行访问。

https访问配置

  打开server.xml进行如下配置:

1
2
3
4
5
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS" keystoreFile="/home/doc/keys/213972284410468.pfx"
keystoreType="PKCS12"
keystorePass="213972284410468" />

  添加keystoreFile,keystoreType,keystorePass即可进行https访问。

自动跳转到https连接

  如果希望输入http链接时自动跳转到https,需要在web.xml中添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

  以上内容位置在内,添加后输入http访问时会自动跳转到https连接。

https访问端口号缺省

  Tomcat中https默认端口为8443,该为443后可进行端口号缺省访问系统。如下:

1
2
3
4
5
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="/home/doc/keys/213972284410468.pfx"
keystoreType="PKCS12"
keystorePass="213972284410468"/>

ycyoes wechat
欢迎您扫一扫上面的二维码,订阅我的微信公众号!
坚持原创技术分享,您的支持将鼓励我继续创作!