部署tomcat部署LNAMT

这里写目录标题

    • 部署tomcat
        • java环境安装
    • 部署LNAMT
        • 更改tomcat端口号

tomcat就是中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。

部署tomcat

java环境安装

tomcat 官网https://archive.apache.org/

安装jdk环境
[root@web1 ~]#: yum clean all
...
[root@web1 ~]#: yum makecache
...
[root@web1 ~]#: yum -y install java-11-openjdk*
...
[root@web1 ~]#: wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.19/bin/apache-tomcat-10.1.19.tar.gz
....
[root@web1 ~]#: rpm -qa | grep jdk
java-11-openjdk-devel-11.0.18.0.9-0.3.ea.el8.x86_64
java-11-openjdk-javadoc-11.0.18.0.9-0.3.ea.el8.x86_64
copy-jdk-configs-4.0-2.el8.noarch
java-11-openjdk-headless-11.0.18.0.9-0.3.ea.el8.x86_64
java-11-openjdk-11.0.18.0.9-0.3.ea.el8.x86_64
java-11-openjdk-jmods-11.0.18.0.9-0.3.ea.el8.x86_64
java-11-openjdk-demo-11.0.18.0.9-0.3.ea.el8.x86_64
java-11-openjdk-javadoc-zip-11.0.18.0.9-0.3.ea.el8.x86_64
java-11-openjdk-static-libs-11.0.18.0.9-0.3.ea.el8.x86_64
java-11-openjdk-src-11.0.18.0.9-0.3.ea.el8.x86_64

[root@web1 ~]#: java -version
openjdk version "11.0.18-ea" 2023-01-17 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.18.0.9-0.3.ea.el8) (build 11.0.18-ea+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.18.0.9-0.3.ea.el8) (build 11.0.18-ea+9-LTS, mixed mode, sharing)
[root@web1 ~]#: tar xf apache-tomcat-10.1.19.tar.gz -C  /usr/local/
[root@web1 ~]#: cd /usr/local/
[root@web1 local]#: ls
apache                 apr-util  games    lib64    php8   src
apache-tomcat-10.1.19  bin       include  libexec  sbin
apr                    etc       lib      mysql    share
[root@web1 local]#: ln -s /usr/local/apache-tomcat-10.1.19/ tomcat
[root@web1 local]#: ll
total 0
drwxr-xr-x. 14 root  root  164 Jan  5 10:32 apache
drwxr-xr-x   9 root  root  220 Feb 26 15:11 apache-tomcat-10.1.19
drwxr-xr-x.  6 root  root   58 Jan  5 10:31 apr
drwxr-xr-x.  5 root  root   43 Jan  5 10:31 apr-util
drwxr-xr-x.  2 root  root    6 Jun 22  2021 bin
drwxr-xr-x.  2 root  root    6 Jun 22  2021 etc
drwxr-xr-x.  2 root  root    6 Jun 22  2021 games
drwxr-xr-x.  2 root  root   19 Jan  5 10:33 include
drwxr-xr-x.  2 root  root    6 Jun 22  2021 lib
drwxr-xr-x.  3 root  root   17 Jul 28  2023 lib64
drwxr-xr-x.  2 root  root    6 Jun 22  2021 libexec
drwxr-xr-x.  9 mysql mysql 147 Jan  5 10:33 mysql
drwxr-xr-x.  9 root  root   88 Jan  5 10:43 php8
drwxr-xr-x.  2 root  root    6 Jun 22  2021 sbin
drwxr-xr-x.  5 root  root   49 Jul 28  2023 share
drwxr-xr-x.  2 root  root    6 Jun 22  2021 src
lrwxrwxrwx   1 root  root   33 Feb 26 15:12 tomcat -> /usr/local/apache-tomcat-10.1.19/
[root@web1 local]#: cd tomcat/
[root@web1 tomcat]#: ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@web1 tomcat]#: cd bin/
[root@web1 bin]#: ls
bootstrap.jar                 daemon.sh         shutdown.sh
catalina.bat                  digest.bat        startup.bat
catalina.sh                   digest.sh         startup.sh
catalina-tasks.xml            makebase.bat      tomcat-juli.jar
ciphers.bat                   makebase.sh       tomcat-native.tar.gz
ciphers.sh                    migrate.bat       tool-wrapper.bat
commons-daemon.jar            migrate.sh        tool-wrapper.sh
commons-daemon-native.tar.gz  setclasspath.bat  version.bat
configtest.bat                setclasspath.sh   version.sh
configtest.sh                 shutdown.bat

启动tomcat
[root@web1 bin]#: /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@web1 bin]#: ss -antl
State  Recv-Q Send-Q      Local Address:Port  Peer Address:Port Process 
LISTEN 0      128               0.0.0.0:9000       0.0.0.0:*            
LISTEN 0      128               0.0.0.0:22         0.0.0.0:*            
LISTEN 0      70                      *:33060            *:*            
LISTEN 0      1      [::ffff:127.0.0.1]:8005             *:*            
LISTEN 0      128                     *:3306             *:*            
LISTEN 0      100                     *:8080             *:*            
LISTEN 0      128                     *:80               *:*            
LISTEN 0      128                  [::]:22            [::]:* 

端口号8005/8080和进程要同时启动成功
[root@web1 bin]#: ps -ef | grep tomcat
root        6169       1  1 15:14 pts/0    00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/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 --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root        6211    1846  0 15:16 pts/0    00:00:00 grep --color=auto tomcat
访问测试

在这里插入图片描述

设置开机自启
[root@web1 ~]#: cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/tomcat10.service
[root@web1 ~]#: vim /usr/lib/systemd/system/tomcat10.service
[root@web1 ~]#: cat /usr/lib/systemd/system/tomcat10.service
[Unit]
Description=tomcat server daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/catalina.sh start
ExecStop=/usr/local/tomcat/bin/catalina.sh stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@web1 ~]#: systemctl daemon-reload 
[root@web1 ~]#: systemctl status tomcat10.service 
● tomcat10.service - tomcat server daemon
   Loaded: loaded (/usr/lib/systemd/system/tomcat10.service; disabled; >
   Active: inactive (dead)
lines 1-3/3 (END)
[root@web1 ~]# systemctl enable --now tomcat10.service 
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat10.service → /usr/lib/systemd/system/tomcat10.service.
添加自定义Java测试页面
[root@web1 ~]#: mkdir /usr/local/tomcat/webapps/test
[root@web1 ~]#: cd /usr/local/tomcat/webapps/test
[root@web1 test]#: vim index.jsp 
[root@web1 test]#: cat index.jsp 
<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
            out.println("Hellow World");
        %>
</body>
</html>

在这里插入图片描述

部署LNAMT

环境准备IP服务器版本
LAMT 8080(web1)192.168.227.134Centos8/rocky9
LNMT 8081 (web2)192.168.227.141rocky9
nginx(负载均衡)80192.168.227.153rocky9
更改tomcat端口号
[root@web2 ~]# cd /usr/local/tomcat/conf/
[root@web2 conf]# vim server.xml 
......
    <Connector port="8081" protocol="HTTP/1.1"    更改端口号为8081
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />
......
[root@web2 conf]# systemctl restart tomcat10.service 
[root@web2 conf]# ss -antl
State  Recv-Q Send-Q      Local Address:Port  Peer Address:Port Process 
LISTEN 0      4096            127.0.0.1:9000       0.0.0.0:*            
LISTEN 0      511               0.0.0.0:80         0.0.0.0:*            
LISTEN 0      128               0.0.0.0:22         0.0.0.0:*            
LISTEN 0      70                      *:33060            *:*            
LISTEN 0      1      [::ffff:127.0.0.1]:8005             *:*            
LISTEN 0      151                     *:3306             *:*            
LISTEN 0      100                     *:8081             *:*            
LISTEN 0      128                  [::]:22            [::]:*  
在负载均衡服务器上配置
定义upstream
[root@nginx ~]#: cd /usr/local/nginx/conf/
[root@nginx conf]#: ls
fastcgi.conf            koi-utf             nginx.conf           uwsgi_params
fastcgi.conf.default    koi-win             nginx.conf.default   uwsgi_params.default
fastcgi_params          mime.types          scgi_params          win-utf
fastcgi_params.default  mime.types.default  scgi_params.default
[root@nginx conf]#: vim nginx.conf
    ......
    ......
    upstream webs {                定义upstream
        server 192.168.227.134:8080;
        server 192.168.227.141:8081;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://webs;  修改此行
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
......
......

重启nginx
[root@nginx conf]#: systemctl restart nginx.service 


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LVS 负载均衡部署 NAT模式

一、环境准备 配置环境&#xff1a; 负载调度器&#xff1a;配置双网卡 内网&#xff1a;172.168.1.11(ens33) 外网卡&#xff1a;12.0.0.1(ens37)二台WEB服务器集群池&#xff1a;172.168.1.12、172.168.1.13 一台NFS共享服务器&#xff1a;172.168.1.14客户端&#xff…

2024年全网最新AI实景自动无人直播软件:引领智能直播新潮流;打造智能化、互动性强的直播平台

随着互联网的飞速发展&#xff0c;直播已经成为商家品牌推广和产品宣传的重要方式。然而&#xff0c;AI实景自动无人直播软件的问世&#xff0c;进一步推动了直播行业的智能化进程&#xff0c;为商家带来了全新的直播体验。&#xff08;ai无人自动直播大量招商加盟&#xff1b;…

【解疑】ZIP分卷压缩文件如何设置和取消密码?

压缩大文件&#xff0c;我们可以设置压缩成ZIP分卷文件&#xff0c;这样更利于传输和存储。如果分卷文件比较重要&#xff0c;还可以设置密码保护&#xff0c;那ZIP分卷压缩文件的密码如何设置和取消呢&#xff1f;下面一起来看看吧&#xff01; 设置ZIP分卷密码&#xff1a; …

配电室智能巡检机器人

近年来&#xff0c;生产过程高度自动化&#xff0c;各工矿企业关键场所需定期巡检维护。但目前巡检主要靠人工&#xff0c;既耗时费力效率又低&#xff0c;且受环境等因素影响&#xff0c;巡检难以全面规范&#xff0c;隐患或问题易被忽视。在此情况下&#xff0c;如何利用现有…

Python爬虫基础知识学习(以爬取某二手房数据、某博数据与某红薯(书)评论数据为例)

一、爬虫基础流程 爬虫的过程模块化&#xff0c;基本上可以归纳为以下几个步骤&#xff1a; 1、分析网页URL&#xff1a;打开你想要爬取数据的网站&#xff0c;然后寻找真实的页面数据URL地址&#xff1b; 2、请求网页数据&#xff1a;模拟请求网页数据&#xff0c;这里我们介…

安卓模拟器访问主机局域网

误打误撞能够访问主机局域网了 但是不太懂是因为哪一部分成功的 先记录一下 PC&#xff1a;mac系统 安卓编译器&#xff1a;Android Studio 步骤 只需要在PC上进行设置 1. 在【设置】中&#xff0c;打开已连接的Wi-Fi的【详细信息】 2. TCP/IP --> 配置IPv6&#xff0c;修…

roofline model加速模型部署最后一公里

文章目录 模型部署教程来啦:)什么是Roofline Model&#xff1f;算法模型相关指标计算量计算峰值参数量访存量带宽计算密度kernel size对计算密度的影响output size对计算密度的影响channel size对计算密度的影响group convolution对计算密度的影响tensor reshape对计算密度的影…

网站使用SSL证书有什么好处

SSL证书是一种用于加密在网络上传输的数据以确保安全性和隐私的数字证书。下面我们来谈谈一个网站使用SSL证书后有哪些好处&#xff1a; 首先&#xff0c;使用SSL证书可以保护用户的隐私。在没有SSL证书的情况下&#xff0c;用户的个人信息和敏感数据可能会被黑客窃取或篡改。…

npm安装指定版本,npm删除依赖,卸载依赖

安装指定版本 npm中安装指定的版本号&#xff0c;格式为 ‘包名版本号’ npm install 包名称版本号 --save 例如安装jquery: npm install jquery3.0.0 --save在package.json里面可以看到对应的包&#xff1a; "jquery": "^3.0.0"注意&#xff1a;已有…

基于springboot实现医院药品管理系统项目【项目源码+论文说明】

基于springboot实现医院药品管理系统演示 摘要 身处网络时代&#xff0c;随着网络系统体系发展的不断成熟和完善&#xff0c;人们的生活也随之发生了很大的变化&#xff0c;人们在追求较高物质生活的同时&#xff0c;也在想着如何使自身的精神内涵得到提升&#xff0c;而读书就…

CentOS 重启网络失败service network restart

命令 service network restart 提示 Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details. 原因分析 使用journalctl -xe命令查看日志后的具体错误 -- Un…

基于springboot实现疾病防控综合系统项目【项目源码+论文说明】

基于springboot实现疾病防控综合系统演示 摘要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&…

PDPS15---安装过程---常遇问题---分享

目录 问题1 安装失败 1.1 运行第一步出错 1.2 解决 问题2 路径错误 2.1 错误 2.2 解决 问题3 运行失败 3.1 无法找到路径 3.2 原因分析 3.3 解决 问题4 拒绝访问 4.1 出现提示 4.2 分析 4.3 解决 问题5 许可证过期 5.1 PD找不到许可证 5.2 解决 问题1 安装失败…

hypertherm海宝EDGE控制器显示屏工控机维修

海宝工控机维修V3.0/4.0/5.0&#xff1b;hypertherm数控切割机系统MICRO EDGE系统显示屏维修&#xff1b; 美国hypertherm公司mirco edge数控系统技术标准如下&#xff1a; 1&#xff09; p4处理器 2&#xff09; 512mb内存 3&#xff09; 80g硬盘&#xff0c;1.44m内置软驱…

AXI Block RAM 控制器IP核的用法详解

本文描述了如何使用Xilinx的Vivado Design Suite环境中的工具来定制和生成AXI Block RAM (BRAM) IP 核。Vivado Design Suite是一个强大的FPGA设计和开发环境&#xff0c;它允许用户定制和配置各种IP核以适应他们的特定设计需求。 以下是针对如何定制IP核的步骤的简要概述&…

【FX110】2024外汇市场中交易量最大的货币对是哪个?

作为最大、最流动的金融市场之一&#xff0c;外汇市场每天的交易量高达几万亿美元&#xff0c;涉及到数百种货币。不同货币对的交易活跃程度并不一样&#xff0c;交易者需要根据货币对各自的特点去进行交易。 全年外汇市场中涉及美元的外汇交易超过50%&#xff01; 实际上&…

docker学习笔记(四)制作镜像

目录 第1步&#xff1a;编辑Dockerfile 第2步&#xff1a;编辑requirements.txt文件 第3步&#xff1a;编辑app.py文件&#xff0c;我们的程序文件 第4步&#xff1a;生成镜像文件 第5步&#xff1a;使用镜像&#xff0c;启动容器 第6步&#xff1a; 启动redis容器、将容器…

开启智慧生活,家政服务触手可及——家政小程序全新上线

繁忙生活中的贴心助手 在快节奏的现代生活中&#xff0c;我们时常为家庭琐事所困扰&#xff0c;无暇享受生活的美好。为了帮助您解决这一难题&#xff0c;我们倾力打造了一款家政小程序&#xff0c;让您的生活更加轻松、便捷。 家政小程序&#xff0c;您的生活管家 1. 全方位…

社媒营销中的截流获客是怎么一回事?

如果你要问&#xff0c;现在做社媒营销是通过哪些方式进行引流的&#xff0c;那么必然有一种是截流&#xff0c;顾名思义也就是分取别人的流量&#xff0c;方法其实很简单&#xff0c;主要分为两种&#xff1a;&#xff08;1&#xff09;抓取别人的粉丝出来进行群发私信&#x…

nestjs 全栈进阶--Module和Provider的循环依赖

视频教程 21_nest中的循环依赖_哔哩哔哩_bilibili 1. 循环依赖 当两个类相互依赖时&#xff0c;就会发生循环依赖。比如 A 类需要 B 类&#xff0c;B 类也需要 A 类。Nest中 模块之间和 提供器之间也可能会出现循环依赖。 nest new dependency -p pnpm nest g res aaa --n…