基于华为云线上部署springboot后端和vue前端
基于华为云线上部署springboot后端和vue前端
📢📢📢📣📣📣
hello 这里是北梦程序员,现阶段主要分享后端技术
一名在校大学生,共同学习,共同见证我的成长
目前掌握技术:springboot,mysql,mybatis,mybatisplus,
rabbitmq,redis,springcloudalibaba
nacos等等主流后端技术
📢📢📢📣📣📣
全天在线接单:710245264 QQ
技术:java后端,vue前端
前端使用nginx部署
所有redis以及mysql都基于docker进行部署
springboot不写dockerfile部署,后续会出教程
1. liunx安装jdk
/**
1.将镜像上传到服务器
2.解压到本文件夹
*/
tar -zxvf jdk-8u341-liunx-x64.tar.gz
//3. 修改配置文件
vim /etc/profile
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
//4.重新加载配置文件
source /etc/profile
2. docker安装redis
拉取 redis
docker pull redis
运行 redis
docker run --name redis -p 6379:6379 -d redis
3.docker安装mysql
拉取 mysql
docker pull mysql
运行 mysql
docker run -p 3306:3306 --name mysql -- restart=always --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.25
进入容器内部
docker exec -it mysql /bin/bash
登录mysql
mysql -u root -p
修改访问权限
show databases;
use mysql;
select host, user, plugin, authentication_string, password_expired from user;
ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
-- 刷新权限
FLUSH PRIVILEGES;
添加用户并赋给权限
CREATE USER 'new_user'@'%' IDENTIFIED BY 'password';
添加这个用户管理端的数据库
GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'%';
这一步是为了给你个用户权限,并且让他指定管理某一个数据库
-- 刷新权限
FLUSH PRIVILEGES;
命令 | 解释 |
---|---|
-p 3306:3306 | 指定宿主机端口与容器端口映射关系 |
–name mysql | 创建的容器名称 |
–restart=always | 总是跟随docker启动 |
–privileged=true | 获取宿主机root权限 |
-v /usr/local/mysql/log:/var/log/mysql | 映射日志目录,宿主机:容器 |
-v /usr/local/mysql/data:/var/lib/mysql | 映射数据目录,宿主机:容器 |
-v /usr/local/mysql/conf:/etc/mysql | 映射配置目录,宿主机:容器 |
-v /etc/localtime:/etc/localtime:ro | 让容器的时钟与宿主机时钟同 步,避免时区的问题,ro是read only的意思,就是只读。 |
-e MYSQL_ROOT_PASSWORD=123456 | 指定mysql环境变量,root用户的密> 码为123456 |
-d mysql:latest | 后台运行mysql容器,版本是latest。 |
3.docker安装nginx
拉取镜像
docker pull nginx
设置挂载目录
# 创建挂载目录
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html
# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/
# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
运行镜像
docker run \
-p 81:80 \
--name my_nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx
#如果有80,8888,9999,7777,2222端口
docker run -p 80:80 --name nginx
-v /home/ngnix/html:/usr/share/nginx/html
-v /home/ngnix/conf/nginx.conf:/etc/nginx/nginx.conf
-v /home/ngnix/conf/conf.d:/etc/nginx/conf.d
-e TZ=Asia/Shanghai
-d nginx
命令 | 描述 |
---|---|
–name nginx | 启动容器的名字 |
-d | 后台运行 |
-p 9002:80 | 将容器的 9002(后面那个) 端口映射到主机的 80(前面那个) 端口 |
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf | 挂载nginx.conf配置文件 |
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d | 挂载nginx配置文件 |
-v /home/nginx/log:/var/log/nginx | 挂载nginx日志文件 |
-v /home/nginx/html:/usr/share/nginx/html | 挂载nginx内容 |
nginx:latest | 本地运行的版本 |
\ | shell 命令换行 |
运行项目:(后端运行)
nohup java -jar xxx.jar &
前端项目: (my_nginx为你的容器名称)
docker restart my_nginx
注意:
一定要修改nginx中html的文件,将你自己的文件替换一下
conf中nginx.conf配置你的后端代理:http://你的线上路径:端口
配置反向代理
结尾
到这里我们的项目就部署完成了,如果有学到请给点个赞
有问题请加QQ:710245264
备注来源:CSDN bilibili 华为云
以上是北梦所分享的使用docker部署前端,使用java-jar部署后端
下期预告:
使用docker部署前后端配置network
感谢各位阅读本品文章,关注博主后续继续分享Demo,制作不易,点个赞吧👍
- 点赞
- 收藏
- 关注作者
评论(0)