Tomcat与Apache,Nginx一样,都属于Web应用服务器。与Nginx一样,属于轻量级的Web服务器。Tomcat是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。
Tomcat 由于其比较突出的优势,譬如 技术先进、性能稳定,而且免费,所以深受 Java 语言爱好者的喜爱,并且得到了部分软件开发商的认可,目前已经成为比较流行的 Web 应用服务器。Tomcat 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。
Tomcat部分是 Apache 服务器的扩展,但它与 Apache 服务器是独立运行的,互不影响。Apache服务器默认监听80 端口,Tomcat服务器默认监听8080 端口。所以当你运行 Tomcat 时,它是以与 Apache 服务器独立的进程进行的。
java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
,官网找软件资源。[root@cc]# rpm -ivh jdk-8u77-linux-x64.rpm
[root@cc]# tar -xf apache-tomcat-8.0.30.tar.gz
[root@cc]# mv apache-tomcat-8.0.30 /usr/local/tomcat
[root@cc]# cd /usr/local/tomcat
[root@cc]# ls
bin/ //主程序目录
lib/ //库文件目录
logs/ //日志目录
temp/ //临时目录
work/ //自动编译目录jsp代码转化为servlet
conf/ //配置文件目录
webapps/ //网页根目录
[root@cc]# /usr/local/tomcat/bin/catalina.sh start //开启
[root@cc]# /usr/local/tomcat/bin/catalina.sh stop //关闭
/usr/local/tomcat/conf/server.xml,
主要内容如图1:
Server是 Tomcat 实例的顶层元素。一个 tomcat 实例中包括如下内容:
Service 是一个集合,它由一个或者多个 Connection 以及一个Engine组成。 Conneciton 负责接受用户请求和向客户端返回响应的结果。Engine负责处理所有的Connector所获得的客户请求,它处理在同一个 Service 中所有的 Connector 源色接收到的客户请求。它匹配请求和自己的虚拟主机,并将请求结果发给相对应的<Host>
处理,默认的主机是 localhost 。一个<Engine>
元素可以包含多个<Host>
元素,每个<Host>
的元素定义一个虚拟主机,它包含一个或者多个 web 应用。
安装好所有的软件包之后,启动Tomcat服务,测试Tomcat服务,登陆其首页。如图2
[root@cc]# /usr/local/tomcat/bin/catalina.sh start
[root@cc]# firefox http://192.168.2.200:8080
编写 jsp 代码,测试 Tomcat 处理 jsp 代码。
[root@cc]# vim /usr/local/tomcat/webapps/ROOT/testjsp.jsp
<html>
<body>
Now time is: <%=new java.util.Date()%>
</body>
</html>
客户端测试结果如图3:
配置www.bb.com和www.cc.com
[root@cc]# vim /usr/local/tomcat/conf/server.xml
...
<Host name="www.bb.com" appBase="bb"
unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.cc.com" appBase="cc"
unpackWARs="true" autoDeploy="true">
</Host>
...
创建 www.bb.com 和 www.cc.com 的appBase(网页根目录),操作如下:
[root@cc]# mkdir -p /usr/local/tomcat/{bb,cc}/ROOT
[root@cc]# echo "bb" > /usr/local/tomcat/bb/ROOT/index.html
[root@cc]# echo "cc" > /usr/local/tomcat/cc/ROOT/index.html
重启Tomcat服务
[root@cc]# /usr/local/tomcat/bin/catalina.sh stop
[root@cc]# /usr/local/tomcat/bin/catalina.sh start
客户端访问,结果如图4。修改客户端的/etc/hosts
文件,加上www.bb.com
和www.cc.com
本地域名解析:
[root@cc]# firefox http://www.bb.com:8080
[root@cc]# firefox http://www.cc.com:8080
更改主配置文件操作如下:
[root@cc]# vim /usr/local/tomcat/conf/server.xml
<Host name="www.bb.com" appBase="bb"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="base" reloadable="true"/>
</Host>
创建网页根目录
[root@cc]# mkdir /usr/local/tomcat/webapps/base
[root@cc]# echo "bb" > /usr/local/tomcat/bb/ROOT/index.html
重启Tomcat服务
[root@cc]# /usr/local/tomcat/bin/catalina.sh stop
[root@cc]# /usr/local/tomcat/bin/catalina.sh start
客户端访问结果如图5,http://www.bb.com:8080
更改主配置文件操作如下:
[root@cc]# vim /usr/local/tomcat/conf/server.xml
<Host name="www.bb.com" appBase="bb"
unpackWARs="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html" reloadable="true"/>
</Host>
[root@cc]# echo "www.bb.com" > /var/www/html/index.html
重启Tomcat服务
[root@cc]# /usr/local/tomcat/bin/catalina.sh stop
[root@cc]# /usr/local/tomcat/bin/catalina.sh start
客户端访问,结果如图6,http://www.bb.com/test
更改配置文件,操作如下:
[root@cc]# vim /usr/local/tomcat/conf/server.xml
...
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https"
secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/local/tomcat/conf/keystore"
keystorePass="123456"/>
...
生成证书和密钥:
[root@cc]# keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/conf/keystore
//按照提示输入密码123456
重启Tomcat服务
[root@cc]# /usr/local/tomcat/bin/catalina.sh stop
[root@cc]# /usr/local/tomcat/bin/catalina.sh start
客户端访问:https://www.bb.com:8443
结果如图7。点击我以充分了解可能的风险,然后添加例外。最后出现结果,如图8。
更改配置文件,更改日志文件名,与localhost不一致就可以。具体操作如下:
[root@cc]# vim /usr/local/tomcat/conf/server.xml
<Host name="www.bb.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="bb_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"/>
</Host>
重启Tomcat服务
[root@cc]# /usr/local/tomcat/bin/catalina.sh stop
[root@cc]# /usr/local/tomcat/bin/catalina.sh start
客户端访问下www.bb.com
,即可出现相应的日志文件。
可能原因:
未安装JDK,或者JDK安装后为指定正确的环境变量。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。