Springboot_demo部署
目录
Springboot_demo部署
1、安装maven
一、下载maven
二、上传maven并解压包
三、配置环境变量
四、配置maven镜像仓库(可跳过)
五、验证
2.安装java
3.部署springboot_demo
一、获取项目
二、编译
三、docker准备工作
(1)部署mysql容器
(2)部署java容器
四、启动
(1)进入java容器
(2)进入保存的war包目录里
(3)使用java -jar命令
(4)使用浏览器访问
4、错误解决方法
1、安装maven
一、下载maven
官网地址:Maven – Download Apache Maven
二、上传maven并解压包
下载好maven包上传到root目录下面:
#切换到root目录
cd /root/
#解压
tar -zxvf apache-maven-3.9.6-bin.tar.gz -C /usr/local/
三、配置环境变量
#打开环境变量配置文件
vi /etc/profile
#在环境变量配置文件最后一行添加,并保存退出
export MAVEN_HOME=/usr/local/apache-maven-3.9.6
export PATH=$MAVEN_HOME/bin:$PATH
#刷新一下环境变量配置文件
source /etc/profile
四、配置maven镜像仓库(可跳过)
在国内访问Maven中央仓库可能会受到网络限制
#打开maven配置文件
vi /usr/local/apache-maven-3.9.6/conf/settings.xml
使用阿里云镜像:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
五、验证
验证Maven是否安装成功
命令:mvn -v
2.安装java
注意:Maven 3.9+ 需要JDK8或更高版本才能执行
因此我们使用yum来安装java-11-openjdk-11.0.8
yum -y install java-11*
验证java环境
命令:java -version
3.部署springboot_demo
为了部署Spring Boot应用程序(比如名为springboot_demo的项目)
项目链接:https://gitee.com/random2022/springboot_demo.git
一、获取项目
需要先对虚拟机安装git:
yum -y install git
从官网gitee拉取springboot_demo项目在root目录下面:
git clone https://gitee.com/random2022/springboot_demo.git
更改:需要在application.yml将localhost修改为本机IP地址
vi /root/springboot_demo/src/main/resources/application.yml
更改后: |
二、编译
在你的项目根目录下,是使用Maven来编译你的应用程序,你可以通过以下命令进行操作:
首先进入springboot_demo目录下。
cd /root/springboot_demo/
使用maven命令操作:
[root@docker springboot_demo]# mvn clean package
如果编译过程中出现测试失败,你可以通过添加-DskipTest参数来跳过测试:
要先把失败的springboot_demo项目删除,重新获取。
[root@docker springboot_demo]# mvn clean package -DskipTests
编译成功后,你可以在target目录下找到生成的JAR或WAR文件,具体取决于你的项目配置。对于Spring Boot应用,通常是一个可执行的JAR文件,如Springboot_demo-0.0.1-SNAPSHOT.war
查看编译后新生成的application.yml里面的IP地址,是否是上面修改的IP地址:
/root/springboot_demo/target/classes/application.yml
/root/springboot_demo/target/Springboot_demo-0.0.1-SNAPSHOT/WEB-INF/classes/application.yml
三、docker准备工作
通过使用java -jar Springboot_demo-0.0.1-SNAPSHOT.war命令发现启动时候需要mysql数据库还有java环境,因此需要在虚拟机上部署mysql容器和java容器。
(1)部署mysql容器
拉取5.5版本的mysql镜像:
docker pull mysql:5.5
创建容器,端口从宿主机的3306映射到mysql容器的3306端口,命名为c_mysql,数据库密码设置为root,使用mysql版本为5.5的镜像。
docker run -id -p 3306:3306 --name=c_mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.5
(2)部署java容器
拉取8版本的java镜像:
docker pull java:8
创建容器,映射宿主机的8080端口到java容器8080端口,名字为c_java。如果在application.yml中或者其他地方配置了其他的访问端口,则需要将8080修改成相应的端口号。
#在root目录下创建一个java目录
mkdir /root/java
#将target下生成的Springboot_demo-0.0.1-SNAPSHOT.war复制到/root/java目录下面。
cp /root/springboot_demo/target/Springboot_demo-0.0.1-SNAPSHOT.war /root/java/
#创建容器
docker run -id -p 8080:8080 -v /root/java:/root --name=c_java java:8
四、启动
(1)进入java容器
docker exec -it c_java bash
(2)进入保存的war包目录里
cd /root/
(3)使用java -jar命令
java -jar Springboot_demo-0.0.1-SNAPSHOT.war
(4)使用浏览器访问
[虚拟机ip]:8080/pages/user.html
4、错误解决方法
在部署springboot项目下,出现mysql的错误,例如:找不到指定数据库名称,这是时候我们就要进入mysql容器里面创建一个名为springboot的数据库:
#进入容器
docker exec -it c_mysql bash
#登陆数据库
mysql -uroot -proot
#查看数据库,是否有springboot数据库,如果没有就创建一个。
show databases;
#创建springboot数据库
create database springboot;
运行时查找不到.sql的数据库,在本地会有三个一样new.sql数据库,里面会有四条基本数据库。
将new.sql数据库直接导入到mysql容器里面的springboot数据下面
#将new.sql数据库复制到mysql容器下面的root目录
docker cp /root/springboot_demo/src/main/resources/new.sql c_mysql:/root/
#进入c_mysql容器里面
docker exec -it c_mysql bash
#登入mysql数据库
mysql -uroot -proot
#切换库
use springboot;
#上传new.sql数据库
source /root/new.sql;
#使用show tables查看有没有user
show tables;
最后:
进入java容器里面,在root目录下在执行一遍java -jar命令:
docker exec -it c_java bash
cd /root/
java -jar Springboot_demo-0.0.1-SNAPSHOT.war
使用浏览器访问就可以看到四条基本数据信息。