Linux项目后端部署及JDKTomcatMySQL安装

news2025/7/6 20:41:42

前言

        上一篇文章简单的分享了在VMware上安装linux系统,本篇文章将要分享的内容是使用linux系统完成项目的部署


一、前置准备工作

在Windows系统中,我们要在开发环境下才能进行项目的开发。那么在linux系统中也是,在安装完linux系统后,我们需要准备我们的项目运行环境。

安装JDK

安装Tomcat

在进行前置工作之前,我们来讲一下Linux的连接工具。

常见的连接工具有Xshell、finalShell等

我用的是MobaXterm

MobaXterm和Xshell的不同在于,MobaXterm可以将文件拖拽放入 ,左侧可以看到当前虚拟机下的文件夹,显得更直观。

我们先换一下国内源

1、备份自带的源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

2、生成阿里源

        先切换目录:cd /etc/yum.repos.d;

wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、清空缓存yum clean all

4、重新生成缓存yum makecache

 先备份,再生成

1、安装JDK

        1.1、下载JDK

准备好JDK的安装包,在官网进行下载,选择对应的系统和对应的版本。不要选错

        1.2、将下载好的压缩包放到虚拟机中。

这边建议在虚拟机中建一个文件夹,放要用到的软件解压包等。建议放在usr/local文件夹下,一般将安装的软件、压缩包等放在这个文件夹里。

        1.3、解压我们准备好的jdk的压缩包

先创建了叫java的文件夹存放解压完的文件

tar -zxf jdk-8u151-linux-x64.tar.gz -C /usr/local/java

        1.4、配置运行环境

vi /etc/profile

         

在里面加入

export JAVA_HOME=/usr/local/java/jdk1.8.0_151(这里放自己jdk的解压路径)
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

保存好后 

source /etc/profile

让新的配置文件生效

通过java -version查看是否安装成功

2、安装Tomcat

        2.1、下载好要使用的对应版本的tomcat的解压包,提前准备好了,就不展示在哪里下载啦。

        2.2、解压Tomcat的压缩包

            新建一个文件夹存放解压后的文件  ,这一步看个人习惯。     

 tar -zxf apache-tomcat-8.5.20.tar.gz -C /usr/local/tomcat

配置环境变量

export TOMCAT_HOME=Tomcat解压路径

 运行 source /etc/profile

 让新的环境变量生效

        2.3、到Tomcat的安装目录启动tomcat测试是否可用

./startup.sh

 我们输入localhost:8080,会发现根本进不去。可能是防火墙的问题。

#将8080端口加入到防火墙

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

#reload防火墙规则

firewall-cmd --reload

 

         2.4、创建启动脚本

将tomcat目录下bin中的catalina.sh拷贝到/etc/init.d下,重命名为tomcat,为所有用户增加可执行权限。

#将catalina.sh拷贝到init.d目录下

cp /usr/local/tomcat/apache-tomcat-8.5.20/bin/catalina.sh /etc/init.d

#在init.d目录下为catalina.sh重命名

mv catalina.sh tomcat

#为所有用户赋可执行权限

chmod a+x tomcat

 

#编辑tomcat

vi /etc/init.d/tomcat

JAVA_HOME=/usr/local/java/jdk1.8.0_151 CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.20

        2.5、使用 自己的IP地址+8080访问,测试是否完成安装

 3、MySQL安装

        3.1、卸载mariadb,否则安装MySql会出现冲突(先查看后删除再查看)

查看mariadb     rpm -qa|grep mariadb

 卸载mariadb  rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

卸载完后再次查看

        3.2、在线下载MySQL或者提前下载好解压

 在线下载:

        wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

我提前准备好了压缩包,就解压就OK了。

还是新建一个文件夹,放解压好的文件。

 

 tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql-5.7

 

 

        3.3、开始安装

 cd mysql-5.7
rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm

根据自己的版本来

        3.4、启动mysql服务

systemctl start mysqld

        3.5、登录mysql修改密码

 

设置密码校验策略(0 or LOW),要不密码设的太低级过不了
set global validate_password_policy=0;
设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
set global validate_password_length=4;
更新密码
set password = password("123456");
输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES;
可以退出,试试用新密码重新登录
exit

那么我们的准备工作完成。

二、项目部署

        1、后端项目部署

·1.1、运行后端项目

        在部署之前先在本地运行确保项目没问题,可以正常使用。

 1.2、maven install将项目打包

 1.3、将打包好的项目放入tomcat/webapps/

1.4、启动Tomcat并测试 

到这,我们的后端项目部署就完成了 

   


总结

        本篇文章分享了linux的Centos7中安装JDK、Tomcat以及Mysql。在完成安装环境的前置工作后,进行了后端项目的部署。下一篇文章将要分享的内容是部署前端项目以及Nginx。本次分享到此为止,希望能对你有帮助。本人技术有限,如有错误还望指正,谢谢啦。

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

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

相关文章

NoSuchMethodError的常见原因和通用解决方式

目录 环境信息 问题描述 错误分析 解决方法 常见原因 1.第三方包,作用域不对导致应用没导入该包 2.编译时和运行时使用的版本不一样 3.JDK版本不一样 4.多个同路径、同名的类 1.代码复制场景 2.代码移动场景 排查步骤 附录 Maven仲裁机制: …

为啥这么人选择iPhone

01.听音乐(10元/月) 歌曲很全 多个终端支持 果子自带的Music app 在那个设备都可以使用, 包括MacBook Pro,iPhone,iPad,iwatch等 02.周边配件方便购买 03.遇到问题好解决 04.使用稳定,不会有广告&#x…

MySQL海量数据优化(理论+实战) 吊打面试官

一、准备表数据 咱们建一张用户表,表中的字段有用户ID、用户名、地址、记录创建时间,如图所示 ​OK,接下来准备写一个存储过程插入一百万条数据 CREATE TABLE t_user (id int NOT NULL,user_name varchar(32) CHARACTER SET utf8 COLLATE ut…

[附源码]Python计算机毕业设计防疫物资捐赠系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

Vue组件化编程开发

目录 一.模块 二.组件 &#xff08;快捷键< 回车 生成单组件模板&#xff09; 三.非单文件组件 四.单文件组件: 首先理解模块和组件的基本概念: 一.模块 1.理解:向外提供特定功能的js程序&#xff0c;一般就是一个js文件 2.为什么: js文件很多很复杂 3.作用:复用js, 简…

Mybatis-Plus+SpringBoot结合运用

目录 前言 一、创建Maven项目导入相关的依赖 二、在resources添加日志和连接数据库 1.日志文件(log4j.properties) 2.连接数据库&#xff08;application.properties&#xff09; 三、编写pojo &#xff08;注解编写get/set/tostring&#xff09; 四、UserMapper编写继承…

Fragment的生命周期

文章目录Fragment的生命周期Fragment的状态和回调运行状态暂停状态停止状态销毁状态回调方法附加的回调方法onAttach()onCreateView()onActivityCreated()onDestroyView()onDetach()Fragment完整的生命周期图Fragment的生命周期 和Activity一样,Fragment也有自己的生命周期,并…

c++实现图书管理系统v1.0

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录系统要求功能1.首页2.退出系统3.添加图书4.删除书籍5.查找书籍6.修改书籍信息7.显示所有图书8.查看书籍是否在书架上总代码收获系统要求 用c实现一个可以增删改查的…

商城项目环境准备 — docker安装kinaba和配置ik中文分词器

一、拉取kinaba镜像 docker pull kinaba:7.12.1二、启动kinaba容器 docker run -d \ --name kibana \ -e ELASTICSEARCH_HOSTShttp://es:9200 \ --networkes-net \ -p 5601:5601 \ kibana:7.12.1三、访问 输入http://ip:5601 ip&#xff1a;服务器端口 四、安装ik分词器 …

研究光度立体法阶段性小结和优化(可20ms获取4个2500*2000灰度图的Normal Map)。...

这个东西是我接触的第一个非2D方面的算法&#xff0c;到目前为止其实也没有完全搞定&#xff0c;不过可能短时间内也无法突破。先把能搞定的搞定吧。 这个东西也有一大堆参考资料&#xff0c;不过呢&#xff0c;搜来搜去其实也就那些同样的东西&#xff0c;个人觉得就属这个文章…

Java自幂数计算及其算法改进

文章目录1. 自幂数2.自幂数的个数3. 常规自幂数计算方法4.算法代码改进1. 自幂数 如果在一个固定的进制中&#xff0c;一个n位自然数等于自身各个数位上数字的n次幂之和&#xff0c;则称此数为自幂数。 例如&#xff1a;在十进制中&#xff0c;153是一个三位数&#xff0c;各个…

计算机网络4小时速成:网络层,虚电路和数据包服务,ipv4,ABC类地址,地址解析协议ARP,子网掩码,ICMP忘记控制报文协议,路由选择协议,路由器

计算机网络4小时速成&#xff1a;网络层&#xff0c;虚电路和数据包服务&#xff0c;ipv4,ABC类地址&#xff0c;地址解析协议ARP&#xff0c;子网掩码&#xff0c;ICMP忘记控制报文协议&#xff0c;路由选择协议&#xff0c;路由器 2022找工作是学历、能力和运气的超强结合体…

新闻管理系统(SpringBoot+Vue)

商丘工学院新闻网 1、前言 sqgxy-xxydz-news是在大四参加的web大赛的一个项目&#xff0c;与我的队友协同开发&#xff0c;在此过程中收获颇多。 2、介绍 商丘工学院新闻官网&#xff08;信息与电子工程学院&#xff09;包括前台新闻展示系统及后台管理系统&#xff0c;基于Sp…

九种常见UML图

我常用的UML图是 类图、用例图、序列图、状态图这4种。 1、类图 类图是面向对象系统建模最常见的图&#xff0c;是定义其他图的基础 类图主要用用来显示系统中的类&#xff0c;接口以及它们之间的静态结构和关系的一种静态模型 类图显示 集合的类、接口、关联、协作和约束&…

Shiro笔记03-与Spring Boot整合

框架整合 创建模块 创建一个Maven工程 添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation…

生还是不生? SpringBoot3 版本有起飞前兆,最小依赖Java17!

一直以来&#xff0c;Java8都是Java社区心头的痛。因为它代表着以稳定性为主的企业管理层&#xff0c;与拥抱变化为主的底层码农层之间的、爱的魔力拉锯战。 不生&#xff01;少生&#xff01;成为各大厂心照不宣的选择。 现在&#xff0c;这种平衡或将打破。因为Java届的霸主…

Python3编程基础-变量与计算器

变量与计算器 简单计算器 下面来做一个简单计算器&#xff0c;完成普通计算器功能。 打开IDlE&#xff0c;输入以下脚本进行计算。 >>> 34 7 >>> 6-(8*2) -10 >>> (5*234)*(45) 396 >>> 每一行都是一个Python语句&#xff0c;如果可能的…

Java并发-为什么主线程结束了,程序却没有关闭呢?

守护线程与用户线程的定义及区别 Java 中的线程分为两类&#xff0c;分别为 daemon 线程&#xff08;守护线程&#xff09;和 user 线程&#xff08;用户线程&#xff09;。 在 JVM 启动时会调用 main 函数&#xff0c; main 函数所在的线程就是一个用户线程&#xff0c;其实…

TCP协议灵魂之问

先亮出这篇文章的思维导图: TCP 作为传输层的协议&#xff0c;是一个软件工程师素养的体现&#xff0c;也是面试中经常被问到的知识点。在此&#xff0c;我将 TCP 核心的一些问题梳理了一下&#xff0c;希望能帮到各位。 001. 能不能说一说 TCP 和 UDP 的区别&#xff1f; 首…

四十分钟带你玩儿转Python-OpenCV(一)

14天学习训练营导师课程&#xff1a; 李宁《Python Pygame游戏开发入门与实战》 李宁《计算机视觉OpenCV Python项目实战》1 李宁《计算机视觉OpenCV Python项目实战》2 李宁《计算机视觉OpenCV Python项目实战》3 OpenCV是一个基于BSD许可&#xff08;开源&#xff09;发行的跨…