springboot项目打包
如果有上传文件,记得在配置文件加上如下三行,都设置200M应该足够了
spring.servlet.multipart.max-file-size: 200MB
spring.servlet.multipart.max-request-size: 200MB
server.tomcat.max-swallow-size: 200MB
修改mysql和redis的账号/密码/ip端口为服务器上的账号密码ip端口,再打包
一般打包:在项目根目录
mvn package
因为我有springboot测试类,介绍下不编译测试类的打包方式,我用了第一种
mvn clean package -DskipTests //不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
mvn package -Dmaven.test.skip=true //不执行测试用例,也不编译测试用例类。
配置jdk
这里linux分类有写过,我这里不能使用sftp工具,所以想上传需要借助rz命令(也可以用git上传和拉取,但是太麻烦了)
- 安装上传工具
sudo apt-get install lrzsz
- 使用
rz 小文件上传
rz -be 大文件上传(我使用这种,jdk包接近200M)
直接输出回车之后会弹出选择文件,选择上传文件到当前目录,如果有需要上传到指定目录的,可以自行百度.
- 解压jdk包
tar -zxvf 压缩包名称 -C 指定目录
例如 tar -zxvf jdk-8u121-linux-x64.tar.gz -C ./jdk-8u121-linux-x64
即解压包到当前目录,名字为jdk-8u121-linux-x64
这时只能在当前文件bin目录下java -version查看版本,并不能全局查看,需要配置jdk环境
- 配置jdk环境
编辑profile文件
vi /etc/profile
按i编辑
在最后一行加入
export JAVA_HOME=你的jdk安装路径/文件夹名
export PATH=$PATH:$JAVA_HOME/bin
按ESC退出编辑
输入:wq 保存退出
使新配置生效
source /etc/profile
任意目录输入 java -version 查看jdk版本
成功
安装docker
因为mysql和redis我是用docker安装,所以先安装docker
查看是否安装过docker
yum list installed | grep docker
没有安装过,安装docker
yum -y install docker
启动docker
systemctl start docker
查看docker服务状态,看到绿色running说明安装成功,运行正常
systemctl status docker
安装mysql和redis
- 安装mysql5.7
docker pull mysql:5.7
拉取完成可以查看已有镜像
docker images
生成容器(建议直接设定好密码比较方便,后面有生成容器后再修改密码的介绍)
docker run \
--name mysql_test \
-v /data/mysql/conf:/etc/mysql/ \
-v /data/mysql/datadir:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7
语句意思可以自己百度,版本建议不要用latest,我用的5.7
修改密码
建议直接在sqlyog之类的软件上修改,比较方便
先修改root@%用户密码
再对root@localhost用户进行同样修改即可,切记两个用户都要修改
忽略大小写及修复服务器mysql中group by报错问题
找到镜像
docker ps
进入容器
docker exec -it 容器ID /bin/bash
找到配置文件
cd /etc/mysql/mysql.conf.d
安装vim(可以在容器使用vi修改配置文件)
apt-get update
apt-get install vim
修改配置文件
在[mysqld]标签下添加忽略大小写等文本
按i编辑
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower-case-table-names=1
按ESC退出编辑模式
输入:wq回车,保存配置文件
输入exit退出容器
重启容器即可应用配置
docker restart 容器ID
在sqlyog查看大小写忽略是否配置成功(为1就是忽略)
SHOW GLOBAL VARIABLES LIKE '%lower_case%';
我用到了图片上传,将上传图片传base64存入数据库,需要修改参数,直接在客户端sqlyog配置
SET GLOBAL max_allowed_packet = 200*1024*1024
可以存入200M,可根据需求自行修改,但是每次重启mysql服务需要重新设置
更一劳永逸的方法,直接在配置文件加一行
max_allowed_packet=200M
还是在mysqld标签下加入,不多叙述
- 安装redis
安装redis推荐直接设置密码,因为想改密码比较麻烦
拉取redis镜像,不带版本号默认拉取最新版本
docker pull redis
生成容器(直接设置密码)
因为当时没有记录,可能有问题,之后再安装如果有问题会更新这里
docker run -d --name myredis -p 6379:6379 redis --requirepass "123456"
上传jar包并部署
新建一个文件夹
mkdir -p 文件夹名
p 确保目录名称存在,不存在的就建一个。
进入这个文件夹,上传jar包(工具安装见文章开头)
rz -be
之后后台运行即可,小项目,直接运行,日志已经在项目中配置
nohup java -jar jar包名 &
查看java文件
ps -ef|grep java
已经成功运行
进入文件夹查看日志
想要查看日志
(循环输出)
tail -f 文件名