在Linux服务器上部署一个单机项目

news2025/1/17 1:06:56

目录

一、jdk安装

二、tomcat安装

 三、MySQL安装

四、部署项目


一、jdk安装

1. 上传jdk安装包 jdk-8u151-linux-x64.tar.gz

进入opt目录,将安装包拖进去

2. 解压安装包

这里需要解压到usr/local目录下,在这里我新建一个文件夹保存解压后的文件

[root@localhost opt]# cd /usr/local/
[root@localhost local]# mkdir java

然后再进入到opt目录下进行解压

[root@localhost local]# cd /opt/
[root@localhost opt]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/java

解压完成后,可以查看

3. 进入/etc/profile文件中,配置环境变量

[root@localhost java]# vim /etc/profile

i键进入编辑模式,ESC退出编辑,:wq保存并退出 

#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_151/  
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

设置环境变量生效

[root@localhost java]# source /etc/profile

 安装完成后,可以查看

[root@localhost java]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

二、tomcat安装

 1. 上传安装包 apache-tomcat-8.5.20.tar.gz

跟jdk一样,直接将安装包拖入到opt目录下即可

2. 解压安装包

在opt目录下进行解压,解压到usr/local/java目录下

[root@localhost java]# cd /opt/
[root@localhost opt]# tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local/java

 3. 启动tomcat

[root@localhost java]# cd apache-tomcat-8.5.20/bin/
[root@localhost bin]# ./startup.sh

 4. 防火墙设置

1、开放8080端口

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

2、刷新防火墙

firewall-cmd --reload

3、查看防火墙列表

firewall-cmd --zone=public --list-ports

5. 创建启动脚本(设置自启动,服务器开启即启动)

将tomcat目录下bin中的catalina.sh拷贝到/etc/init.d目录下

[root@localhost bin]# cp /usr/local/java/apache-tomcat-8.5.20/bin/catalina.sh /etc/init.d

重命名为tomcat 

[root@localhost bin]# cd /etc/init.d/
[root@localhost init.d]# mv catalina.sh tomcat

编辑tomcat

进入编辑界面,加入以下内容,注意根据自己的环境配置

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

加入以下注释,:wq保存

#chkconfig: 23456 10 90
#description: tomcat service

执行以下命令添加服务

[root@localhost init.d]# chkconfig --add tomcat

 三、MySQL安装

1. 卸载mariadb,否则安装MySQL会出现冲突(先查看后删除再查看)

[root@localhost ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost ~]# rpm -qa|grep mariadb

2. 上传MySQL安装包

跟jdk一样,将安装包拖入到opt目录下

3. 解压MySQL安装包 mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

创建一个文件夹

[root@localhost ~]# cd /usr/local/java/
[root@localhost java]# mkdir mysql-5.7

进入opt目录下进行解压

[root@localhost java]# cd /opt
[root@localhost opt]# tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C /usr/local/java/mysql-5.7/

4. 以下内容逐条进行安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度 

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

5. 启动MySQL服务及开机启动设置

[root@localhost mysql-5.7]# systemctl start mysqld
[root@localhost mysql-5.7]# systemctl enable mysqld.service

 6. 登录MySQL修改密码

[root@localhost mysql-5.7]# grep "password" /var/log/mysqld.log
2024-02-24T09:47:07.400066Z 1 [Note] A temporary password is generated for root@localhost: ro.*hxccr9oL
[root@localhost mysql-5.7]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.

#设置密码校验策略(0 or LOW),要不密码太LOW不让你过
set global validate_password_policy=0;
#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
set global validate_password_length=4;
#更新密码
set password = password("123456");

#数据库没有授权,允许以root身份远程登录mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES; 

#可以退出,试试用新密码重新登录
exit

7. 防火墙设置

#开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#刷新防火墙规则
firewall-cmd --reload
#查看防火墙列表
firewall-cmd --zone=public --list-ports 

四、部署项目

1. 先创建一个数据库,名称要与脚本一致

 2. 先将tomcat服务停掉,将项目的war包放入到/usr/local/java/apache-tomcat-8.5.20/webapps目录下,再启动服务

3. 项目启动成功

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

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

相关文章

babylonjs入门模

基于babylonjs封装的一些功能和插件 ,希望有更多的小伙伴一起玩babylonjs; 欢迎加群:464146715 官方文档 中文文档 最小模版 ​ 代码如下: 在react中使用 import React, { FC, useCallback, useEffect, useRef, useState } f…

抖音视频提取软件怎么用|抖音数据抓取工具

针对用户获取抖音视频的需求,我们开发了一款功能强大的抖音视频提取软件,旨在帮助用户轻松获取他们感兴趣的视频内容。无需逐个复制链接,无需繁琐的下载步骤,我们的软件让抖音视频获取变得简单快捷。 使用我们的软件非常简单&…

使用免费的L53巧解Freenom域名失效问题

进入2月份以来,不少小伙伴纷纷收到Freenom提供的域名失效,状态由正常变成了Pending。 失效后,域名无法使用,免费的午餐没有了,而现在域名的价格也是水涨船高,真是XXX。很多做外贸的小伙伴表示 难 啊&#x…

谁是单身狗?——C语言刷题

创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 单身狗1 题述 在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字。 例如: 数组中有:1 2 3 4 5 1 2 3 4&a…

spring注解驱动系列--Bean生命周期二

一、BeanPostProcessor执行流程 在bean生命周期中,当bean对象创建完了之后,会调用populateBean(beanName, mbd, instanceWrapper);给bean进行属性赋值,之后会调用initializeBean方法进行初始化,而BeanPostProcessor中的postProces…

HTML 面试题汇总

HTML 面试题汇总 1. 什么是 <!DOCTYPE>&#xff1f;是否需要在 HTML5 中使用&#xff1f; 参考答案&#xff1a; 它是 HTML 的文档声明&#xff0c;通过它告诉浏览器&#xff0c;使用哪一个 HTML 版本标准解析文档。 在浏览器发展的历史中&#xff0c;HTML 出现过很多个版…

【前端素材】推荐优质医院后台管理系统I-Health平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理和监控网站、应用程序或系统的在线工具。它通常是通过网页界面进行访问和操作&#xff0c;用于管理网站内容、用户权限、数据分析等。后台管理系统是网站或应用程序的控制中心&#xff0c;管理员可以通过后台系统进行各种管理和配置操…

算法练习-组合总和【回溯算法】(思路+流程图+代码)

难度参考 难度&#xff1a;困难 分类&#xff1a;回溯算法 难度与分类由我所参与的培训课程提供&#xff0c;但需 要注意的是&#xff0c;难度与分类仅供参考。且所在课程未提供测试平台&#xff0c;故实现代码主要为自行测试的那种&#xff0c;以下内容均为个人笔记&#xff0…

相机姿态slovePnP

opencv slovePnP 物体的姿态 估计 物体的姿态&#xff08;位置和方向&#xff09; 通过已知的图像坐标点数组&#xff0c;和对应的世界坐标点数组&#xff0c;相机的内参&#xff0c;畸变参数&#xff0c;求解相机姿态&#xff0c;即旋转向量和平移向量&#xff0c; 例如&…

JSTL标签

JSTL标签 一、什么是JSTL标签&#xff1a; 随着J2EE瘦客户机技术JavaServer Pages(JSP)在过去几年中的流行&#xff0c;开发人员已经创建了许多自定义的JSP标记库。虽然很多标记库是为实现不同目标的而编写的&#xff0c;但它们往往也对迭代、条件及其它通用操作都提供了类似…

解决:“出现问题,Outlook 无法设置你的账户”

原文&#xff1a;https://blog.iyatt.com/?p14213 1 问题描述 Office 专业版 2024 预览版 在 Outlook 输入邮箱后无法进一步配置登录信息&#xff08;腾讯企业邮箱 Exchange 登录&#xff09; 2 解决方法 通过控制面板里的邮箱设置可以正常添加登录&#xff0c;而且能…

链表OJ题第二弹:环形链表和环形链表 II

前言 第一弹的链表题目比较基础&#xff0c;下面两道题目难度升级&#xff0c;可以先自己挑战一下&#xff0c;再来看解析。解析有图示和的文字&#xff0c;有助于你的理解。 1. 环形链表 &#xff08;1&#xff09;题目及示例 给定一个链表的头节点 head &#xff0c;返回…

C语言菜鸟入门·二维数组

C语言菜鸟入门数组简介-CSDN博客 目录 ​编辑 1. 二维数组 1.1 初始化二维数组 1.2 访问二维数组元素 1.3 示例演示 2. 传递数组给函数 2.1 形式参数是一个指针 2.2 形式参数是一个已定义大小的数组 2.3 形式参数是一个未定义大小的数组 2.4 实例演示 1. 二维…

Spring中关于事务的一些方方面面

事务隔离级别&#xff1a; 先了解一些事务隔离级别有哪些&#xff1a; 未提交读(Read Uncommitted)&#xff1a; 允许脏读&#xff0c;也就是可能读取到其他会话中未提交事务修改的数据 提交读(Read Committed)&#xff1a; 只能读取到已经提交的数据。Oracle等多数数据库默…

组态软件在物联网中的应用

随着物联网的快速发展&#xff0c;组态软件在物联网中的应用也越来越广泛。组态软件是一种用于创建和管理物联网系统的可视化工具&#xff0c;它能够将传感器、设备和网络连接起来&#xff0c;实现数据的采集、分析和可视化。本文将探讨组态软件在物联网中的应用&#xff0c;并…

通信入门系列——双边带信号、单边带信号、Hilbert变换

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、双边带信号 二、单边…

详细分析Pandas中的Series对象(附Demo)

目录 1. 问题所示2. 基本知识3. API Demo4. 示例Demo5. 彩蛋 1. 问题所示 从实战上手基础知识 一开始遇到这个Bug&#xff1a; TypeError: unsupported operand type(s) for -: str and float后面经了解执行减法运算时发生了错误&#xff0c;其中一个操作数是字符串类型&…

文献速递:GAN医学影像合成--用生成对抗网络生成 3D TOF-MRA 体积和分割标签

文献速递&#xff1a;GAN医学影像合成–用生成对抗网络生成 3D TOF-MRA 体积和分割标签 01 文献速递介绍 深度学习算法在自然图像分析中的成功近年来已被应用于医学成像领域。深度学习方法已被用于自动化各种耗时的手动任务&#xff0c;如医学图像的分割和分类&#xff08;G…

React18源码: Fiber树的初次创建过程图文详解

fiber树构造&#xff08;初次创建&#xff09; fiber树构造的2种情况&#xff1a; 1.初次创建 在React应用首次启动时&#xff0c;界面还没有渲染此时并不会进入对比过程&#xff0c;相当于直接构造一棵全新的树 2.对比更新 React应用启动后&#xff0c;界面已经渲染如果再次发…

Java 过滤器深入了解学习

Java 过滤器深入了解学习 生活不能等待别人来安排&#xff0c;要自己去争取和奋斗&#xff1b;而不论其结果是喜是悲&#xff0c;但可以慰藉的是&#xff0c;你总不枉在这世界上活了一场。有了这样的认识&#xff0c;你就会珍重生活&#xff0c;而不会玩世不恭&#xff1b;同时…