学习内容
tomcat软件包
tomcat
链接:https://pan.baidu.com/s/1kfyi9GGmUktGT3XPF92FCA?pwd=gj01
提取码:gj01
–来自百度网盘超级会员V4的分享
JAVA
JDK
tomcat历史
被orcle收购
openjdk出现
本名catalina
目录结构
tomcat教程
案例1:安装部署Tomcat服务器
- 使用RPM安装open JDK环境或orcle 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版本
- 安装Tomcat
[root@web1 ~]# tar -xf apache-tomcat-8.0.30.tar.gz
[root@web1 ~]# mv apache-tomcat-8.0.30 /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
提示:如果检查端口时,8005端口启动非常慢,可用使用下面的命令用urandom替换random(非必须操作)。
[root@web1 ~]# mv /dev/random /dev/random.bak
[root@web1 ~]# ln -s /dev/urandom /dev/random
- 创建测试JSP页面
[root@web1 ~]# vim /usr/local/tomcat/webapps/ROOT/test.jsp
<html>
<body>
<center>
Now time is: <%=new java.util.Date()%> //显示服务器当前时间
</center>
</body>
</html>
- 重启服务
[root@web1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@web1 ~]# /usr/local/tomcat/bin/startup.sh
- 测试
firefox 192.168.222.110/test.jsp
案例2:使用Tomcat部署虚拟主机
1.实现两个基于域名的虚拟主机
- 修改server.xml配置文件,创建虚拟主机
# cat /usr/local/tomcat/conf/server.xml
<Server>
<Service>
<Connector port=8080 /> # 端口号
<Connector port=8009 />
<Engine>
<Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
</Host> # 每一个Host代表一个虚拟主机
<Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
</Host>
… …
# unpackWARS 自动解压war包
# autoDeploy 自动部署
- 创建虚拟主机对应的页面根路径
[root@web1 ~]# mkdir -p /usr/local/tomcat/{aa,bb}/ROOT
[root@web1 ~]# echo "AAA" > /usr/local/tomcat/aa/ROOT/index.html
[root@web1 ~]# echo "BBB" > /usr/local/tomcat/bb/ROOT/index.html
2.修改主页目录
<Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
<Context path="" docBase="base" reloadable="true"/>
</Host>
3.跳转
当用户访问http://www.aa.com/test打开/var/www/html目录下的页面
<Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html/" />
</Host>
4.SSL
tomcat端口与虚拟主机不绑定,加密只要一次
- 创建加密用的私钥和证书文件
[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
- 再次修改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被注释掉了,打开注释,添加密钥信息即可
5.日志管理
total 48
-rw-r--r--. 1 root root 18157 Jul 14 03:41 catalina.2022-07-14.log # tomcat的日志
-rw-r--r--. 1 root root 18157 Jul 14 03:41 catalina.out
-rw-r--r--. 1 root root 0 Jul 14 00:36 host-manager.2022-07-14.log
-rw-r--r--. 1 root root 3834 Jul 14 03:41 localhost.2022-07-14.log
-rw-r--r--. 1 root root 1782 Jul 14 03:42 localhost_access_log.2022-07-14.txt
-rw-r--r--. 1 root root 0 Jul 14 00:36 manager.2022-07-14.log
<Host .. .. >
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
6. manager
IP:8080/manager
在这里插入代码片
7. nginx负载均衡
http{
upstream toms {
server 192.168.2.100:8080;
server 192.168.2.200:8080;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://toms;
}
}
}