• Linux部署Java项目


    Linux部署Java项目步骤:

    核心步骤:

    1.阿里云centos_8_0服务器准备,安全组设置

    2.Linux下jdk、maven、git安装配置

    3.添加SSH公钥从GitHub(gitee)克隆源代码

    4.Linux下安装docker

    5.docker下安装mysql

    6.git拉取项目代码

    7.执行项目中的sql数据库脚本

    8.修改项目配置文件并启动


    环境部署

    准备工作:

    阿里云

    新建目录

    #tmp存放临时安装包
    mkdir -p /data/tmp
    #service存放软件环境
    mkdir -p /data/service
    #gitee存放代码版本控制库
    mkdir -p /data/gitee
    

    JDK >= 1.8

    ​ 从Oracle官网下载1.8版本最新版JDK,通过工具上传到服务器上,接着解压和配置环境变量

    #进入安装包目录,解压
    cd /data/tmp
    tar -zxvf jdk-8u261-linux-x64.tar.gz
    
    #把解压出来的文件夹转移到统一的地方
    mv /data/tmp/jdk1.8.0_261 /data/service/jdk1.8.0_261
    
    #修改环境变量/etc/profile,JAVA_HOME修改为自己的jdk路径
    vim /etc/profile
    export JAVA_HOME=/data/service/jdk1.8.0_261
    export PATH=$PATH:$JAVA_HOME/bin
    
    #使环境变量生效
    source /etc/profile
    
    #检查是否配置成功
    java _version
    

    Maven >= 3.0

    ​ 从Maven官网下载最新版的压缩包,进行解压和配置环境变量

    #进入安装包目录,解压
    tar -zxvf apache-maven-3.6.3-bin.tar.gz
    
    #修改环境变量/etc/profile, MAVEN_HOME修改为自己的maven路径
    export MAVEN_HOME=/data/service/maven-3.6.3
    export PATH=$PATH:$MAVEN_HOME/bin
    
    #使环境变量生效
    source /etc/profile
    
    #检查是否配置成功
    mvn -v
    

    Git

    #通过yum安装
    yum -y install git
    
    #检查是否配置成功
    git -version
    
    ssh-keygen-t rsa -C "xx@xx.com"
    cat ~/.ssh/id_rsa.pub
    

    Mysql >= 5.5.0(5.5.7)

    ​ 使用docker的方式安装mysql,首先安装docker

    #卸载旧版本
    sudo yum remove docker 
    		docker-client 
    		docker-client-latest 
    		docker-common  
    		docker-latest 
    		docker-latest-logrotate 
    		docker-logrotate 
    		docker-engine
    #安装 Docker Engine-Community
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager 
    --add-repo 
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo yum install docker-ce docker-ce-cli
    containerd.io
    sudo systemctl start docker
    
    yum install
    https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-
    1.2.6-3.3.fc30.x86_64.rpm
    
    #查看可用的mysql版本
    docker search mysql
    #拉去5.7版本
    docker pull mysql5.7
    #创建配置文件目录
    mkdir -p /data/docker/mysql/conf
    #进入配置文件目录,添加一个配置文件
    vim my.cnf
    
    
    [mysqld]
    character-set-server=utf8
    
    #进入docker容器设置env LANG=C.UTF-8
    docker exec -it mysql env LANG=C.UTF-8 bash
    

    项目部署

    步骤部署

    ​ 1、从git仓库clone下来最新代码

    #创建git仓库目录,clone项目源代码
    mkdir -p /data/gitee
    cd /data/gitee
    git clone xxx.git(以ruoyi项目为例)
    
    #复制需要执行的sql文件到docker的映射目录中
    cp /data/gitee/RuoYi/sql/quartz.sql /data/docker/mysql/conf/
    cp /data/gitee/RuoYi/sql/ry_20200911.sql /data/docker/mysql/conf/
    
    #进入docker容器中,执行sql文件
    docker exec -it mysql env LANG=C.UTF-8 bash
    #连接mysql
    mysql -uroot -p
    #创建数据库ruoyi
    create database if not exists ruoyi character set='utf8'
    #进入数据库,执行文件
    use ruoyi;
    source /etc/mysql/conf.d/quartz.sql;
    source /etc/mysql/conf.d/ry_20200911.sql;
    
    cd /data/gitee/Ruoyi/ruoyi-admin/src/main/resources/
    #修改application.yml的启动项目端口号
    vim application.yml
    #修改application-druid.yml的数据源
    vim application-druid.yml
    
    server:
    port:18081
    
    ruoyi:
    profile:/data/tmp
    
    #数据源配置
    spring:
    	datasource:
    		type:
    com.alibaba.druid.pool.DruidDataSource
    	driverClassName:com.mysql.cj.jdbc.Driver
    	druid:
    		#主库数据源
    		master:
    			url:jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&
    			zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    			username:root
    			password:123456
    
    cd /data/gitee/RuoYi/
    mvn install
    

    启动项目:把jar复制到程序目录,通过java命令行的方式启动jar包文件。由于本项目是spring boot项目,所以jar中内置了web容器,不需要额外安装tomcat了。

    mkdir -p /data/app/ruoyi-admin
    cp /data/gitee/RuoYi/ruoyi-admin/target/ruoyi-admin.jar
    /data/app/ruoyi-admin/ruoyi-admin.jar
    cd /data/app/ruoyi-admin/
    nohup java -jar ruoyi-admin.jar &
    
  • 相关阅读:
    返回一个整数数组中最大子数组的和 1
    软件工程第一周开课博客
    体温上报系统总结
    Android 布局中如何使控件居中
    Android:Unable to find explicit activity class报错
    Android Studio 线性布局
    相对布局
    HTML5 video视频
    阅读笔记——《人月神话》
    体温汇报系统界面
  • 原文地址:https://www.cnblogs.com/val-record/p/13957841.html
Copyright © 2020-2023  润新知