企业营销型网站建设规划,c2c电商平台可以分为,建个网站需要多少钱? 知乎,重庆网站制作有名 乐云践新目录 整体架构概览
创建 Docker 自定义网络
Redis 部署#xff08;缓存服务#xff09;
redis.conf修改
启动 Redis 容器
测试
启动 MySQL 容器
允许 root 用户远程访问#xff08;%#xff09;
初始化数据库#xff08;可选#xff09;
RuoYi-Admin 后端服务部…目录 整体架构概览
创建 Docker 自定义网络
Redis 部署缓存服务
redis.conf修改
启动 Redis 容器
测试
启动 MySQL 容器
允许 root 用户远程访问%
初始化数据库可选
RuoYi-Admin 后端服务部署服务
使用mvn或idea打包
使用Dockerfile自定义镜像
访问后台
Nginx 部署Web 服务器 反向代理
启动 Nginx 容器
上传解压
访问前台
前端部署
修改vue.config.js配置
安装依赖
打包 整体架构概览
模块 技术/角色 说明
网络 Docker Network 自定义网络 net-ry用于容器间通信
缓存 Redis 通过 Docker 运行供后端缓存使用
数据库 MySQL 5.7 通过 Docker 运行数据持久化供后端连接
后端服务 RuoYi-Admin (Java) 基于 Spring Boot连接 MySQL 和 Redis
前端项目 Vue (RuoYi-Vue) 前端 Vue 项目打包后由 Nginx 托管
Web 服务器 Nginx 托管前端静态资源反向代理后端 API
创建 Docker 自定义网络
docker network create net-ry --subnet172.68.0.0/16 --gateway172.68.0.1
作用让 redis、mysql、ruoyi-admin、nginx等容器处于同一网络下可以通过 容器名互相访问而无需关心宿主机的 IP 或端口映射。
提示--subnet和 --gateway是可选的但建议设置便于管理。如果不设置Docker 会自动分配。
--subnet 指定Docker 自定义网络的 IP 段如 172.68.0.0/16
--gateway 指定该网络的网关地址通常是子网的第一个 IP如 172.68.0.1
Redis 部署缓存服务
#创建目录 mkdir -p /data/redis/{conf,data} #上传redis.conf文件到/data/redis/conf文件夹中 /data/redis/conf/redis.confRedis 配置文件需自定义 /data/redis/dataRedis 数据持久化目录 redis.conf官方配置文件
redis.conf修改 允许redis外地连接
#bind 127.0.0.1改成为
bind 0.0.0.0 开启redis验证(可选)
requirepass sasa 开启redis数据持久化(可选)
appendonly yes
启动 Redis 容器
docker run -itd --name zking-redis -p 6379:6379 \
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
--privilegedtrue --restartalways \
--network net-ry redis \
redis-server /etc/redis/redis.conf
测试
# 进入 Redis 容器命令行
$ docker exec -it zking-redis bash
# 使用 redis-cli 连接 Redis
$ redis-cli
# 默认连接到 127.0.0.1:6379如果配置了密码需要先认证
$ 127.0.0.1:6379 ping
# 如果设置了密码会返回 (error) NOAUTH Authentication required.**
# 先进行认证
$ 127.0.0.1:6379 auth sasa
OK
# 再次测试
$ 127.0.0.1:6379 ping
PONG
表示 Redis 运行正常且密码认证成功。
客户端连接
## MySQL 部署数据库服务
#创建文件夹 mkdir -p /data/mysql/{conf,data} #上传my.cnf文件到/data/mysql/conf文件夹中 /data/mysql/conf/my.cnf可选如需自定义 MySQL 配置字符集、时区等 /data/mysql/data数据持久化目录 修改官方my.cnf 让其支持中文
启动 MySQL 容器
docker run -d --name zking-mysql --network net-ry \
-v /data/mysql/conf/my.cnf:/etc/my.cnf \
-v /data/mysql/data:/var/lib/mysql \
--privilegedtrue --restartalways \
-e MYSQL_ROOT_PASSWORDsasa -p 3306:3306 \
mysql/mysql-server:5.7
MYSQL_ROOT_PASSWORDsasa设置 root 密码
容器名 zking-mysql后端可通过该名称访问
默认字符集可能不支持中文如需支持 utf8mb4需在 my.cnf中配置
允许 root 用户远程访问%
# 进入容器
docker exec -it zking-mysql /bin/bash
# 登录mysql
mysql -u root -p
Enter password: sasa
# 创建允许所有IP访问的root账户或修改现有
GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY sasa WITH GRANT OPTION;
# 刷新权限
FLUSH PRIVILEGES;
初始化数据库可选
注数据库 ry 创建xz
url: jdbc:mysql://zking-mysql:3306/ry?
username: root
password: sasa
① 使用客户端navicat.exe 导入SQL文件
② SQL文件rz到 /data/mysql/data进入容器登录mysql source /var/lib/mysql/ sql 文件 名称
RuoYi-Admin 后端服务部署服务
使用mvn或idea打包 修改application-druid.yml配置了mysql url: jdbc:mysql://zking-mysql:3306/ry zking-mysql是容器名 修改application.yml redis:# 地址host: zking-redis #是容器名# 端口默认为6379port: 6379# 数据库索引database: 0# 密码password: sasa # 如果设置了密码 修改logback.xml日志文件位置,application.xml文件上传位置 选择ruoyi中的package打包
使用Dockerfile自定义镜像
# 安装jdk 8
docker pull docker.1ms.run/adoptopenjdk/openjdk8# 上传ruoyi-admin.jar
mkdir ruoyi-admin
ruoyi-admin/
├── Dockerfile -- Docker 构建脚本
└── ruoyi-admin.jar -- 您用 Maven 打包出来的 Spring Boot 可运行 Jar 包# vi Dockerfile 如下
FROM docker.1ms.run/adoptopenjdk/openjdk8
MAINTAINER donkeevip.qq.com
ADD ruoyi-admin.jar /opt/app.jar
EXPOSE 8080
ENTRYPOINT [java,-jar,/opt/app.jar]
# 自定义镜像
docker build -t ruoyi-admin .
# 运行容器
docker run -itd --name ruoyi-admin --network net-ry -p 8080:8080 ruoyi-admin
访问后台
$ systemctl status firewalld
$ systemctl stop firewalld[rootlocalhost ~]# curl http://192.168.58.128:8080
欢迎使用RuoYi后台管理框架当前版本v3.8.5请通过前端地址访问。
Nginx 部署Web 服务器 反向代理
#创建目录 mkdir -p /data/nginx/{conf,html} #上传nginx.conf至/data/nginx/conf文件夹中 /data/nginx/conf/nginx.confNginx 主配置可配置代理与静态资源 /data/nginx/html存放前端打包后的静态文件dist nginx.conf 去 ry-vue前后端分离官网
启动 Nginx 容器
docker run -itd --name zking-nginx --network net-ry -p 80:80 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/html:/usr/share/nginx/html \
--privilegedtrue --restartalways \
nginx
前端打包的 dist文件夹内容需上传到 /data/nginx/html
上传解压
#改变当前目录
cd /data/nginx/html
#安装unzip工具
yum install -y unzip
#上传
rz
#解压
unzip dist.zip 访问前台
浏览器 http://192.168.58.128:80前端部署
修改vue.config.js配置 devServer: {host: 0.0.0.0,port: port,open: true,proxy: {// detail: https://cli.vuejs.org/config/#devserver-proxy[process.env.VUE_APP_BASE_API]: {//修改ruoyi-admin后台地址target: http://ruoyi-admin:8080,changeOrigin: true,pathRewrite: {[^ process.env.VUE_APP_BASE_API]: }}},disableHostCheck: true},
安装依赖
# 安装依赖
npm install
# 本地开发 启动项目
npm run dev
打包
# 打包正式环境
npm run build:prod
# 打包预发布环境
npm run build:stage