Tomcat安装和虚拟主机和context配置

tomcat端口号

8080: 默认接收 http 请求的端口

8005: 安全端口,可以关闭tomcat

8009: apache 和 tomcat 联动 AJP 协议

一、二进制安装Tomcat

注意:安装tomcat 前必须先部署JDK

提前准备tomcat安装包和jdk的rpm包

1.jdk-8u201-linux-x64.rpm

2.apache-tomcat-9.0.16.tar.gz

bash 复制代码
rpm -ivh jdk-8u201-linux-x64.rpm
#安装JDK包
#警告:jdk-8u201-linux-x64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEY
#准备中...                          ################################# [100%]
#正在升级/安装...
#1:jdk1.8-2000:1.8.0_201-fcs        ################################# [100%]


#添加环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

#刷新配置文件
source /etc/profile

tar zxvf apache-tomcat-9.0.16.tar.gz 
cp -r apache-tomcat-9.0.16 /usr/local/tomcat
cd /usr/local/tomcat/

#启动tomcat  #catalina.sh start
/usr/local/tomcat/bin/startup.sh

#/usr/local/tomcat/bin/shutdown.sh 
#关闭服务   #catalina.sh stop

Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.


#建立tomcat用户
useradd -s /sbin/nologin tomcat
#修改属主和属组
chown tomcat:tomcat tomcat/ -R


cat > /usr/lib/systemd/system/tomcat.service <<EOF
[Unit]
Description=Tomcat
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target

EOF
          
systemctl daemon-reload
systemctl start tomcat
systemctl status tomcat
ss -ntap |grep 8080

打开浏览器访问:http://tomcat:8080/,正常可以看到以下界面

tomcat虚拟主机

bash 复制代码
#创建虚拟主机前,必须先创建相关目录,否则创建虚拟机不成功
mkdir /data/web{1,2,3}/ROOT/   -pv
echo  web1 > /data/web1/ROOT/index.html
echo  web2 > /data/web2/ROOT/index.html
echo  web3> /data/web3/ROOT/index.html
chown -R tomcat.tomcat /data/


#修改配置文件
vim /usr/local/tomcat/conf/server.xml 
#找到  host  主机项   ,注意  根目录中 一定要有  ROOT  这是默认 的主目录
#注意 默认的   结束    </HOST>  这段要在  默认结束的后面加上
<Host name="www.a.com"  appBase="/data/web1"
            unpackWARs="true" autoDeploy="true">
            </Host>

      <Host name="www.b.com"  appBase="/data/web2"
            unpackWARs="true" autoDeploy="true">
            </Host>

      <Host name="www.c.com"  appBase="/data/web3"
            unpackWARs="true" autoDeploy="true">
            </Host>

systemctl restart tomcat

Context配置

Context作用:

  • 路径映射:将url映射至指定路径,而非使用appBase下的物理目录,实现虚拟目录功能
  • 应用独立配置,例如单独配置应用日志、单独配置应用访问控制
bash 复制代码
#映射指定路径
<Context path="/test" docBase="/data/test" reloadable="true" />
#映射站点的根目录
<Context path="/" docBase="/data/website" reloadable="true" />
#还可以添加日志等独立的配置
<Context path="/test" docBase="/data/test" reloadable="true" >
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_test_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Context>

说明:

  • path:指的是访问的URL路径,如果path与appBase下面的子目录同名,context的docBase路径优先更高
  • docBase:可以是磁盘文件的绝对路径,也可以是相对路径(相对于Host的appBase)
  • reloadable:true表示如果WEB-INF/classes或META-INF/lib目录下.class文件有改动,就会将WEB应用重新加载。生产环境中,建议使用false来禁用。

Tomcat 实验多级反向代理负载均衡


相关推荐
浮游本尊10 分钟前
Java学习第22天 - 云原生与容器化
java
渣哥2 小时前
原来 Java 里线程安全集合有这么多种
java
间彧2 小时前
Spring Boot集成Spring Security完整指南
java
间彧2 小时前
Spring Secutiy基本原理及工作流程
java
Java水解4 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆6 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学6 小时前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole6 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端
华仔啊6 小时前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端