Tomcat安装与配置(linux版)

1,安装jdk

[root@web1 ~]# yum -y install  java-1.8.0-openjdk                //安装JDK

[root@web1 ~]# yum -y install java-1.8.0-openjdk-headless        //安装JDK

[root@web1 ~]# java -version                                    //查看JAVA版

2,安装tomcat

[root@web1 ~]# wget  http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz

[root@web1 ~]# tar -xf  apache-tomcat-8.5.42.tar.gz

[root@web1 ~]# mv apache-tomcat-8.5.42  /usr/local/tomcat

[root@web1 ~]# ls /usr/local/tomcat

bin/                                            //主程序目录

lib/                                            //库文件目录

logs/                                          //日志目录  

temp/                                         //临时目录

work/                                        //自动编译目录jsp代码转换servlet

conf/                                        //配置文件目录

webapps/                                        //页面目录

[root@web1 ~]# /usr/local/tomcat/bin/startup.sh

[root@web1 ~]# firewall-cmd --set-default-zone=trusted

[root@web1 ~]# setenforce 0

[root@web1 ~]# netstat -nutlp |grep java        //查看java监听的端口

tcp        0      0 :::8080              :::*                LISTEN      2778/java           

tcp        0      0 ::ffff:127.0.0.1:8005     :::*         LISTEN       2778/java  

提示:如果检查端口时,8005端口启动非常慢,可用使用下面的命令用urandom替换random(非必须操作)。

[root@web1 ~]# mv /dev/random  /dev/random.bak

[root@web1 ~]# ln -s /dev/urandom  /dev/random

##客户端浏览测试页面

[root@client ~]# curl http://192.168.2.100:8080

或者浏览器输入地址http://192.168.2.100:8080即可验证

3,配置虚拟主机

1)修改server.xml配置文件,创建虚拟主机

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml

… …

<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">

</Host>

<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">

</Host>

2)创建虚拟主机对应的页面根路径

[root@web1 ~]# mkdir -p  /usr/local/tomcat/{a,b}/ROOT

[root@web1 ~]# echo "AAA"   > /usr/local/tomcat/a/ROOT/index.html

[root@web1 ~]# echo "BBB" > /usr/local/tomcat/b/ROOT/index.html

3)重启Tomcat服务器

[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh

[root@web1 ~]# /usr/local/tomcat/bin/startup.sh

4)客户端设置host文件,并浏览测试页面进行测试(proxy充当客户端角色)

注意:ssh远程连接时使用使用-X参数才可以!!!

[root@proxy ~]# vim /etc/hosts

… …

192.168.2.100      www.a.com  www.b.com

[root@proxy ~]# curl http://www.a.com:8080/        //注意访问的端口为8080

AAA

[root@proxy ~]# curl http://www.b.com:8080/

BBB

4,修改www.b.com网站的首页目录为base

1)使用docBase参数可以修改默认网站首页路径

[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml

… …

<Host name="www.a.com" appBase="a" unpackWARS="true" autoDeploy="true">

</Host>

<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">

   #决定网站的根目录,默认ROOT

</Host>

… …

[root@web1 ~]# mkdir  /usr/local/tomcat/b/base

[root@web1 ~]# echo "BASE" > /usr/local/tomcat/b/base/index.html

[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh

[root@web1 ~]# /usr/local/tomcat/bin/startup.sh

提示:

reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。

2)测试查看页面是否正确(proxy充当客户端角色)

[root@proxy ~]# firefox http://www.b.com:8080/        //结果为base目录下的页面内容

BASE

5,tomcat跳转

1)当用户访问http://www.a.com/test打开/var/www/html目录下的页面

[root@web1 ~]# 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>

<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">

<Context path="" docBase="base" />

</Host>

… …

[root@web1 ~]# echo "Test" > /var/www/html/index.html

[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh

[root@web1 ~]# /usr/local/tomcat/bin/startup.sh

2)测试查看页面是否正确(proxy充当客户端角色)

[root@proxy ~]# curl http://www.a.com:8080/test    

Test

//返回/var/www/html/index.html的内容

//注意,访问的端口为8080

6,配置Tomcat支持SSL加密网站

[root@web1 jluo]# keytool --help

-certreq生成证书请求

-changealias更改条目的别名

-delete删除条目

-exportcert导出证书

-genkeypair生成密钥对

-genseckey生成密钥

-gencert根据证书请求生成证书

-importcert导入证书或证书链

-importpass导入口令

-importkeystore从其他密钥库导入一个或所有条目

-keypasswd更改条目的密钥口令

-list列出密钥库中的条目

-printcert打印证书内容

-printcertreq打印证书请求的内容

-printcrl打印 CRL 文件的内容

-storepasswd更改密钥库的存储口令


[root@web1 jluo]# keytool -genkeypair -help

-alias 要处理的条目的别名

-keyalg 密钥算法名称

-keysize 密钥位大小

-sigalg 签名算法名称

-destalias 目标别名

-dname 唯一判别名

-startdate 证书有效期开始日期/时间

-ext                    X.509扩展

-validity 有效天数

-keypass 密钥口令

-keystore 密钥库名称

-storepass 密钥库口令

-storetype 密钥库类型

-providername 提供方名称

-providerclass 提供方类名

-providerarg 提供方参数

-providerpath 提供方类路径

-v详细输出

-protected通过受保护的机制的口令

1)创建加密用的私钥和证书文件

[root@web1 ~]# keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore                //提示输入密码为:123456

//-genkeypair生成密钥对

//-alias tomcat密钥别名

//-keyalg RSA定义密钥算法为RSA算法

//-keystore定义密钥文件存储在:/usr/local/tomcat/keystore

2)再次修改server.xml配置文件,创建支持加密连接的Connector

[root@web1 ~]# 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" />

//备注,默认这段Connector被注释掉了,打开注释,添加密钥信息即可

keystoreFile=”密钥绝对路径” keystorePass=”密钥密码”

3)重启Tomcat服务器

[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh

[root@web1 ~]# /usr/local/tomcat/bin/startup.sh

4)客户端设置host文件,并浏览测试页面进行测试(proxy充当客户端角色)

[root@proxy ~]# vim /etc/hosts

… …

192.168.2.100      www.a.com  www.b.com

[root@proxy ~]# curl https://www.a.com:8443/

[root@proxy ~]# curl  https://www.b.com:8443/

[root@proxy ~]# curl https://192.168.2.100:8443/

7,配置Tomcat日志

1)为每个虚拟主机设置不同的日志文件

[root@web1 ~]# 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/" />

#从默认localhost虚拟主机中把Valve这段复制过来,适当修改下即可

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"     #日志存放目录

               prefix=" a_access" suffix=".txt"  #文件名,扩展名

               pattern="%h %l %u %t "%r" %s %b" />

</Host>

<Host name="www.b.com" appBase="b" unpackWARS="true" autoDeploy="true">

<Context path="" docBase="base" />

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix=" b_access" suffix=".txt"

               pattern="%h %l %u %t "%r" %s %b" />

</Host>

.. ..

2)重启Tomcat服务器

[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh

[root@web1 ~]# /usr/local/tomcat/bin/startup.sh

3)查看服务器日志文件

[root@web1 ~]# ls /usr/local/tomcat/logs/



结束语:

更多精彩内容持续更新中,关注我,有你更精彩。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容