linux搭建tomcat

1:配置多个tomcat,(也可单个) tomcat官网

1.下载tomcat
	wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.47/bin/apache-tomcat-8.5.47.tar.gz

2.解压
	tar -xvf 名称
	
3.重命名,并复制多个出来(如果只需要配置一个,就不需要复制了)
	mv 文件名称 新文件名称
	
4.配置环境变量 vi /etc/profile 添加如下 (如果只需要配置一个,就写下面一个就好了)
	#tomcat1
	export CATALINA_BASE=/usr/local/tomcat8_hars_web
	export CATALINA_HOME=$CATALINA_BASE
	export TOMCAT_HOME=$CATALINA_BASE

	#tomcat2
	export CATALINA_2_BASE=/usr/local/tomcat8_hars_admin
	export CATALINA_2_HOME=$CATALINA_2_BASE
	export TOMCAT_2_HOME=$CATALINA_2_BASE
	
	#tomcat3
	export CATALINA_3_BASE=/usr/local/tomcat8_hars_h5
	export CATALINA_3_HOME=$CATALINA_3_BASE
	export TOMCAT_3_HOME=$CATALINA_3_BASE

	保存退出 后执行该命令:source /etc/profile
	

5.修改对应tomcat中的 bin/catalina.sh  以第二个tomcat为例
	# 修改 和 /etc/profile 中的 变量相同
	## OS specific support.  $var _must_ be set to either true or false. 在这个下面添加
	export CATALINA_BASE=$CATALINA_2_BASE
	export CATALINA_HOME=$CATALINA_2_HOME
	
	保存退出后执行该命令
	chmod 777 catalina.sh

6.修改 tomcat的配置文件 conf/server.xml 修改端口即可,防止端口占用,修改下面的port即可
	<Connector port="7080" protocol="HTTP/1.1"
               connectionTimeout="30000"
               maxHttpHeaderSize="20480"
               minSpareThreads="20"
               maxSpareThreads="50"
               maxThreads="500"
               acceptCount="500"
               maxProcessors="1000"
               minProcessors="5"
               useURIValidationHack="false"
               enableLookups="false"
               redirectPort="8443"/>
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="7088" protocol="AJP/1.3" redirectPort="8443" />
	 

2.静态部署配置

ps:静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。以下3种方式都可以部署:(以harsWeb项目为例说明,harsWeb目录假设是/usr/local/harsWeb)

1.利用Tomcat自动部署
		1.1:将项目放在tomcat下面的webapp下面,然后启动服务器就可以了,Tomcat启动时将自动加载应用。
		1.2:访问地址如下:http://localhost:8080/harsWeb/


2.修改Server.xml文件部署(如果部署是war包,docBase需要是war包的全名,例如 :/usr/local/harsWeb.war )
		2.1:这种方式可以不必将harsWeb目录拷贝到webapps下,直接在/usr/local/harsWeb部署。方法如下,更改conf/server.xml文件,
		
		2.2:修改如下:在Host标签下添加
			<Context path ="/has"  reloadable ="false"  docBase ="/usr/local/harsWeb"  workDir ="/usr/local/harsWeb/work"/>

			reloadable:表示可以在运行时在classes与lib文件夹下自动加载类包。其中reloadable="false"表示当应用程序 中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。

      		docbase:表示应用程序的路径,注意斜杠的方向“/”。 docBase可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。

			workdir:表示缓存文件的放置地址,是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析 。一般格式:项目文件夹/work
		
		2.3:访问地址如下:http://localhost:8080/has/ 


3.增加自定义web部署文件 (如果部署是war包,docBase需要是war包的全名,例如 :/usr/local/harsWeb.war )
		3.1:这种方式和方法2差不多,但不是在Server.xml文件中添加Context标签,而是在conf/Catalina/localhost中添加一个xml文件
		
		3.2:前往conf/Catalina/localhost下面,复制任意一个xml,注意:文件名将作为path值,然后根据方法二中修改xml里面的值,例如 :
			<Context path ="/has"  reloadable ="false"  docBase ="/usr/local/harsWeb"  workDir ="/usr/local/harsWeb/work"/>
		
		3.3:访问地址如下:http://localhost:8080/has/ 

3.tomcat安全配置

一、版本安全
        升级当前的tomcat版本为最新稳定版本。
        故名思议,最新稳定版本就要兼顾最新和稳定这两个概念。
        一个稳定的版本,是需要时间沉淀的,而最新又是相对于稳定版而言的最新。
        因此我们一般会选择当前大版本中,最新版本往前推几个版本或者往前推几个月出的版本。
		目前,企业常用的tomcat大版本为6.0和7.0版本,8.0版本虽然已经出了很久了,但是仍然不建议使用。
		
       在升级版本中,需要注意的事情有两点:
       1、尽量避免跨大版本的升级
       2、将当前老版本 tomcat 的server.xml、catalina.sh、web.xml和tomcat-users.xml文件进行备份,
       	  然后部署完新版本的 tomcat 之后,将这些配置文件覆盖过去即可,然后停掉旧版本,启动新版本即可完成升级操作。

二、隐藏版本信息
       为了避免黑客针对某些版本进行攻击,因此我们需要隐藏或者伪装 Tomcat 的版本信息。
			[root@localhost ~]# cd /usr/local/apache-tomcat-7.0.53/lib
			[root@localhost lib]# mkdir -p org/apache/catalina/util
			[root@localhost lib]# cd org/apache/catalina/util
			[root@localhost util]# vim ServerInfo.properties
			server.info=nolinux        # 如果想修改成其它版本号,把这个地方的值改成其它值就行了

三、优化 tomcat-user.xml
       该文件含有用户名、角色以及密码的清单文件。负责提供webapps下manager项目的登录认证管理。
       在生产环境中,我们需要将该文件全部注释。

四、优化 server.xml
		1、maxThreads 连接数限制
       		maxThreads 是 Tomcat 所能接受最大连接数。一般设置不要超过8000以上,
       		如果你的网站访问量非常大可能使用运行多个Tomcat实例的方法,即,在一个服务器上启动多个tomcat然后做负载均衡处理。

		2、管理AJP端口
	       AJP是为 Tomcat 与 HTTP 服务器之间通信而定制的协议,能提供较高的通信速度和效率。
	       如果tomcat前端放的是apache的时候,会使用到AJP这个连接器。
	       由于我们公司前端是由nginx做的反向代理,因此不使用此连接器,因此需要注销掉该连接器。
			<!--
			    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
			-->

		3、更改 Tomcat 的服务监听端口
      	   一般公司的 Tomcat 都是放在内网的,因此我们针对 Tomcat 服务的监听地址都是内网地址。
			修改实例:
				<Connector port="8080" address="172.16.100.1" />

		4、关闭war自动部署
			默认 Tomcat 是开启了对war包的热部署的。为了防止被植入木马等恶意程序,因此我们要关闭自动部署。
			修改实例:
				<Host name="localhost"  appBase="" unpackWARs="false" autoDeploy="false">

五、禁用 Tomcat 管理页面
	   	我们线上是不使用 Tomcat 默认提供的管理页面的,因此都会在初始化的时候就把这些页面删掉。这些页面是存放在 Tomcat 安装目录下的webapps目录下的。
		我们只需要删除该目录下的所有文件即可。
		当然,还有涉及管理页面的2个配置文件 host-manager.xml 和 manager.xml 也需要一并删掉。这两个文件存放在 Tomcat 安装目录下的conf/Catalina/localhost目录下。

六、用普通用户启动 Tomcat
		为了进一步安全,我们不建议使用 root 来启动 Tomcat。这边建议使用专用用户 tomcat 或者 nobody 用户来启动 Tomcat。
		在启动之前,需要对我们的tomcat 安装目录下所有文件的属主和属组都设置为指定用户。

七、分离 Tomcat 和项目的用户
	    为了防止 Tomcat 被植入 web shell 程序后,可以修改项目文件。因此我们要将 Tomcat 和项目的属主做分离,这样子,即便被搞,他也无法创建和编辑项目文件。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值