Linux Operation学习------Tomcat

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Operation学习------Tomcat相关的知识,希望对你有一定的参考价值。

1、安装部署Tomcat服务器
1.1使用RPM安装JDK环境
[[email protected] ~]# yum –y install java-1.8.0-openjdk #安装JDK
[[email protected] ~]# yum –y install java-1.8.0-openjdk-headless #安装JDK
[[email protected] ~]# java –version #查看JAVA版本
rpm -qa | grep jdk
1.2安装Tomcat
[[email protected] ~]# tar -xzf apache-tomcat-8.0.30.tar.gz
[[email protected] ~]# mv apache-tomcat-8.0.30 /usr/local/tomcat #移动即是安装
[[email protected] ~]# ls /usr/local/tomcat
1.3启动服务
[[email protected] ~]# /usr/local/tomcat/bin/startup.sh
服务起不来时:
netstat -anptu | grep java
其中包含3个服务(8009;8080;8005)其中8005是一个随机数
mv /dev/random /dev/random.bak
ln -s /dev/urandom /dev/random
1.4网页主页位置
/usr/local/tomcat/webapps/ROOT #根路径
vim /usr/local/tomcat/webapps/ROOT/test.jsp

server.xml ----主配置文件
context.xml -----定义会话管理器,JDBC等
tomcat-users.xml -----用户认证的帐号和密码配置文件
2、使用Tomcat部署虚拟主机
主配置文件:/usr/local/tomcat/conf/server.xml
<Host name=www.aa.com appBase="aa" unpackWARS="true" autoDeploy="true">
#一个Host代表一个网站 appBase 网站位置 unpackWARS 打包文件自动解包
主配置文件框架:
严格区分大小写
<Server> <Service> <Connector/> <Engine>
<Host name="www.a.com" appBase="a" unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.b.com" appBase="b" unpackWARs="true" autoDeploy="true">
</Host>
</Engine> </Services> </Server>

Server是Tomcat实例的顶层元素,一个tomcat实例
Service是一个集合,它由一个或者多个Connector以及一个Engine组成
Connector负责接受用户请求和向客户返回响应结果
Engine负责处理所有Connector所获得的客户请求,它处理在同一个Service中所有
Connector元素接收到的客户请求,它匹配请求和自己的虚拟主机,并将请求发给对应的
<Host>处理,在Engine中显示是默认主机(localhost)
[[email protected] ~]# mkdir -p /usr/local/tomcat/{a,b}/ROOT #建立相对应存放网页的路径
[[email protected] ~]# echo "AA" > /usr/local/tomcat/a/ROOT/index.html
[[email protected] ~]# echo "BB" > /usr/local/tomcat/b/ROOT/index.html
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
查看是否起了3个服务
在测试的客户端修改/etc/hosts 192.168.2.100 www.a.com www.b.com
测试:firefox www.a.com:8080 firefox www.b.com:8080
3、修改网站的首页目录
网站的根页面位置(默认值是ROOT)
<Host name="www.a.com" appBase="a" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="base" reloadable="true"/>
</Host> #docBase和appBase相对应
mkdir /usr/local/tomcat/a/base
echo "base" > /usr/local/tomcat/a/base/index.html
/usr/local/tomcat/bin/startup.sh
firefox www.a.com:8080 页面显示:base
appBase定义基础目录,基础目录下可以有很多项目,默认项目ROOT
docBase定义首页路径(页面存储路径),默认为ROOT
path指定用户访问的URL
4、跳转
当用户访问http://www.a.com/test打开/var/www/html目录下的页面
vim /usr/local/tomcat/conf/server.xml
<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html/" />
</Host>
echo "Test" > /var/www/html/index.html
[[email protected] ~]# /usr/local/tomcat/bin/shutdown.sh
[[email protected] ~]# /usr/local/tomcat/bin/startup.sh
[[email protected] ~]# firefox http://www.a.com:8080/test
//返回/var/www/html/index.html的内容
5、配置Tomcat支持SSL加密网站
keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore
#回车提示输入密码,在/usr/local/tomcat/ 生成keystore
[[email protected] ~]# vim /usr/local/tomcat/conf/server.xml
<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" /> #打开注释,添加密钥位置和密码
[[email protected] ~]# /usr/local/tomcat/bin/catalina.sh stop
[[email protected] ~]# /usr/local/tomcat/bin/catalina.sh start
日志:(位置/usr/local/tomcat/logs/)
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt" #日志名称
pattern="%h %l %u %t "%r" %s %b" />
6、Tomcat优化
并发量优化
<Connector port=”8080” protocol=”HTTP/1.1”
maxThreads=”1000” #客户请求最大线程数
minSpareThreads=”100” maxSpareThreads=”1000”
enableLookups=”false” #是否对访问服务器的客户端进行域名解析
URIEncoding=”utf-8”
acceptCount=”1000” #监听端口队列最大数

以上是关于Linux Operation学习------Tomcat的主要内容,如果未能解决你的问题,请参考以下文章

Linux Operation学习------Tomcat

Linux Operation学习------Memcached/Redis

Linux Operation学习------Nginx

Linux Operation学习------Nginx

Linux Operation学习------Squid/Varnish

Linux Operation学习------SVN/RPM打包