Tomcat

Tomcat是一个开源免费的Web应用服务器,相对于其它服务器比较轻量,专门用来跑Javaweb应用的,它可以运行静态和动态页面,但是运行静态页面的性能不高,一般采用Nginx+Tomcat

官网:http://tomcat.apache.org/

其他能跑Java的应用

  • WebLogic (Oracle)
  • WebSphere (IBM)
  • Jetty(基于apache开源协议)

一、安装

JDK安装

下载: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

上传至服务器并安装

tar -xf jdk-8u191-linux-x64.tar.gz  -C /usr/local/

安装方式二:

yum install java-1.8.0-openjdk

Tomcat安装

下载: https://tomcat.apache.org/download-90.cgi

上传至服务器并安装

tar -xf apache-tomcat-9.0.14.tar.gz
mv apache-tomcat-9.0.14 /usr/local/tomcat

添加环境变量

方式一:

echo 'export PATH=$PATH:/usr/local/jdk1.8.0_191/bin' >> /etc/profile
echo 'export PATH=$PATH:/usr/local/tomcat/bin' >> /etc/profile
source /etc/profile

方式二:

可以指定java版本,只对tomcat生效,不会影响其他java应用

# vim /usr/local/tomcat/bin/startup.sh 
# vim /usr/local/tomcat/bin/shutdown.sh

#在开启和关闭脚本修改中的最上方添加如下内容
export JAVA_HOME=/usr/local/jdk1.8.0_191
export TOMCAT_HOME=/usr/local/tomcat
export PATH=$JAVA_HOME/bin:$TOMCAT_HOME/bin:$PATH

二、使用

启动关闭

#启动
/usr/local/tomcat/bin/startup.sh 
#关闭
/usr/local/tomcat/bin/shutdown.sh 
#查看日志
tail /usr/local/tomcat/logs/catalin

Docker中启动方式

/usr/local/tomcat/bin/catalina.sh run/start/stop

测试

访问: http://IP:8080/

测试: http://IP:8080/examples/

服务器状态查看

默认情况下只能本机访问,若想要其他机器访问则取消限制

第一步:取消访问限制

vim /usr/local/tomcat/webapps/manager/META-INF/context.xml

#注释掉访问限制
<!--  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

第二步:添加管理员信息

vim /usr/local/tomcat/conf/tomcat-users.xml 

#最后边添加用户信息,注意XML格式
<role rolename="manager-gui"/>
<user username="tomcat" password="123" roles="manager-gui"/>

第三步:重启服务

/usr/local/tomcat/bin/startup.sh 
/usr/local/tomcat/bin/shutdown.sh 

第四步:测试

http://10.1.1.12:8080/manager/status

修改端口

vim /usr/local/tomcat/conf/server.xml 
# 69 <Connector port="8080"

#重新启动
/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh 

三、应用部署

部署项目源码

rm -rf /usr/local/tomcat/webapps/ROOT/*  

上传项目源码至服务器

解压代码至 /usr/local/tomcat/webapps/

部署war

第一步:拷贝war包至 /usr/local/tomcat/webapps

第二步:重启服务

/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh 
#查看日志
tail -f /usr/local/tomcat/logs/catalina.out

四、Nginx+Tomcat

实现动静分离

主机IP
nginx.tigeru.cn10.1.1.11
tomcat1.tigeru.cn10.1.1.12
tomcat2.tigeru.cn10.1.1.13

第一步:环境准备

第二步:

http{
...
    upstream tomcat {
      server 10.1.1.12:8080 weight=1;
      server 10.1.1.13:8080 weight=1;
    }
  server {
        ....
        location ~ .*\.jsp$ {
           proxy_pass http://tomcat;
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $remote_addr;
        }
   }
}        

重启服务 /usr/local/nginx/sbin/nginx -s reload

第三步:测试

创建测试文件

# nginx 服务器
echo nginx > /usr/local/nginx/html/1.html
echo nginx > /usr/local/nginx/html/1.jsp
# tomcat1 服务器
echo tomcat1 > /usr/local/tomcat/webapps/ROOT/1.html
echo tomcat1 > /usr/local/tomcat/webapps/ROOT/1.jsp
# tomcat2 服务器
echo tomcat2 > /usr/local/tomcat/webapps/ROOT/1.html
echo tomcat2 > /usr/local/tomcat/webapps/ROOT/1.jsp

浏览器访问这两个界面进行测试

http://10.1.1.11/1.html
http://10.1.1.11/1.jsp

会发现1.html始终都是现实nginx1.jsp会交替显示tomcat1tomcat2

Last modification:March 9th, 2020 at 11:02 pm