WEB集群-Tomact集群

news2024/11/15 9:19:28

linux云计算中小企业规模集群架构设计图----总结

在写今天内容前,小编绘制一个图:我设计了linux云计算中小企业规模集群架构设计图(也可根据业务需求,增加业务变成大型企业架构设计图)

在这里插入图片描述

知识补充–故障案例-https no such故障案例

在这里插入图片描述
原因分析:

  1. SSL证书文件或密钥文件路径错误:
    • 在Nginx配置文件中(通常是nginx.conf),ssl_certificate和ssl_certificate_key指令后指定的文件路径可能不正确。
    • 文件名或扩展名可能拼写错误。
  2. 文件权限问题:
    • SSL证书文件和密钥文件的权限设置可能不正确,导致Nginx无法读取这些文件。
  3. 文件不存在:
    • 指定的文件在服务器上可能根本不存在。
  4. Nginx配置错误:
    • Nginx配置文件可能存在语法错误,导致Nginx无法正确解析并加载SSL配置。
  5. 服务器或网络问题:
    • 服务器上的磁盘空间不足或文件系统损坏可能导致文件无法访问。
    • 网络问题可能导致服务器无法正确读取存储在远程位置的文件。

解决方案:

  1. 检查文件路径和文件名:
    • 确保Nginx配置文件中指定的SSL证书和密钥文件的路径和文件名完全正确。
    • 使用ls -l命令在服务器上检查文件是否存在及其路径是否正确。
  2. 检查文件权限:
    • 确保Nginx进程有权访问SSL证书和密钥文件。通常,这些文件应该由root用户拥有,并且Nginx进程(通常也是以root或特定用户身份运行)应该有读取权限。
  3. 重新加载Nginx配置:
    • 修改Nginx配置文件后,使用nginx -t命令检查配置文件的语法是否正确。
    • 如果配置文件没有问题,使用nginx -s reload命令重新加载Nginx配置。
  4. 查看Nginx错误日志:
    • 检查Nginx的错误日志文件(通常位于/var/log/nginx/error.log),以获取有关无法加载SSL证书或密钥文件的更多信息。
  5. 检查磁盘空间和网络连接:
    • 确保服务器上有足够的磁盘空间来存储SSL证书和密钥文件。
    • 检查服务器的网络连接,确保Nginx可以访问存储在远程位置的文件(如果有的话)。
  6. 重新生成或获取SSL证书:
    • 如果SSL证书已过期或损坏,请考虑重新从证书颁发机构获取新的证书

知识补充–故障案例-keepalived调用脚本监控服务失败

在使用 Keepalived 作为高可用性解决方案时,经常会配置脚本来监控特定的服务(如Web服务器、数据库等)的状态。如果服务未运行或响应异常,Keepalived 应该根据配置执行相应的动作(如故障转移)。有时可能会遇到 Keepalived 调用脚本监控服务失败的情况,导致无法正确地进行故障检测或转移

解决方案:

  • keepalived执行脚本失败
  • 脚本权限,并确保有执行权限(chmod +x script.sh命令)
  • 验证脚本功能(手动运行脚本,检查脚本的输出与检查)
  • 根据错误提示查看配置文件内容
  • 查看keepalived日志/var/log/messages
  • 查找关键词:faild,error,unkown等词

知识补充–故障案例–wordpress无法一直停留在登录页面方法

解决方案:

  • 清除浏览器缓存与cookie
  • 检查WordPress URL和服务器状态
  • 修改wp-config.php文件
  • 修改wp-includes/pluggable.php文件
  • 直接在浏览器中输入登录页面的URL(如http://你的域名/wp-login.php)可以绕过一些潜在的登录问题。

WEB集群-Tomact集群

内容

  • java容器
  • jvm,jre,jdk
  • 部署java环境,tomact
  • 目录结构
  • 配置使用
  • 常用部署java代码方式:war,jar
  • nginx+tomact
  • 远程监控功能
  • tomact故障案例
  • 前后端分离项目

java容器

  • java容器:用于存放与运行java代码的环境

  • web中间件

在这里插入图片描述

weblogic属于oracle(甲骨文)

JVM-JRE-JDK

  • 1份代码处处运行与使用,代码的可移植性
  1. JVM:java虚拟机中,运行java代码的地方
  2. JRE:java Runtime Enviroment java运行环境,提供jvm环境,java命令
  3. JDK:Java Development Kit java开发环境,jvm+jre+额外功能

在这里插入图片描述

提示:
未来部署JDK即可,jdk
jdk–>oracle
openjdk —》开源
未来根据开发使用的环境准备即可
目前主要版本:jdk 1.8 jdk 8 jdk22.0.2

Tomcat部署

1.环境准备

在这里插入图片描述

2.部署jdk

  • jdk 1.8.351 8u351(二进制部署)
    在这里插入图片描述
[root@web03 ~]#mkdir -p /app/tools
[root@web03 ~]#tar xf jdk-8u351-linux-x64.tar.gz -C /app/tools/
[root@web03 ~]#ll /app/tools/
总用量 0
drwxr-xr-x 8 root root 273 724 18:56 jdk1.8.0_351

# 创建软链接,方便升级或者后续操作
[root@web03 ~]#ln -s /app/tools/jdk1.8.0_351/   /app/tools/jdk
[root@web03 ~]#ll /app/tools/jdk
lrwxrwxrwx 1 root root 24 724 21:14 /app/tools/jdk -> /app/tools/jdk1.8.0_351/

配置java环境变量,一般是二进制安装需要配置(yum安装或者rpm包方式安装就不需要配置)
cat >>/etc/profile<<'EOF'
export JAVA_HOME=/app/tools/jdk   
export PATH=$JAVA_HOME/bin:$JAvA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
EOF

# 查看
[root@web03 ~]#tail /etc/profile
done

unset i
unset -f pathmunge
#PS1='\[\e[32;1m\][\u@\h \W]\$ \[\e[0m\]'

export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$'
export JAVA_HOME=/app/tools/jdk   
export PATH=$JAVA_HOME/bin:$JAvA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

#让它进行生效
[root@web03 ~]#source /etc/profile


#检查,如果好了会有java命令
[root@web03 ~]#java -version
java version "1.8.0_351"
Java(TM) SE Runtime Environment (build 1.8.0_351-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.351-b10, mixed mode)

说明:

export JAVA_HOME=/app/tools/jdk   #JDK目录
export PATH=$JAVA_HOME/bin:$JAvA_HOME/jre/bin:$PATH  #JAVA PATH路径或命令
export CLASSPATH=.$CLASSPATH:.$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar           #依赖,jar包路径

部署tomact

  • tomact 8.5 9.0

  • https://tomcat.apache.org/

在这里插入图片描述

  • 上传tomact 9.052版本
    在这里插入图片描述
#解压,并指定解压目录
[root@web03 ~]#tar xf apache-tomcat-9.0.52.tar.gz -C /app/tools/

#查看相关信息
[root@web03 ~]#ll -h
总用量 154M
-rw-------. 1 root root 1.6K 54 19:50 anaconda-ks.cfg
-rw-r--r--  1 root root  11M 824 2021 apache-tomcat-9.0.52.tar.gz
-rw-r--r--  1 root root 143M 724 12:01 jdk-8u351-linux-x64.tar.gz

[root@web03 ~]#ll /app/tools/
总用量 0
drwxr-xr-x 9 root root 220 724 21:34 apache-tomcat-9.0.52
lrwxrwxrwx 1 root root  24 724 21:14 jdk -> /app/tools/jdk1.8.0_351/
drwxr-xr-x 8 root root 273 724 18:56 jdk1.8.0_351

#创建软链接,这里注意/app/tools/tomact(tomact后面不能有/,如果有就变成了目录!!!)
[root@web03 ~]#ln -s /app/tools/apache-tomcat-9.0.52/   /app/tools/tomact
#查看
[root@web03 ~]#ll /app/tools/tomact/
总用量 128
drwxr-x--- 2 root root  4096 724 21:34 bin
-rw-r----- 1 root root 18949 731 2021 BUILDING.txt
drwx------ 2 root root   238 731 2021 conf
-rw-r----- 1 root root  6210 731 2021 CONTRIBUTING.md
drwxr-x--- 2 root root  4096 724 21:34 lib
-rw-r----- 1 root root 57092 731 2021 LICENSE
drwxr-x--- 2 root root     6 731 2021 logs
-rw-r----- 1 root root  2333 731 2021 NOTICE
-rw-r----- 1 root root  3372 731 2021 README.md
-rw-r----- 1 root root  6898 731 2021 RELEASE-NOTES
-rw-r----- 1 root root 16507 731 2021 RUNNING.txt
drwxr-x--- 2 root root    30 724 21:34 temp
drwxr-x--- 7 root root    81 731 2021 webapps
drwxr-x--- 2 root root     6 731 2021 work

[root@web03 ~]#ll /app/tools/
总用量 0
drwxr-xr-x 9 root root 220 724 21:34 apache-tomcat-9.0.52
lrwxrwxrwx 1 root root  24 724 21:14 jdk -> /app/tools/jdk1.8.0_351/
drwxr-xr-x 8 root root 273 724 18:56 jdk1.8.0_351
lrwxrwxrwx 1 root root  32 724 21:36 tomact -> /app/tools/apache-tomcat-9.0.52/

#检查tomact中能不能调用系统中的JDK?
[root@web03 ~]#/app/tools/tomact/bin/version.sh 
Using CATALINA_BASE:   /app/tools/tomact
Using CATALINA_HOME:   /app/tools/tomact
Using CATALINA_TMPDIR: /app/tools/tomact/temp
Using JRE_HOME:        /app/tools/jdk
Using CLASSPATH:       /app/tools/tomact/bin/bootstrap.jar:/app/tools/tomact/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Server version: Apache Tomcat/9.0.52
Server built:   Jul 31 2021 04:12:17 UTC
Server number:  9.0.52.0
OS Name:        Linux
OS Version:     3.10.0-1160.118.1.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_351-b10
JVM Vendor:     Oracle Corporation

#启动tomact
#注意:这里systemctl命令启动不了,systemctl针对(yum,rpm包),二进制需要用绝对路径进行启动;会明显发现,都是以.sh进行结尾的(tomact为脚本的组合方式进行运转)
#未来管理java(tomact)可以使用systemctl(后期写个脚本,就可以实现systemcl进行控制!!)
[root@web03 ~]#/app/tools/tomact/bin/
catalina.sh      configtest.sh    digest.sh        setclasspath.sh  startup.sh version.sh       ciphers.sh       daemon.sh        makebase.sh     shutdown.sh tool-wrapper.sh  

#查看端口号
[root@web03 ~]#ss -lntup |grep java
tcp    LISTEN     0      100    [::]:8080               [::]:*                   users:(("java",pid=2054,fd=57))
tcp    LISTEN     0      1        [::ffff:127.0.0.1]:8005               [::]:*                   users:(("java",pid=2054,fd=65))
#查看java相关进程
[root@web03 ~]#ps -ef |grep java
root       2054      1  5 21:43 pts/0    00:00:01 /app/tools/jdk/bin/java -Djava.util.logging.config.file=/app/tools/tomact/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /app/tools/tomact/bin/bootstrap.jar:/app/tools/tomact/bin/tomcat-juli.jar -Dcatalina.base=/app/tools/tomact -Dcatalina.home=/app/tools/tomact -Djava.io.tmpdir=/app/tools/tomact/temp org.apache.catalina.startup.Bootstrap start
root       2093   1527  0 21:44 pts/0    00:00:00 grep --color=auto java

在这里插入图片描述

  • 浏览器访问 www.https//10.0.0.9:8080
    在这里插入图片描述

tomact 目录结构

(1)目录概述;

在这里插入图片描述
[root@web03 ~]#cd /app/tools/tomact/
[root@web03 /app/tools/tomact]#ll
总用量 128
drwxr-x— 2 root root 4096 7月 24 21:34 bin
-rw-r----- 1 root root 18949 7月 31 2021 BUILDING.txt
drwx------ 3 root root 254 7月 24 21:43 conf
-rw-r----- 1 root root 6210 7月 31 2021 CONTRIBUTING.md
drwxr-x— 2 root root 4096 7月 24 21:34 lib
-rw-r----- 1 root root 57092 7月 31 2021 LICENSE
drwxr-x— 2 root root 197 7月 24 21:43 logs
-rw-r----- 1 root root 2333 7月 31 2021 NOTICE
-rw-r----- 1 root root 3372 7月 31 2021 README.md
-rw-r----- 1 root root 6898 7月 31 2021 RELEASE-NOTES
-rw-r----- 1 root root 16507 7月 31 2021 RUNNING.txt
drwxr-x— 2 root root 30 7月 24 21:34 temp
drwxr-x— 7 root root 81 7月 31 2021 webapps
drwxr-x— 3 root root 22 7月 24 21:43 work

[root@web03 /app/tools/tomact]#ll bin
总用量 876
-rw-r----- 1 root root  34698 731 2021 bootstrap.jar
-rw-r----- 1 root root  16840 731 2021 catalina.bat
-rwxr-x--- 1 root root  25294 731 2021 catalina.sh
-rw-r----- 1 root root   1664 731 2021 catalina-tasks.xml
-rw-r----- 1 root root   2123 731 2021 ciphers.bat
-rwxr-x--- 1 root root   1997 731 2021 ciphers.sh
-rw-r----- 1 root root  25357 731 2021 commons-daemon.jar
-rw-r----- 1 root root 207420 731 2021 commons-daemon-native.tar.gz
-rw-r----- 1 root root   2040 731 2021 configtest.bat
-rwxr-x--- 1 root root   1922 731 2021 configtest.sh
-rwxr-x--- 1 root root   9100 731 2021 daemon.sh
-rw-r----- 1 root root   2091 731 2021 digest.bat
-rwxr-x--- 1 root root   1965 731 2021 digest.sh
-rw-r----- 1 root root   3606 731 2021 makebase.bat
-rwxr-x--- 1 root root   3382 731 2021 makebase.sh
-rw-r----- 1 root root   3460 731 2021 setclasspath.bat
-rwxr-x--- 1 root root   3708 731 2021 setclasspath.sh
-rw-r----- 1 root root   2020 731 2021 shutdown.bat
-rwxr-x--- 1 root root   1902 731 2021 shutdown.sh
-rw-r----- 1 root root   2022 731 2021 startup.bat
-rwxr-x--- 1 root root   1904 731 2021 startup.sh
-rw-r----- 1 root root  46615 731 2021 tomcat-juli.jar
-rw-r----- 1 root root 425741 731 2021 tomcat-native.tar.gz
-rw-r----- 1 root root   4574 731 2021 tool-wrapper.bat
-rwxr-x--- 1 root root   5540 731 2021 tool-wrapper.sh
-rw-r----- 1 root root   2026 731 2021 version.bat
-rwxr-x--- 1 root root   1908 731 2021 version.sh

(2)conf

在这里插入图片描述

(3)bin目录

在这里插入图片描述

(4)logs日志

在这里插入图片描述

(5)webapps

  • 站点目录
  • war包,自动解压,自动部署

Tomcat日常管理与访问

(1)日常启动与维护

  • 启动tomact查看日志
  • 在这里插入图片描述
    浏览器访问:http://10.0.0.9:8080/
    在这里插入图片描述

(2)书写systemctl管理配置文件进行管理

  • 服务管理指令.
  • 存放在/usr/lib/systemd/system/xxxx.service
  • 分为3个部分.
  • 修改或设置systemctl配置要进行重新加载配置.
    在这里插入图片描述
[root@web03 ~]#systemctl cat sshd
能被systemctl进行操作的命令,背后都是服务有相对应的文件进行操作,存放在/usr/lib/systemd/system/xxxx.service

# /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
[root@web01 ~]#systemctl cat nginx
# /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)"

[Install]
WantedBy=multi-user.target



[root@web03 ~]#vim /usr/lib/systemd/system/tomact.service

# /usr/lib/systemd/system/tomact.service
[Unit]
Description=tomact
Documentation=http://nginx.org/en/docs/
After=network.target 
Wants=network-online.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/tomact
ExecStart=/app/tools/tomact/bin/startup.sh
ExecReload=/app/tools/tomact/bin/shutdown.sh && sleep2 &&/app/tools/tomact/bin/startup.sh
ExecStop=/app/tools/tomact/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

[root@web03 ~]#vim /etc/sysconfig/tomact
#变量=值
export JAVA_HOME=/app/tools/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
exportCLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
[root@web03 ~]#echo $PATH 
/app/tools/jdk/bin:/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

## $PATH在tomact中的enviromentfile识别不了,需要将$PATH变成/app/tools/jdk/bin:/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@web03 ~]#systemctl daemon-reload 
[root@web03 ~]#systemctl enable tomact.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/tomact.service to /usr/lib/systemd/system/tomact.service.

在这里插入图片描述

3)运行代码

  • 开发人员书写的java代码:java源代码,无法直接部署tomact中
  • 需要对源代码进行编译:生成war包,jar包
  • 通过maven,Gradle把java源代码,编译生成war包,或jar包

案例:部署war包案例,运行memtest.war包案例,放在webapps目录,然后访问即可

在这里插入图片描述

如何编译java源代码:
通过maven,Gradle把java源代码,编译生成war包或jar包.

在这里插入图片描述
在这里插入图片描述

[root@web03 ~]#ll -h memtest.war 
-rw-r--r-- 1 root root 643 86 2024 memtest.war
[root@web03 ~]#ll -h memtest.war 
-rw-r--r-- 1 root root 643 86 2020 memtest.war
[root@web03 ~]#
[root@web03 ~]#mv memtest.war  /app/tools/tomact/webapps/
[root@web03 ~]#ll /app/tools/tomact/webapps/
总用量 8
drwxr-x--- 15 root root 4096 724 21:34 docs
drwxr-x---  7 root root   99 724 21:34 examples
drwxr-x---  6 root root   79 724 21:34 host-manager
drwxr-x---  6 root root  114 724 21:34 manager
-rw-r--r--  1 root root  643 86 2020 memtest.war
drwxr-x---  3 root root  223 724 21:34 ROOT

[root@web03 ~]#tree -F /app/tools/tomact/work/
/app/tools/tomact/work/
└── Catalina/
    └── localhost/
        ├── docs/
        ├── examples/
        ├── host-manager/
        ├── manager/
        └── ROOT/

7 directories, 0 files

  • 访问浏览器
  • 10.0.0.9/memtest/meminfo.jsp网站
    在这里插入图片描述

案例:jar-包案例,运行指定的jar包

启动程序
nginxWebUI-3.4.0.jar 

java -jar -Dfile.encoding=UTF-8 nginxWebUI-3.4.0.jar
--server.port=8848 --roject.home=/root/

Linux: nohup java -jar -Dfile.encoding=UTF-8
/home/nginxWebUI/nginxWebUI.jar --server.port=8080 -
-project.home=/home/nginxWebUI/ > /dev/null &参数说明(都是非必填)

在这里插入图片描述

[root@web03 ~]#mkdir -p  /app/jar/ngxweb/
[root@web03 ~]#cd /app/jar/ngxweb/
[root@web03 /app/jar/ngxweb]#mv  ~/nginxWebUI-master.jar .
[root@web03 /app/jar/ngxweb]#ll
总用量 3932
-rw-r--r-- 1 root root 4023346 516 2022 nginxWebUI-master.jar
[root@web03 /app/jar/ngxweb]#java -jar nginxWebUI-master.jar -Dfile.encoding=UTF-8

出现 at/exception 等这种词就表示有错误:
在这里插入图片描述
在这里插入图片描述

默认是8080,tomact端口也是8080,端口冲突!!!

[root@web03 /app/jar/ngxweb]#java -jar nginxWebUI-master.jar -Dfile.encoding=UTF-8   --server.port=8888-project.home=/home/nginxWebUI/ > /dev/null &参数说明(都是非必填)

--server.port占用端口,默认以8080端口启动
--project.home项目配置文件目录,存放数据库文件,证书文件,日志等,默认为
/home/nginxWebUI/
注意Linux命令最后加一个&号,表示项目后台运行

显示这一种图表示成功:
在这里插入图片描述
在这里插入图片描述
运行了这个服务发现页面一直加载,默认在前台显示,未来我们可以开窗口进行测试或者

linux: java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ >/dev/null

  • 浏览器访问10.0.0.9:8888/adminPage/login
    -在这里插入图片描述
    在这里插入图片描述

tomact管理端

  • tomcat管理端,web页面管理与查看tomcat信息的功能.
  • 对tomcat进行调优的时候.
  • 未来优化的时候需要关闭.
conf/tomact-users.xml

在这里插入图片描述

  • 开启管理端功能
    1. 修改配置文件tomcat-users.xml
    2. 修改代码(安全措施,只能127访问)

  • 修改配置文件

[root@web03 ~]# vim /app/tools/tomact/conf/tomact-users.xml
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
             version="1.0">
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="wulin" password="1" roles="manager-gui,admin-gui"/>
</tomcat-users>

[root@web03 ~]#
  • 只能127访问

[root@web03 ~]# curl -u wulin:1 http://127.0.0.1:8080/manager/status

  • 修改代码
[root@web03 ~]#cd /app/tools/tomcat/webapps/
[root@web03 ~]#sed  -i 's#127#\\d+#g'./host-manager/META-INF/context.xml ./host-manager/WEB-INF/manager.xml  ./manager/META-INF/context.xml

[root@web03 ~]#systemctl restart tomcat

访问10.0.0.9:8080/mananger/status:
在这里插入图片描述

tomact配置文件

  • server.xml
#8005端口
2 <Server port="8005"shutdown="SHUTDOWN">
8005 shutdown端口,连接这个端口输入shutdown字符,就可以关闭Tomcat.
#配置  管理端认证功能
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
             description="User database that can be
updated and saved"

factory="org.apache.catalina.users.MemoryUserDataba
seFactory"
             pathname="conf/tomcat-users.xml" />
    </GlobalNamingResources>

#8080处理用户的http请求的.
   <Connector port="8080" protocol="HTTP/1.1"
            connectionTimeout="20000"
            redirectPort="8443" />
#这里的8443是用于处理https请求.
#engine部分,指定默认的虚拟主机.
<Engine name="Catalina"  defaultHost="localhost">

defaultHost="localhost"指定localhost作为默认的虚拟主机.
#Host部分,虚拟主机的配置部分.
          <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
            <Valve
className="org.apache.catalina.valves.AccessLogValve
   "directory="logs"
              prefix="localhost_access_log"
   suffix=".txt"
              pattern="%h %l %u %t &quot;%r&quot;%s %b" />
                  </Host>
Host部分
name="域名"

在这里插入图片描述

  • 配置文件小结

端口:8080,8443,8090(从8.5隐藏开始与apache连接)

Host部分含义

规范tomact访问日志格式

在这里插入图片描述

" quot;表示双引号.

在这里插入图片描述

pattern="%h %l %u %t &quot;%r&quot; %s %b &quot;%
{Referer}i&quot; &quot;%{User-Agent}i&quot; &quot;%
{X-Forwarded-For}i&quot;" />


[root@web03 /app/tools/tomact]# vim conf/server.xml
[root@web03 /app/tools/tomact]# systemctl restart tomact
[root@web03 /app/tools/tomact]#ll localhost_access_log.2023-03-21.txt
-rw-r----- 1 root root 8104 jun 16:08 localhost_access_log 2023-02-21.txt

在这里插入图片描述
在这里插入图片描述

1.请求与8080端口连接
2.域名与Host部分的Name进行匹配,
a)匹配成功则使用对应的虚拟主机.
b)匹配失败则使用Engine部分defaultHost指定的默认的虚拟主机进行处理.

tomcat可以处理静态与动态请求.
处理静态请求的效率较低,擅长动态.

案例03: Tomcat部署zrlog应用

https://www.zrlog.com/

  • 代码war
    在这里插入图片描述
[root@web03 ~]#ll zrlog-2.2.1-efbe9f9-release.war 
-rw-r--r-- 1 root root 11243048 724 12:00 zrlog-2.2.1-efbe9f9-release.war


[root@web03 ~]#rz -E
rz waiting to receive.
[root@web03 ~]#ll zrlog-2.2.1-efbe9f9-release.war 
-rw-r--r-- 1 root root 11243048 724 12:00 zrlog-2.2.1-efbe9f9-release.war
[root@web03 ~]#mv zrlog-2.2.1-efbe9f9-release.war zrlog.war
[root@web03 ~]#ll zrlog.war
-rw-r--r-- 1 root root 11243048 724 12:00 zrlog.war
[root@web03 ~]#mv zrlog.war  /app/tools/tomact/webapps/:
[root@web03 ~]#ll /app/tools/tomact/webapps/
总用量 10988
drwxr-x--- 15 root root     4096 724 21:34 docs
drwxr-x---  7 root root       99 724 21:34 examples
drwxr-x---  6 root root       79 724 21:34 host-manager
drwxr-x---  6 root root      114 724 21:34 manager
-rw-r--r--  1 root root      643 86 2020 memtest.war
drwxr-x---  3 root root      223 724 21:34 ROOT
-rw-r--r--  1 root root 11243048 724 12:00 zrlog.war

会自动解压,自动解压的过程:
在这里插入图片描述

  • 创建数据库,用户.:
[root@web03 ~]#cd /app/tools/tomact/logs/
[root@web03 /app/tools/tomact/logs]#less catalina.out 
  • 做本地解析
    10.0.0.9 zrlog.wulinlinux.cn

访问浏览器:http://10.0.0.9 zrlog.wulinlinux.cn:8080/zrlog/

安装界面:
在这里插入图片描述
在这里插入图片描述

[root@db01 ~]#mysql -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wordpress          |
| wulin              |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [(none)]> select user,host from mysql.user;
+------------+------------+
| user       | host       |
+------------+------------+
| root       | 127.0.0.1  |
| phpmyadmin | 172.16.1.% |
| wulin      | 172.16.1.% |
| root       | ::1        |
| root       | localhost  |
| wulin      | localhost  |
+------------+------------+
6 rows in set (0.00 sec)

MariaDB [(none)]> create database zrlog;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on zrlog.* to 'zrlog'@'172.16.1.%'   identified by '123'; 
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wordpress          |
| wulin              |
| zrlog              |
+--------------------+
6 rows in set (0.00 sec)


  • 访问浏览器页面,网站打不开

打不开原因
#前台页面
http://zrlog.wulinlinux.cn:8080/zrlog/
#后台页面 404
http://zrlog.wulinlinux.cn:8080/admin/login

在这里插入图片描述

  • Tomcat
    在这里插入图片描述
监控https证书是否过期
常用web中间件:
Tomcat,Jetty  jvm,jre,jdk含义与关系.

部署  tomcat(jdk,tomcat)  tomcat核心目录和文件bin下面命令
,
[logs下面日志
catalina.out,conf/server.xml,webapps/xxxx.war
常用java部署方式并会部署war包jar包熟悉Tomcat配置文件,8005,8080,8009
连接apache\(使用)
部署zrlog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1951009.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Golang 面试基础题】每日 5 题(十)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

Python爬虫(6) --深层爬取

深层爬取 在前面几篇的内容中&#xff0c;我们都是爬取网页表面的信息&#xff0c;这次我们通过表层内容&#xff0c;深度爬取内部数据。 接着按照之前的步骤&#xff0c;我们先访问表层页面&#xff1a; 指定url发送请求获取你想要的数据数据解析 我们试着将以下豆瓣读书页…

WPF代办事项应用

目录 一 设计原型 二 后台源码 一 设计原型 添加代办事项页面&#xff1a; 二 后台源码 Model&#xff1a; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 待办事项应用.DataModel {pub…

数据结构(Java):Map集合Set集合哈希表

目录 1、介绍 1.1 Map和Set 1.2 模型 2、Map集合 2.1 Map集合说明 2.2 Map.Entry<K&#xff0c;V> 2.3 Map常用方法 2.4 Map注意事项及实现类 3、Set集合 3.1 Set集合说明 3.2 Set常用方法 3.3 Set注意事项及其实现类 4、TreeMap&TreeSet 4.1 集合类TreeM…

头歌最小生成树 ------习题

一、背包问题 1.理解&#xff1a;背包问题相当于最小生成树&#xff0c;也就是线性规划最优解 2.公式&#xff1a; M: 背包的总重量 w&#xff1a;物品 i 的重量 p: 物品 i 的价值 3.基本背包练习 4.完全背包问题&#xff1a;每种物品有无限件 >>> 开头加一个for…

面试常考Linux指令

文件权限 操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制&#xff0c;在 Linux 中权限一般分为读(readable)、写(writable)和执行(executable)&#xff0c;分为三组。分别对应文件的属主(owner)&#xff0c;属组(group)和其他用…

SearchGPT 搜索引擎发布:让信息检索变得简单

如今的互联网时代&#xff0c;我们每天都在与海量数据搏斗。无论是学习、工作还是生活&#xff0c;我们都需要快速准确地获取所需信息。然而&#xff0c;传统搜索引擎往往让人感到力不从心&#xff1a;关键词需要精准&#xff0c;结果泛滥成灾&#xff0c;有用信息如大海捞针。…

如何快速抓取小红书帖子评论?两大实战Python技巧揭秘

摘要&#xff1a; 本文将深入探讨两种高效的Python方法&#xff0c;助您迅速获取小红书文章下方的所有评论&#xff0c;提升市场分析与用户洞察力。通过实战示例与详细解析&#xff0c;让您轻松掌握数据抓取技巧&#xff0c;为您的内容营销策略提供有力支持。 如何快速抓取小…

Linxu系统:hwclock命令

1、命令详解&#xff1a; hwclock命令用于显示与设定硬件时钟。它是一种访问硬件时钟的工具&#xff0c;可以显示当前时间&#xff0c;将硬件时钟设置为指定的时间&#xff0c;将硬件时钟设置为系统时间&#xff0c;以及从硬件时钟设置系统时间。您还可以定期运行hwlock以插入或…

raise JSONDecodeError(“Expecting value”, s, err.value) from None

raise JSONDecodeError(“Expecting value”, s, err.value) from None 目录 raise JSONDecodeError(“Expecting value”, s, err.value) from None 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是…

AI在企业招聘中的应用现状调研报告

2023年&#xff0c;ChatGPT一夜走红&#xff0c;个体陷入了被AI轻易替代的恐慌之中&#xff0c;而企业似乎找到了增长的又一踏板&#xff0c;或被搁置很久或在缓慢开展的「AI」行动又被各行各业提上了日程。 拥抱AI&#xff0c;企业动起来了吗? 从当前的数据来看&#xff0c…

tinygrad框架简介;MLX框架简介

目录 tinygrad框架简介 MLX框架简介 LLaMA​编辑 Stable Diffusion​编辑 tinygrad框架简介 极简主义与易扩展性 tinygrad 的设计理念是极简主义。与 XLA 类比,如果 XLA 是复杂指令集计算 (CISC),那么 tinygrad 就是精简指令集计算 (RISC)。这种简约的设计使得它成为添加…

攻坚克难岁月长,自主腾飞世界强——回顾近代中国数据库的发展与飞跃

前言 最近看了《中国数据库前世今生》纪录片&#xff0c;感触颇深&#xff0c;也是一直在思考到底该用何种方式起笔来回顾这段筚路蓝缕却又充满民族自豪感的历程。大概构思了一周左右吧&#xff0c;我想&#xff0c;或许还是应该从那个计算机技术在国内刚刚萌芽的年代开始讲起…

python+barcode快速生成条形码3-PyQt6微界面(电商条形码生成工具)

背景 继续上一片文章的电商测试小工具&#xff0c;进行了优化 需求 生成条形码之后&#xff0c;可以通过界面方式读取条形码的图片 支持当个条形码快速生成&#xff0c;以及批量导入 csv文件导入 添加微界面图像按钮&#xff0c;方便操作&#xff0c;更像是在实现测试工具的…

开放式耳机会成为未来的主流吗?开放式耳机推荐指南

开放式耳机是否会成为未来的主流&#xff0c;是一个值得探讨的问题。 从目前的市场趋势和技术发展来看&#xff0c;有一些因素支持开放式耳机可能成为主流。 一方面&#xff0c;人们对于健康和舒适的关注度不断提高。长时间佩戴传统耳机可能导致耳部不适&#xff0c;而开放式…

Internet Download Manager2024免费流行的下载加速器

1. Internet Download Manager&#xff08;IDM&#xff09;是一款流行的下载加速器&#xff0c;多线程下载使速度更快。 2. 用户界面友好&#xff0c;易于操作&#xff0c;支持多种浏览器集成和自动捕获下载。 3. 恢复中断的下载&#xff0c;动态文件分割技术提高效率。 4. 定…

解决CORS问题的技术点的原理总结

序言-引出问题 本人在毕业之后主要是从事游戏开发的客户端相关工作&#xff0c;由于游戏引擎的跨平台功能&#xff0c;所以在游戏开发完成之后&#xff0c;需要发布的平台经常会包含Web平台&#xff08;包括desktop Web、Mobile Web&#xff09;。 打包出来的项目文件的入口都…

《书生大模型实战营第3期》入门岛 学习笔记与作业:Python 基础知识

文章大纲 Python 简介1 安装Python1.1 什么是conda&#xff1f;1.1.1 功能与作用&#xff1a;1.1.2 常用命令&#xff1a;1.1.3 适用性&#xff1a; 1.2 Python安装与学习环境准备1.2.1 下载miniconda1.2.2 安装miniconda1.2.3 创建一个python练习专属的conda虚拟环境 2: Pytho…

C++第十弹 ---- vector的介绍及使用

目录 前言vector的介绍及使用1. vector的使用1.1 vector的定义1.2 iterator的使用1.3 vector空间增长问题1.4 vector增删查改 2. vector迭代器失效问题(重点) 总结 前言 本文介绍了C中的vector数据结构及其使用方法。 更多好文, 持续关注 ~ 酷酷学!!! 正文开始 vector的介绍…

【Linux】文件系统|CHS寻址|LBA逻辑块|文件索引|inode|Date block|inodeBitmap|blockBitmap

前言 一个进程通过文件描述符标识一个打开的文件&#xff0c;进程拿着文件描述符可以在内核中找到目标文件进行读写等操作。这是打开的文件&#xff0c;而没有被打开的文件存储在磁盘中&#xff0c;是如何管理的&#xff1f;操作系统在偌大的磁盘中如何找到想要的文件并打开的…