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 &
人们容易原谅别人的错误,却很难原谅别人的正确!