tomcat安装与配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YaoDeBiAn/article/details/79675048

1.1 JDK安装

64位操作系统中下载64位的JDK,直接安装。  






1.2 Tomcat配置

1.2.1 下载解压

下载apache-tomcat-8.5.15-windows-x64.zip,直接解压到某个分区即可。在解压后的bin目录中,有4个重要的脚本文件:


1.2.2  启动配置

1.2.2.1 简单启动

catalina.bat中的setlocal下面添加两行,配置java环境。

 

之后就可以将startup.bat和shutdown.bat两个文件发送快捷方式到桌面,然后直接双击快捷方式启动或关闭Tomcat程序。

 

1.2.2.2  安装为服务启动

在控制台下进入tomcat目录,过程如下:

                                                                  

在《开始》上按鼠标右键菜单

选择《命令提示符(管理员)》,进入管理员权限的命令行控制台:

                                 

命令行控制台

假设前面tomcat解压目录为:

 

则在控制台中输入:

cd   /d  d:\apache-tomcat-8.5.15\bin

 

比较命令执行前后的《当前目录》

继续在控制台中输入:

service.bat install tomcat8

就可以在系统中安装一个名为tomcat8的系统服务:

 

成功完成服务的安装

可以在计算机管理的服务项中查看到《Apache Tomcat 8.5 tomcat8》系统服务。

 

查看系统服务

继续在命令行控制台中输入:

net start tomcat8

 

命令行启动tomcat8服务

可以使用

net stop tomcat8

关闭tomcat服务。

 

命令行停止服务

当然,有安装就有删除,同样在命令行控制台下,可以执行:

Service.bat remove tomcat8

移除指定名称的tomcat8r的系统服务。

1.2.3  配置manager

Tomcat 7开始,有4种管理角色:

1)manager-gui  可以访问HTML GUI和状态页

2)manager-script 允许访问文本接口和状态面

3)manager-jmx  允许访问JMX代理和状态面

4)manager-status 只允许访问状态页

 

如果需要通过tomcat的manager/html页面登录管理tomcat,则需要修改tomcat-users.xml文件,在其中添加相应的角色的用户。

 

配置好manager-gui角色的用户名和密码后,可以登录管理后台。如下图

 

为了安全,在生产环境中,应该关闭此项配置,即不允许任何用户登录manager页面。或者直接删除tomcat中与后台管理相关的部分

1.2.4 清理tomcat自带项目

Tomcat解压后,默认是自带了示例、管理等项目,可以通过网页直接访问。在生产环境中,为了避免不必要的安全隐患,应该删除掉这些项目。

1.2.5 修改Tomcat WEB端口

Tomcat默认监听8080端口,对于App项目,并不提供给普通的浏览器使用,最好改一下端口,这样至少增加一点猜测识别的难度。

 

1.2.6  禁止显示目录列表

如果浏览器端能够列出WEB服务器端的文件列表。将带来重大安全隐患。因此需要在conf/web.xml文件中通过init-param项禁止列目录的行为。

Tomcat 8中,默认就是禁止的。低版本中应该手工修改此配置文件禁止。

 

1.2.7 服务降权

在生产环境中,不建议Tomcat拥有管理员权限。而应该使用普通用户身份运行Tomcat。

创建一个普通用户,为其设置密码,将其密码策略设置为“密码永不过期”,比如我们创建的用户为tomcat。然后修改tomcat安装文件夹的访问权限,为tomcat赋予Tomcat文件夹的读、写、执行的访问权限,赋予Tomcat对WebApps文件夹的只读访问权限,如果某些Web应用程序需要写访问权限,单独为其授予对那个文件夹的写访问权限。

 

 

选中tomcat解压所在目录,右键属性中,添加tomcat用户可以访问目录,仅限只给中间三项,如下图。

 

另外对webapps目录也执行类似操作,但只赋予tomcat用户对web文件夹的只读访问权限。如果某些目录需要读写,则单独赋与tomcat用户对指定目录的写访问权限。

之后,可以配置Tomcat服务的登录属性。

 

使用tomcat帐户登录,即以tomcat帐户运行该服务。这样就使得tomcat服务的权限较低,即使被攻击,也增加了进一步控制系统的难度。

 

重启服务后生效。

如果是命令行启动,则修改启动命令为:

   runas  /user:tomcat  startup.bat / tomcat8.exe

测试时,这种方式没有通过,执行startup.bat时一闪而过了。执行tomcat8.exe时,提示需要提升。

 

1.2.8 关闭war包的自动部署

war包的自动部署非常方便,但是也容易被攻击者利用,用于在系统中安装木马或攻击工具。可以关闭war包的自动部署功能。

 

将框中的两个true都改成false,则tomcat不会自动解包和自动部署war文件及其中的项目。

在关闭自动部署的条件下,要完成项目的部署可以有几种选择。

1)先自动部署完成,再关闭自动部署

2)手动解压war包,并将其中的内容复制到webapps目录下与项目同名的目录中。

应用程序部署和tomcat启动不能使用同一个用户。

1.2.9 修改连接协议

修改连接器协议,默认是HTTP/1.1,该默认设置不能支持过高的并发量,不然会出现io错误。方法是修改conf/server.xml将<Connector port="8080" protocol="HTTP/1.1"修改为<Connectorport="8080"protocol="org.apache.coyote.http11.Http11NioProtocol"

1.2.10 优化jar包

优化jar包,如果一个jar文件出现在多个WEB应用中的话,可以将该jar文件统一放到一个目录下,以 避免被tomcat 多次加载,耗用内存占用。方法是修改conf目录下的catalina.properties文件,将其中的加载jar包位置的配置项增加一个共享位置:

原始内容

common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar"

后面增加:

"${catalina.home}/share/lib/*.jar"

然后将共用的jar文件放到tomcat下share目录里的lib文件夹里即可。

1.2.11  设置大的JVM内存

有时候服务器有很大的内容,如果不设置tomcat,则可能只利用了其中很小一部分内存。为了修改jvm内存,可以编辑bin/catalina.bat,增加代码:

set JAVA_OPTS=-Xms512m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=256m

 

这里设置的Xmx为4G内存,如果安装的不是64位的JDK,那么在设置最大内存的时候,就会提示不支持。所以操作系统和jdk应该用64位版本。

1.2.12 设置tomcat最大并发数

修改conf目录下的server.xml文件,修改Connector配置。

<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"

                connectionTimeout="20000" maxThreads="1000"

minSpareThreads="100"     maxSpareThreads="300"  

acceptCount="100"         redirectPort="8443"

               URIEncoding="GBK"  useBodyEncodingForURI="true"  />

1.2.13 禁用tomcat资源缓存

默认tomcat会缓存资源,当并发过高时,会导致警告提示,影响性能。如果确定不需要缓存资源,可以项目的META-INF目录下的context.xml文件中,在context中增加:

<Resources cachingAllowed="false"></Resources>

猜你喜欢

转载自blog.csdn.net/YaoDeBiAn/article/details/79675048