基于华为云线上部署springboot后端和vue前端

举报
爱写代码的北梦 发表于 2024/06/25 17:43:33 2024/06/25
【摘要】 主要技术:基于华为云部署前后端项目,后端技术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,制作不易,点个赞吧👍

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。