Tomcat

Tomcat:是一种web服务器,只能运行java开发的项目,由java语言编写,因此想要启动Tomcat需要安装jdk。
本文使用开源的JDK(Centos自带) openjdk

一、基础

	1.安装jdk:
	yum -y install java-1.8.0-openjdk
	yum -y install java-1.8.0-openjdk-headless

	安装tomcat:
	tar -xvf apache-tomcat-xxxx.tar.gz	#解压
	mv tar -xvf apache-tomcat-xxxx /usr/local/tomcat	#更换软件目录
	#由于tomcat由java编写,因此只需要jdk就可以运行,因此不需要源码安装

	2.tomcat目录介绍:
	ls /usr/local/tomcat
	bin/	#主程序,startup.sh用于启动服务,shutdown.sh用于关闭服务
	lib/	#库文件
	logs/	#日志
	temp/	#临时文件
	work/	#自动编译的目录,会把jsp转成servlet
	conf/	#配置文件
	webapps/	#页面目录,war包放在这个目录下,jsp或者html页面放在webapps/Root

	3.tomcat启动问题:
	tomcat启动的时候会从/dev/random中读取足够多的随机数,为了进行安全监测
	/dev/random产生随机数的规则是由内存中的文件数量决定的,可以能会长时间
	不产生随机数,这样tomcat就必须要进行等待。
	/dev/urandom也可以产生一系列随机数,因此可以用/dev/urandom替换/dev/random
	mv /dev/random /dev/random.bak	#备份
	ln -s /dev/random /dev/urandom

二、配置

	1.tomcat虚拟主机:
	修改配置文件:/vra/local/tomcat/conf/server.xml
	appBase表示自定解压war包,autoDeploy表示自动部署
	<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
	</Host>	#name表示域名,appBase表示页面存放的路径 /usr/local/tomcat/a/Root
	<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
	</Host>	#name表示域名,appBase表示页面存放的路径 /usr/local/tomcat/bRoot
	
	页面应该是在 **/Root下,因此需要创建a/Root,b/Root
	mkdir -p /usr/local/tomcat/{a,b}/Root
	重启服务:(tomcat没有重启,只能先关闭再开启)
	/usr/local/tomcat/bin/shutdown.sh
	/usr/local/tomcat/bin/startup.sh

	2.修改www.b.com网站的首页目录为base:
	<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">
	<Context path="" docBase="base"/>	#这样页面就在/usr/local/tomcat/b/base/下
	</Host>

	3.跳转:www.a.com/test -------> /var/www/html/index.html
	<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">	
	<Context path="/test" docBase="/var/www/html/" />	#想当与nginx的rewrite
	</Host>

	4.加密:
	在nginx和http中,需要为每一个虚拟主机需要配置端口号(端口号可以相同)。
	在tomcat中配置端口号以后,所有的虚拟主机都可以使用。
		1°生成私钥和安全证书:
		keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore    #提示输入密码为:123456
		#-genkeypair     生成密钥对
		#-alias tomcat     密钥别名
		#-keyalg RSA     定义密钥算法为RSA算法
		#-keystore         定义密钥文件存储在:/usr/local/tomcat/keystore
	
		2°修改配置文件:/usr/local/tomcat/conf/server.xml
		#大约在58行左右,打开配置文件模板
		<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
		maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
		keystoreFile="/usr/local/tomcat/keystore" keystorePass="123456" clientAuth="false"
		sslProtocol="TLS" />

	5.日志:/usr/local/tomcat/logs
	catalina.xxxxx.log 是主日志,每天都会产生,常常用于排错
	其它就是访问日志。
	为虚拟主机配置日志:
	<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
	<Context path="/test" docBase="/var/www/html/" />
	#从默认localhost虚拟主机中把Valve这段复制过来,适当修改下即可
	<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
	               prefix="a_access" suffix=".txt"
	               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
	</Host>

	6.Nginx调度tomcat集群:
	upstream tomcat {	#创建一个名为tomcat的集群
		server 192.168.2.100:8080;
		server 192.168.2.200:8080;
	}
	server {
		listen 80;	#nginx监听端口
		server_name localhost;	#域名
		location / {
			proxy_pass http://tomcat;	#把请求转发给集群
		}
	}

写总结的第二十天!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值