1.部署介绍
1.1 为何部署
我是一名大四的学生,所学专业是网络工程,对于java编程特别感兴趣,在这第一次部署前,是已经自学了java的spring,springboot,springcloud等常用框架,并且有项目开发完成,但是作品一直是本地运行,这天心血来潮忽然想尝试一下云部署体验,于是作为学生党的我通过阿里云客服的介绍了解到“飞天加速计划·高校学生在家实践”活动,并成功白嫖了阿里的服务,来完成了我的第一次云部署项目体验。
2.学习Docker去部署应用
2.1 部署mysql
其实作为小白,我第一次接触docker时能学到的命令,莫过于
docker images
相信安装docker成功的小伙伴和我一样第一时间就是用这个命令去看看咱的本地有啥镜像,然后咱就是拉下熟悉的mysql镜像;
docker pull mysql:latest
然后,就是去宿主机建挂载文件,第一次用跟着教程,挂载宿主机的/mydata/mysql/conf到mysql容器实列的/etc/mysql/conf.d下以及端口映射啥的大概命令就是
docker run -d -p 3307:3306 \
--name mysql-test \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql
然后就是改写远程连接权限,首先需要进如容器内部,通过命令
docker exec -it mysql-test bash
进入后需要去登录msql,更改权限啥的.
show databases;
use mysql;
select user,host from user;
grant all privileges on *.* to 'root'@'%' ;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
刷新权限
flush privileges;
然后就可以进行远程的一个访问了。到这,一般数据库就差不多了,如果想部署主从的话,额,挺简单,只要你在某个操作之后看见两个绿色的yes那么就恭喜你成功了。反正我是一顿操作了半天,一个no,一个yes。哈哈哈。
2.2 tomcat部署项目
在部署前需要做好三件事
一.更改启动类(springboot)
二.如果是springBoot项目得去掉内置的tomcat的依赖
三.项目打war包(jar也行,但是我没尝试过)
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
<exclusions>
<exclusion>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-tomcat
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.apache.tomcat
</groupId>
<artifactId>
tomcat-servlet-api
</artifactId>
<version>
8.0.36
</version>
<scope>
provided
</scope>
</dependency>
大概依赖长这样,其次就是启动类
@SpringBootApplication
@MapperScan
(
"com.cn.wanxi.dao"
)
public class
MinUseMedicalConsultationApplication
extends
SpringBootServletInitializer {
public static void
main
(String[] args) {
SpringApplication.
run
(MinUseMedicalConsultationApplication.
class,
args)
;
}
@Override
protected
SpringApplicationBuilder
configure
(SpringApplicationBuilder builder) {
return super
.configure(builder)
;
}
}
打包后也是需要上传到服务器的,我是放在/mytomcat/webapps下的
然后咱就要去拉tomcat的镜像
也不知道现在镜像是tomcat10点几,反正拉最新的出问题了所以我建议拉
docker pull tomcat:9.0.70-jre8-temurin-focal
然后就是起容器挂载文件,注意的是文件要挂载的路径
docker run -d -p 8090:8080 \
--name tomcat-test \
-v
/mytomcat/webapps:/usr/local/tomcat/webapps \
tomcat:
9.0.70-jre8-temurin-focal
然后就欧克了。
然后直接访问的后台的swagger,也是没有问题的....
3.总结
在部署后一定要去关注自己的安全组策列,需要我们自己去开放访问端口以及ip,对于我这种小白,因该就是去开放所有的。
总之部署后对于前端模块的接口测试只能说是更加方便了。