手拉手入门若依脚手架

举报
QGS 发表于 2024/11/26 22:59:20 2024/11/26
【摘要】 若依前后端分离版开发入门基础环境:JDK1.8+mysql+Redis+Maven+Vue本次Docker部署mysql+Redis基础环境安装Centos开放防火墙端口查看防火墙状态sudo systemctl status firewalld启动防火墙sudo systemctl start firewalld停止防火墙sudo systemctl stop firewalld查看防火墙...

若依前后端分离开发入门

基础环境:JDK1.8+mysql+Redis+Maven+Vue

本次Docker部署mysql+Redis

基础环境安装

Centos开放防火墙端口

查看防火墙状态

sudo systemctl status firewalld


启动防火墙

sudo systemctl start firewalld


停止防火墙

sudo systemctl stop firewalld


查看防火墙已经开放的端口

firewall-cmd --list-port


添加开放指定端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=3306/tcp --permanent


设置完成后要重新加载防火墙

firewall-cmd --reload

Centos更换阿里云源

所遇问题

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was

14: curl#6 - “Could not resolve host: mirrorlist.centos.org; Unknown error”

第一步,将原来的目录改个名,晾到一边

mv /etc/yum.repos.d /etc/yum.repos.d-bak

第二步:原来的目录还得再恢复

mkdir /etc/yum.repos.d

第三步:下载阿里云的yum源配置

cd /etc/yum.repos.d

wget http://mirrors.aliyun.com/repo/Centos-7.repo

第四步:清除yum原来的缓存

yum clean all

//注意clean与all之间还有一个空格

第五步:查看这个软件源中有多少软件包

[root@node2 yum.repos.d]# yum repolist

[root@node2 yum.repos.d]# yum -y install ntp


安装docker

https://www.runoob.com/docker/centos-docker-install.html

阿里云镜像加速器https://<你的ID>.mirror.aliyuncs.com

官网地址https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

加载重启docker

systemctl daemon-reload

systemctl restart docker

查看是否成功

docker info

Docker拉取镜像失败?报connect: connection refused

https://blog.csdn.net/crazywkl/article/details/141531393 ?

{

"registry-mirrors": [ "https://cr.console.aliyun.com","https://docker.m.daocloud.io","https://public.ecr.aws","https://dockerhub.timeweb.cloud"

]

}

开机启动

docker update --restart=always 容器ID


取消

docker update --restart=no 容器ID

docker部署Mysql

1、 创建本地mysql配置文件

mkdir -p /opt/mysql/log

mkdir -p /opt/mysql/data

mkdir -p /opt/mysql/conf

cd /opt/mysql/conf

touch my.config


[mysql]

#设置mysql客户端默认字符集

default-character-set=UTF8MB4


[mysqld]

#设置3306端口

port=3306


#允许最大连接数

max_connections=200


#允许连接失败的次数

max_connect_errors=10


#默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password


#服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=UTF8MB4


#开启查询缓存

explicit_defaults_for_timestamp=true


#创建新表时将使用的默认存储引擎

default-storage-engine=INNODB


#等待超时时间秒

wait_timeout=60


#交互式连接超时时间秒

interactive-timeout=600

secure_file_priv=/var/lib/mysql


[client]

default-character-set=UTF8MB4


拉取镜像mysql:5.7

docker pull mysql:5.7

docker images



运行镜像

docker run -d -p 3306:3306 --restart=always --privileged=true -v /opt/mysql/log:/var/log/mysql -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7


 进入容器

docker ps

docker exec -it 9abe42c59a10 /bin/bash

mysql -u root -p

show databases;

SELECT VERSION();


mysql数据库开发远程访问

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

FLUSH PRIVILEGES;

从 MySQL 8.0 开始,mysql_native_password 插件已经被弃用,默认采用 caching_sha2_password 插件。

ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'root';

--privileged 允许挂载数据卷,默认是读写权限rw

-d:以后台方式运行实例,(退出容器mysql依旧运行)

配置端口映射:

-p 3306:3306 指定宿主机器3306 :docker容器3306端口 映射。

mysql数据卷挂载解读:

1.日志文件挂载 :-v /data/dockerData/mysql/logs:/logs ()

将容器中的日志文件夹 /var/log/mysql 挂载到 宿主机对应的 /mydata/mysql 文件夹中。

2.数据文件挂载: -v /data/dockerData/mysql/data:/var/lib/mysql

将容器中的数据文件夹 /var/lib/mysql 挂载到宿主机对应的 /mydata/mysql/data 文件夹中。

3.mysql 配置文件挂载:-v /data/dockerData/mysql/conf/my.config:/etc/mysql/my.config

将容器的配置文件夹etc/mysql/my.config挂载到宿主机对应的 /data/dockerData/mysql/conf/my.config 文件夹中。

设置数据库root的密码:

MYSQL_ROOT_PASSWORD=数据库密码

设置mysql容器名称:

--name mysql5.7

c20987f18b13 :指定用这个镜像来创建运行实例。


所遇问题

ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded


SHOW PLUGINS;

#安装插件

INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';

更改用户的认证方法

ALTER USER 'root'@'%' IDENTIFIED WITH auth_socket;

替换root为你的实际用户名
然后我们在重新执行ALTER USER 'root'@'%' IDENTIFIED WITH auth_socket BY '123456';


docker部署redis

一、拉取镜像

docker pull redis:7.0.12


二、 创建 Redis 相关目录

mkdir -p /opt/redis/{conf,data,log}

touch /opt/redis/log/redis.log

touch /opt/redis/conf/redis.conf


三、 启动 Redis 容器

docker run -p 6379:6379 --name redis -d redis:7.0.12


# 拷贝文件

docker cp redis:/data /opt/redis

docker cp redis:/etc/redis.log /opt/redis/log

docker cp redis:/etc/redis/redis.conf /opt/redis/conf


# 授权文件夹

chmod -R 777 /opt/redis/conf/redis.conf /opt/redis/log/redis.log /opt/redis/data

# 删除容器

docker rm -f redis



相关参数解释 :

docker run:这是 Docker 的命令,用于创建并运行一个新的容器。

--name redis:这个参数设置了容器的名称为 redis,这样可以更容易地管理和访问该容器。

-p 6379:6379:这表示端口映射,将宿主机的 6379 端口映射到容器的 6379 端口。

--restart=always: 表示如果容器退出或 Docker 服务重启,Docker 都会自动重启该容器。

-v /data/redis/data:/data:这是一个卷映射,将宿主机的 /data/redis/data 目录映射到容器内的 /data 目录。这用于持久化数据,即使容器被删除,数据仍然保存在宿主机上。

-d:这个标志表示以守护进程模式运行容器,即容器将在后台运行。

redis:7.0.12:这是要运行的 Docker 镜像的名称和版本号。

redis-server /etc/redis/redis.conf:这是容器内运行的命令,redis-server 是启动 Redis 服务的命令,/etc/redis/redis.conf 指定了 Redis 服务使用的配置文件路径。


四、创建 Redis 容器

docker run --name redis \

-p 6379:6379 --restart=always \

-v /opt/redis/data:/data \

-v /opt/redis/log/redis.log:/etc/redis.log \

-v /opt/redis/conf:/etc/redis/redis.conf \

-d redis:7.0.12 redis-server /etc/redis/redis.conf

docker部署nginx

1、创建目录

mkdir -p /etc/nginx /opt/nginx/html


2、创建配置文件

touch /etc/nginx/nginx.conf


配置文件添加默认内容

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

server {

listen 80;

server_name localhost;

location / {

root /usr/share/nginx/html;

index index.html index.htm;

}


error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}


}

拉取镜像nginx

docker pull nginx


4、启动容器

docker run -it -d --name nginx \

--restart=always \

-p 80:80 \

-v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf \

-v /opt/nginx/html:/usr/share/nginx/html \

nginx:latest


两个-v 分别表示配置文件和nginx工作空间目录的映射,冒号左边是宿主机,右边是容器的,这样修改宿主机的配置文件和工作空间就可以同步到容器

5、查看 Nginx 启动日志

docker logs nginx


6、其它命令

启动

docker start nginx

关闭

docker stop nginx

重启

docker restart nginx



若依入门

后端

创建数据库ry-vue 执行sql文件

application-druid.yml数据库配置文件


代码架构分析

Admin模块-controller

Common-公共组件工具类

framework-第三方框架及配置

ruoyi-generator代码生成器

ruoyi-quartz定时任务

ruoyi-system-CRUD

配置文件

文件路径

# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux/home/ruoyi/uploadPath
profile: D:/ruoyi/uploadPath

日志存放路径


数据源配置

Druid数据监控

接口返回值-JSON

TableDaraInfo-分页列表

AjaxResult-基本添加、编辑、单个查询、删除

Void-导出、下载

前端

DevServer

Target指向后端接口

开发环境配置.env.development



cd ruoyi-ui

npm install

npm run dev



实操


核对字段


生成代码

执行SQL生成菜单



数字字典





修改图标

1.若依修改主界面图标

图片路径: /src/assets/logo/logo.png

直接将想要替换的png格式图片将其替换即可,图片大小建议为60*60

2.若依修改主界面文字


文件路径:/src/layout/components/Sidebar/Logo.vue


// js部分

<script>

import logoImg from '@/assets/logo/logo.png'

import variables from '@/assets/styles/variables.scss'


export default {

name: 'SidebarLogo',

props: {

collapse: {

type: Boolean,

required: true

}

},

computed: {

variables() {

return variables;

},

sideTheme() {

return this.$store.state.settings.sideTheme

}

},

data() {

return {

title: '若依管理系统', <-- 将其改为想要的标题即可

logo: logoImg

}

}

}

</script>

3.若依修改页面上方图标

图标路径:/public/favicon.ico

直接替换即可,推荐尺寸64*64

4.若依修改页面上方文字

文件目录:

/.env.development

/.env.production

/.env.staging

推荐全部修改,因为根据环境不同

//.env.development


# 页面标题

VUE_APP_TITLE = 若依管理系统 <-- 修改此处

# 开发环境配置

ENV = 'development'

# 腾逸商城管理系统/开发环境

VUE_APP_BASE_API = '/dev-api'

# 路由懒加载

VUE_CLI_BABEL_TRANSPILE_MODULES = true


5.若依登录页面文字修改

文件路径:/src/views/login.vue

// login.vue

<h3 class="title">若依后台管理系统</h3> //找到此标签修改即可



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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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