Linux 之九:CentOS 上 Tomcat 安装、SpringBoot 项目打包和部署

安装 Tomcat

下载

a. 方式一:可以在windows 真机上下载后,再上传到服务器

b. 方式二:可以在服务器端使用 wget 下载命令来下载

登录官网https://tomcat.apache.org/download-90.cgi,选择 linux 版本

右键,获取下载链接地址,复制。

然后在 xshell 客户端使用wget 下载,下载前注意所在目录。

[root@zhangpeng soft]# wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz
--2021-08-16 14:58:51--  https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz
Resolving mirrors.bfsu.edu.cn (mirrors.bfsu.edu.cn)... 39.155.141.16, 2001:da8:20f:4435:4adf:37ff:fe55:2840
Connecting to mirrors.bfsu.edu.cn (mirrors.bfsu.edu.cn)|39.155.141.16|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11524133 (11M) [application/octet-stream]
Saving to: ‘apache-tomcat-9.0.52.tar.gz’100%[=====================================================================================================>] 11,524,133  10.2MB/s   in 1.1s   2021-08-16 14:58:52 (10.2 MB/s) - ‘apache-tomcat-9.0.52.tar.gz’ saved [11524133/11524133][root@zhangpeng soft]# ls
apache-tomcat-9.0.52.tar.gz

第二种方式:

先下载文件到本地,然后再使用 xftp 客户端,直接上传文件到服务器。

或 使用rz命令上传

解压

tar -xvf apache-tomcat-9.0.52.tar.gz 解压到当前目录

tar -xvf apache-tomcat-9.0.52.tar.gz -C /usr/tomcat :解压到指定的目录下。

注意: -C 大写的c ,解压到指定的目录中

1)先解压到 /usr 目录下
# tar -xvf  apache-tomcat-9.0.52.tar.gz -C /usr
2)查看目录
[root@zhangpeng apache-tomcat-9.0.52]# ls
bin  BUILDING.txt  conf  CONTRIBUTING.md  lib  LICENSE  logs  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
[root@zhangpeng apache-tomcat-9.0.52]# 

bin 目录:存放的是可执行文件

conf : 存放配置文件,修改端口、编码、设置用户、角色等

lib : 存放的是类库文件

logs: 运行日志文件

webapps: 项目发布目录

work : jsp 编译后的文件目录

启动

先进入 /tomcat安装目录/bin,运行startup.sh

[root@zhangpeng apache-tomcat-9.0.52]# cd bin   #进入bin 目录
[root@zhangpeng bin]# ls
bootstrap.jar  catalina-tasks.xml  commons-daemon.jar            configtest.sh  digest.sh     setclasspath.bat  shutdown.sh  tomcat-juli.jar    
catalina.bat   ciphers.bat         commons-daemon-native.tar.gz  daemon.sh      makebase.bat  setclasspath.sh   startup.bat  tomcat-native.tar.g
catalina.sh    ciphers.sh          configtest.bat                digest.bat     makebase.sh   shutdown.bat      startup.sh   tool-wrapper.bat   
[root@zhangpeng bin]# ./startup.sh                        ## 启动
Using CATALINA_BASE:   /usr/apache-tomcat-9.0.52
Using CATALINA_HOME:   /usr/apache-tomcat-9.0.52
Using CATALINA_TMPDIR: /usr/apache-tomcat-9.0.52/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/apache-tomcat-9.0.52/bin/bootstrap.jar:/usr/apache-tomcat-9.0.52/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.                ### 表示启动成功
测试

先进入VM 虚拟机中,打开火狐浏览器,先访问 http://127.0.0.1:8080 看是否能正常访问。

如果服务器正常可以访问 Tomcat 后,再出虚拟机,到物理真机上打开浏览器,访问

注意:访问时,使用的ip 是虚拟机中linux 的ip http://192.168.184.139:8080

发现访问不成功

防火墙和端口

先关闭防火墙:systemctl stop firewalld 停止防火墙

[root@zhangpeng bin]# systemctl stop firewalld

然后再访问,就可以了。

但是,关闭防火墙不安全。只需要开放端口8080 即可。没有必要全部开放。

先开启防火墙,然后再开放指定的8080端口

命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent

[root@zhangpeng apache-tomcat-9.0.52]# systemctl start firewalld    ##启动防火墙
[root@zhangpeng apache-tomcat-9.0.52]# firewall-cmd --zone=public --add-port=8080/tcp --permanent ## 开放8080端口
success

上面默认,仍没起作用。原因:需要重启防火墙或重新加载规则

[root@zhangpeng apache-tomcat-9.0.52]# firewall-cmd --reload
success

再次访问,OK 成功!

注意添加端口,更新的配置文件:/etc/firewalld/zones

项目打包

修改 pom.xml

添加插件的配置

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins>
</build>
执行打包命令
  • 先 clean 清理删除之前的包文件
  • 在 package 打包

打开 Idea 右边侧边栏 Maven ,依次点击刷新和打包

打包过程中注意查看控制台日志,正常完成后,日志中会有打包文件所在的目录位置

根据日志提示的目录位置,找到 jar

启动测试
  • 先在 window 本地测试
  • 再上传 linux 服务器启动测试

在 jar 所在目录打开cmd 命令窗口,在所在的目录资源管理器地址输入 cmd 然后回车即可打开命令窗口

使用命令

java -jar bookmark.jar

到此正常启动了 SpringBoot 项目,接下来打开浏览器访问测试即可。

linux 上部署
  • 上面启动正常后,表示 jar 包文件没有问题,此时可以上传到 linux 服务器测试运行

  • xftp 上传至 linux 的/usr/local 目录下

  • xshell 切换到 /usr/local 下,java -jar bookmark.jar 启动运行

  • 外部浏览器访问

    • 防火墙关闭或开启端口

    • 数据库的访问 ip ,如果要访问物理机上 mysql 注意修改远程访问的权限

      CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
      FLUSH PRIVILEGES;

使用 xftp 上传到 /usr/local

使用 xshell 进入 /usr/local 目录

[root@localhost ~]# cd /usr
[root@localhost usr]# ls
apache-tomcat-9.0.50  bookmark-0.0.1-SNAPSHOT.jar  games    java  lib64    local  share  tmp
bin                   etc                          include  lib   libexec  sbin   src
[root@localhost usr]# cd local/
[root@localhost local]# ls
bin  bookmark-0.0.1-SNAPSHOT.jar  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@localhost local]# java -jar bookmark-0.0.1-SNAPSHOT.jar 

正常启动后

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

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

相关文章

服务器-->网站制作-->接口开发,一篇文章一条龙服务(2)

作者&#xff1a;q: 1416279170v: lyj_txd前述&#xff1a;本人非专业&#xff0c;兴趣爱好自学自研&#xff0c;很多没有说清楚的地方见谅&#xff0c;欢迎一起讨论的小伙伴~ 上期回顾&#xff0c;了解 服务器&#xff0c;网站制作&#xff0c;接口开发之见的关系&#xff0c…

vue中实现3d词云效果(已封装组件)

<!--* Description: 词云组件 页面* Date: 2024/3/10 23:39 --> <template><div:style"{display: flex,justifyContent: center,border: 1px solid red,}"><svg:width"width":height"height"mousemove"listener($even…

【HarmonyOS】ArkUI - 自定义卡片样式

ArkUI - 自定义卡片样式 HarmonyOS API 9 没有提供原生的卡片样式&#xff0c;我定义了一个卡片样式&#xff0c;可以方便大家在日常开发中使用。 效果图&#xff1a; 卡片样式代码如下&#xff1a; Styles function card() {.width(95%).padding(20).backgroundColor(Col…

C#,数值计算,用割线法(Secant Method)求方程根的算法与源代码

1 割线法 割线法用于求方程 f(x) 0 的根。它是从根的两个不同估计 x1 和 x2 开始的。这是一个迭代过程&#xff0c;包括对根的线性插值。如果两个中间值之间的差值小于收敛因子&#xff0c;则迭代停止。 亦称弦截法&#xff0c;又称线性插值法.一种迭代法.指用割线近似曲线求…

ubuntu20.04环境搭建:etcd+patroni+pgbouncer+haproxy+keepalived的postgresql集群方案

搭建基于etcdpatronipgbouncerhaproxykeepalived的postgresql集群方案 宿主机操作系统:ubuntu20.04 使用kvm搭建虚拟环境(如没有安装kvm&#xff0c;请先自行安装kvm) 1、安装kvm服务 ①、查看虚拟支持 如果CPU 支持硬件虚拟化则输出结果大于0&#xff0c;安装kvm-ok命令检…

【轮式平衡机器人】——TMS320F28069片内外设之eCAP

引入 TMS320F28069的eCAP&#xff08;增强型捕获模块&#xff09;是一个强大的外设&#xff0c;用于精确测量和捕获输入信号的事件和时间戳。 在电机控制、传感器数据采集和信号处理等应用中&#xff0c;eCAP模块可以用于测量霍尔传感器、编码器或其他数字输入信号的周期、频…

鸿蒙报错:Hhvigor Update the SDKs by going to Tools > SDK Manager....

鸿蒙报错&#xff1a;Hhvigor Update the SDKs by going to Tools > SDK Manager… 打开setting里面的sdk&#xff0c;将API9工程下的全部勾上&#xff0c;应用下载 刚打开 js 和 Native 是没勾上的

智慧城市与智慧乡村:共创城乡一体化新局面

一、引言 随着科技的不断进步和城乡发展的日益融合&#xff0c;智慧城市与智慧乡村的建设已成为推动城乡一体化发展的新引擎。智慧城市利用物联网、大数据、云计算等先进技术&#xff0c;实现城市治理、公共服务、产业发展等领域的智能化&#xff1b;而智慧乡村则借助现代科技…

每日五道java面试题之springMVC篇(二)

目录&#xff1a; 第一题. 请描述Spring MVC的工作流程&#xff1f;描述一下 DispatcherServlet 的工作流程&#xff1f;第二题. MVC是什么&#xff1f;MVC设计模式的好处有哪些?第三题. 注解原理是什么?第四题. Spring MVC常用的注解有哪些&#xff1f;第五题. SpingMvc中的…

C++ 中的头文件和源文件

#include<>一般用于包含系统头文件&#xff0c;诸如stdlib.h、stdio.h、iostream等&#xff1b; 类库目录下查找失败&#xff0c;编译器会终止查找&#xff0c;直接报错&#xff1a;No such file or directory. #include""一般用于包含自定义头文件&#xff…

【JAVA】CSS3:3D、过渡、动画、布局、伸缩盒

1 3D变换 1.1 3D空间与景深 /* 开启3D空间,父元素必须开启 */transform-style: preserve-3d;/* 设置景深&#xff08;你与z0平面的距离 */perspective:50px; 1.2 透视点位置 透视点位置&#xff1a;观察者位置 /* 100px越大&#xff0c;越感觉自己边向右走并看&#xff0c;…

stega1

题目链接&#xff1a;ctf.show 下载附件打开是一张jpg照片 无密码型jphs隐写得到flag flag{3c87fb959e5910b40a04e0491bf230fb}

微信小程序开发系列(二十五)·wxml语法·条件渲染wx:if, wx:elif, wx:else 属性组以及hidden 属性的使用

目录 1. 使用 wx:if、wx:elif、wx:else 属性组 2. 使用 hidden 属性 条件渲染主要用来控制页面结构的展示和隐藏,在微信小程序中实现条件渲染有两种方式: 1. 使用 wx:if, wx:elif, wx:else 属性组 2. 使用 hidden 属性 wx:if 和 hidden 二者的区别&#xff1a; 1. wx…

操作系统笔记(进程)

注&#xff1a; 下面图片资源来源于 王道计算机考研 操作系统 1.进程概念 进程&#xff08;process&#xff09;&#xff1a;是动态的&#xff0c;是程序的一次执行过程&#xff08;同一程序多次执行&#xff0c;会产生多个进程&#xff09;程序&#xff1a;是静态的&…

基于电鳗觅食优化算法(Electric eel foraging optimization,EEFO)的无人机三维路径规划(提供MATLAB代码)

一、无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径&#xff0c;使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一&#xff0c;它可以通过算法和模型来确定无人机的航迹&#xff0c;以避开障碍物、优化飞行…

指针【理论知识速成】(5)

一.回调函数&#xff1a; 1.什么事回调函数&#xff1a;通过函数指针调用函数 2.应用例子&#xff1a; https://blog.csdn.net/hot_water_oh/article/details/136572650?spm1001.2014.3001.5501 &#xff08;此链接为提到转义表所在博客的链接&#xff09; 依然以转义表为例…

drone ci 是什么

Drone CI是一个开源的持续集成和持续部署&#xff08;CI/CD&#xff09;系统&#xff0c;它使用Docker容器技术自动化软件的构建、测试和部署过程。Drone的设计哲学是简单和易用&#xff0c;通过使用Docker容器&#xff0c;它可以很容易地创建隔离的环境来运行测试和部署任务&a…

详细讲解Xilinx DDR3 的MIG IP生成步骤及参数含义

前几篇文章讲解了SDRAM到DDR3各自的变化&#xff0c;本文讲解如何使用DDR3&#xff0c;在Altera的Cyclone IV开发板上一般会使用SDRAM作为存储数据的芯片&#xff0c;而Xilinx的S6和7000系列一般使用DDR3作为存储数据的芯片。 从SDRAM芯片内部结构分析其原理&#xff0c;从内部…

从空白镜像创建Docker hello world

文章目录 写在前面基础知识方法一&#xff1a;使用echo工具方法二&#xff0c;使用c语言程序方法三&#xff0c;使用汇编语言小结 写在前面 尝试搞了下docker&#xff0c;网上的教程大多是让下载一个ubuntu这种完整镜像&#xff0c;寥寥几篇从空白镜像开始创建的&#xff0c;也…

SpringBoot自定义banner,自定义logo

SpringBoot自定义banner&#xff0c;自定义logo 在线网站 http://www.network-science.de/ascii/?spma2c6h.12873639.article-detail.9.7acc2c9aSTnQdW https://www.bootschool.net/ascii?spma2c6h.12873639.article-detail.8.7acc2c9aSTnQdW https://patorjk.com/softwa…