centos JDK Jenkins maven tomcat git myslq nginx
7.9 11.0.19 2.418 3.8.1 9.0.78 2.34.4 5.7.26 1.24.0

域名申请完成 DNS域名解析绑定 对象存储minio(建议换成云存储OSS)

JDK压缩包安装

一.JDK-安装
  1. JDK11官网下载 建议安装11因为如果安装Jenkins最新版本只支持JDK11/17; 查询本机架构 hostnamectl 根据信息下载具体版本. JDK8百度网盘下载 mx1f
#查询架构信息
hostnamectl
#根据信息下载具体版本 例如Architecture: x86-64下载 x64的

  1. yum安装后面依赖缺少时还要重新配置环境变量(安装好可以忽略) 推荐压缩包下载安装.
二.JDK-环境配置
  1. JDK11环境配置

注意JDK11没有jre 目录解压后其实就是jre

#Java11 Environment
#解压目录
export JAVA_HOME=/usr/local/java/jdk11
#指向解压目录即可
export JRE_HOME=/usr/local/java/jdk11
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin

~~JDK8环境配置 ~~/etc/profile

export JAVA_HOME=/usr/local/java/jdk8
export JRE_HOME=/usr/local/java/jdk8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
  1. 检验
#生效配置
source /etc/profile
#检查安装成功?
java -version

JDK卸载

  1. 压缩包方式卸载.
#压缩包方式卸载删除解压目录和环境配置即可
#(1)查看是否已安装jdk
rpm -qa | grep jdk
#删除查询到的文件
#(2)查看jdk版本
java -version
#(3删除jdk及其配置环境
  1. yum安装的java,采用yum卸载.
#java -version 查询版本
#卸载所有openjdk相关文件输入
yum -y remove 版本*
#卸载tzdata-java
yum -y remove tzdata-java.noarch
#删除关于java的配置
vi /etc/profile
#立刻生效
source /etc/profile
#此时查不到
java -version
常用命令
常用命令 命令 备注
解压 tar -vxzf xxx
  • tar –xvf file.tar 解压 tar包
  • tar -xzvf file.tar.gz 解压tar.gz

-v:显示所有过程

-x:解压

-z:有gzip属性的

-f: 使用档案名字,参数是最后一个参数后面只能接档案名 |

| 查询 | rpm -qa | grep xxx | -qa代表query,a代表all |

| 查询环境变量 | echo $JRE_HOME | |

| 环境立刻生效 | source /etc/profile | |

| 查询java版本 | java -version | |

遇到Tomcat启动失败问题 The JRE_HOME environment variable is not defined correctly

原因: 没有配置JRE_HOME

查看 JRE_HOME echo $JRE_HOME

解决: profile文件配置 export JRE_HOME=/usr/local/java/jdk11

sudo find / -name .bashrc

TomCat安装

  1. 下载Tomcat9-core

  1. 安装: 下载**tomcat9 **(10版本会报错不知道为啥)-core 解压 查看状态 ps -ef |grep tomcat

  1. 部署项目时配置server.xml 添加到里面 docBase指定项目路径*
<Context path="" docBase="/usr/local/tomcat/apache-tomcat-10.1.11/webapps/blog"/>

如果环境变量没生效再配置/usr/local/tomcat/apache-tomcat-10.1.11/bin/setclasspath.sh

export JAVA_HOME=/usr/local/java/jdk11
export JRE_HOME=/usr/local/java/jdk11

MySQL安装

云安装5.7版本参考, 压缩下载~~ 选择 Compressed TAR Archive 选择Linux -通用 ; x86 64~~

  1. 卸载旧版本mariadb
如下命令以此执行  卸载旧版本mysql  mariadb
rpm -qa|grep mari
rpm -e --nodeps mariadb-libs
rpm -qa|grep mari
  1. Wget安装mysql5.7.26 , 确定好安装目录后
#下载
wget -c http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
#解压
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
#顺序安装依赖
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
  1. 启动/状态
#启动
mysql systemctl start mysqld.service
#查看mysql状态
systemctl status mysqld.service
#关闭1 cd 到 bin
./mysqladmin -u root -p shutdown
#关闭2
service mysqld stop
  1. 初始化mysql

    1. 查看密码 grep "password" /var/log/mysqld.log
    2. mysql -uroot -p 修改密码: set password for 'root'@'localhost' = password('自定义密码');
    3. 方便远程连接 grant all privileges on . to 'root'@'%' identified by '自定义密码' with grant option;

MinIO的安装

安装MinIO操作文档 Binary下载 , 按照官网的路径配置比较快
下载minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio 修改minio的权限
chmod +x minio 移动下载的文件 到此文件夹下
sudo mv minio /usr/local/bin/
创建minio.service 放到/etc/systemd/system/ 目录下 推荐使用MobaXterm操作方便,可视化操作
[Unit]
Description=MinIO
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
# 指的是下载的压缩 minio 文件路径 最后一个指的是文件
AssertFileIsExecutable=/usr/local/bin/minio # 添加用户和分组后面会操作无需改动
[Service]
WorkingDirectory=/usr/local User=minio-user
Group=minio-user # 此文件需要注释掉 不识别此标识
# ProtectProc=invisible #环境配置 需要创建一个minio文件 位置在 /etc/default/ 下
EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi" # 启动命令
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES # MinIO RELEASE.2023-05-04T21-44-30Z adds support for Type=notify (https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type=)
# This may improve systemctl setups where other services use `After=minio.server`
# Uncomment the line to enable the functionality
# Type=notify # Let systemd restart this service always
Restart=always # Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536 # Specifies the maximum number of threads this process can create
TasksMax=infinity # Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no [Install]
WantedBy=multi-user.target # Built for ${project.name}-${project.version} (${project.name})
创建环境变量 minio 文件无后缀只是个文件类型, 位置在/etc/default/ 下

# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment # 配置登录账号和密码
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin # MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.
# 注意自己创建的文件,权限设置为777要不然报 file access denied ; 用来存放minio上传的文件,也可自行设置路径
MINIO_VOLUMES="/mnt/data" # MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server
# MinIO assumes your network control plane can correctly resolve this hostname to the local machine
# 该值替换为本地计算机的正确主机名和 MinIO 服务器的端口(默认为 9000)查看端口 ip addr list xxx/20的就是
MINIO_SERVER_URL="http://本地服务器ip:9000"

启动程序, 通过 journalctl -f -u minio.service 命令实时查看输出日志情况.
#  配置完后重新加载
systemctl daemon-reload #启动minio
systemctl start minio.service # 查看运行状态
sudo systemctl status minio.service # 开启日志查看
journalctl -f -u minio.service 关闭minio
# systemctl stop minio.service #开启开机自启
systemctl enable minio.service
连接minio ,运行成功后Console如下图 后面的ip地址后的端口添加到,安全组, 然后用公网ip+此端口访问minio的管理平台页面



下面的错误是 自己创建的data没有设置777权限,所以运行失败 ,一直调试好久,看着日志才能更好的定位问题;

Error: unable to rename (/mnt/data/.minio.sys/tmp -> /mnt/data/.minio.sys/tmp-old/47f17c32-df74-49d3-8151-a079655e2557) file access denied, drive may be faulty please investigate (*fmt.wrapError)

部署项目注意事项

  1. tomcat 服务器 添加 docBase指定项目的路径, <Connector port="80" ..../> 端口修改为80 以便访问时不需要带上端口号,前端请求ip也要设置为80端口
  2. 前端请求后端ip地址 VITE_APP_API_BASEURL = http://ip(本地ip或者公网ip或者域名)/blog **/blog **指的是tomcat的war包名称 因为tomcat访问时 需要加上项目名称.
  3. 部署时先停掉服务在部署.
  4. 访问前端index.html页面, 配置后端, 编写一个@Controller 方法上@GetMapping("/") 表示访问ip地址 , 通过重定向 , 访问服务器下的前端dist包下index.html; return"/dist/index.html".

项目部署时注意问

  1. minio访问出错问题

浏览器访问图片提示Net::ERR_CONNECTION_RESET,查看地址是127.0.0.1, 部署云以后 只能通过公网ip才可以访问到minio的资源,所以修改minio配置文件, 修改,minio的ip地址 endpoint: http://公网ip : 端口(默认9000), 这样上传文件时前缀名字存储时就是公网ip了,访问时通过公网访问minio资源.

  1. 前端请求后端ip出错

前端封装的axios.js 的ip修改为 [ 公网ip:80/项目名称 **] **端口就可以访问后端了.

  1. 阿里云 安全组 需要注意一些外部访问的权限,比如minio平台管理页面端口

minio和tomcat 提取码:6ms8

tomcatSSL配置.zip

Centos环境部署SpringBoot项目的更多相关文章

  1. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  2. Docker快速上手之部署SpringBoot项目

    Docker是基于Go语言实现的云开源项目. Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分发.部署.运行等生命周期 ...

  3. docker部署springboot项目

    本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...

  4. mac和linux下使用Docker,部署SpringBoot项目到docker

    主要是看一下如何在linux及mac上安装docker,创建docker镜像,部署SpringBoot项目到docker,并借助于DaoCloud进行docker镜像下载加速等. 我用的电脑是mac, ...

  5. Docker下部署springboot项目

    1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...

  6. 部署SpringBoot项目jar包到云服务器

    前言 做安卓开发也有三四年了,但是对网络这块什么http.tcp/ip之类的一直不理解.并且想自己做一些小项目练练手的时候,数据库直接存在apk里总不是滋味,所以这次站在安卓开发的角度尝试着做一做简单 ...

  7. Jenkins部署springboot项目

    记录jenkins如何部署springboot项目(jar类型的) 一.首先需要先配置好jenkins的基本配置(jdk.maven--),可在系统管理-->>全局工具配置中进行配置. 配 ...

  8. CentOS 7 部署 node 项目

    CentOS 7 部署 node 项目 安装 node 环境 方法一:使用 wget 的方式下载压缩包进行解压 淘宝node镜像地址,进入地址选择自己想要安装的版本 wget https://npm. ...

  9. k8s-生产环境部署django项目k8s-dashboard管理系统

    1. k8s-生产环境部署django项目k8s-dashboard管理系统 gitee地址: https://gitee.com/scajy/django-k8s-dashboard.git 部署架 ...

  10. 利用Dockerfile部署SpringBoot项目

    利用Dockerfile部署SpringBoot项目 1.创建一个SpringBooot项目并且打成jar包 2.在Linux中创建一个文件夹,来做docker测试 [root@izwz90lvzs7 ...

随机推荐

  1. 【Azure 应用服务】如何定期自动重启 Azure App Service Plan(应用服务计划)

    问题描述 如何定期自动重启 Azure App Service Plan(应用服务计划)? 因一个App Service Plan 下包含多个应用服务,如果能统一通过应用服务计划来重启所有的应用,则有 ...

  2. 17. Class字节码指令解析

    ## 1. 概述 官方文档:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html Java 字节码对于虚拟机,就好像汇编语言对于 ...

  3. P8+架构师养成计划

    一.P8+要求 1.收集能力要求 1.专业能力 技术架构.业务架构.做到无中生有. 2.基石能力 沟通协调能力.团队管理能力.逻辑能力.风险控制能力. 3.影响力 团队内部影响.外部影响.行业影响力. ...

  4. .Net Core中使用DiagnosticSource进行日志记录

    System.Diagnostics.DiagnosticSource 是一个可以对代码进行检测的模块,可以丰富地记录程序中地日志,包括可序列化的类型(例如 HttpResponseMessage 或 ...

  5. vscode复制相对路径时是反斜杠\,改为正斜杠/ [转]

    痛点:复制路径的时候斜杠不对 解决:explorer.copyRelativePathSeparator 设置 在跳出来的设置页面的搜索栏里输入explorer.copyRelativePathSep ...

  6. 玩转Vue3之深入理解响应式编程

    前言 Vue 3是一个功能强大的前端框架,它引入了一些令人兴奋的新特性,其中最引人注目的是ref和reactive.这两个API是Vue 3中响应式编程的核心,本文将深入探讨它们的用法和差异. 什么是 ...

  7. js之实现页面内所有图片旋转

    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=do ...

  8. 28_FFmpeg音视频解封装格式

    目录 一.什么是封装格式 二.使用 FFmpeg 实现解封装 1.创建解封装上下文打开流媒体文件 2.检索流信息 2.1.检索流信息 2.2.导出流信息到控制台 3.初始化音频解码器查找合适的音视流和 ...

  9. FFmpeg命令行之 Unknown encoder ‘libx264‘

    在执行下面命令进行摄像头采集时,会报错 Unknown encoder 'libx264' ffmpeg -f dshow -i video="C1E Camera" -vcode ...

  10. 腾讯Linux 运维工程师面试真题

    腾讯Linux 运维工程师面试真题 1. 如何防止 DDOS 攻击?如提供足够资源给你,要保证用户访问不影响. 首先确定攻击源范围,如果是处于公司内部,那么暂时性的将这一区域的内部网络封掉,如 果是外 ...