一、说明
前端技术体系:Vue3 + Nuxt3 + Vite5 + Vue-Router + Element-Plus + Pinia + Axios
后端技术体系:Spring Cloud Alibaba2021 + MySQL8 + Nacos + Seata + Mybatis + Druid + redis
后端系统:roncoo-education(核心框架:Spring Cloud Alibaba):码云 | Github
门户系统:roncoo-education-web(核心框架:Nuxt3):码云 | Github
管理系统:roncoo-education-admin(核心框架:Vue3):码云 | Github
部署系统:改为AlmaLinux---deepseek推荐替代centos7方案,下次改,目前为ubuntu
centos7.9 参考:
视频教育网站开源系统的部署安装 (roncoo-education)服务器为centos7-CSDN博客https://blog.csdn.net/jiangkp/article/details/145951049?sharetype=blogdetail&sharerId=145951049&sharerefer=PC&sharesource=jiangkp&spm=1011.2480.3001.8118
二、安装ubuntu及其初始设置
安装简单,网上看帖
# 更新和升级系统
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
# 安装一些常用的工具和库,这些工具可以帮助你更高效地工作
sudo apt install git curl wget vim htop tree
# 配置用户和权限
sudo usermod -aG sudo x58
# 定期清理不再需要的包可以释放磁盘空间并提高系统性能
sudo apt autoremove
sudo apt clean
# 定期检查并应用系统和应用程序的安全补丁。Ubuntu会定期发布安全更新。确保你的系统是最新的。
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade && sudo apt autoremove && sudo apt clean && sudo reboot
三、安装docker-compose
1、安装docker
# 更新
sudo apt update
sudo apt upgrade -y#安装必要的依赖包
sudo apt install apt-transport-https ca-certificates curl software-properties-common# 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 添加 Docker 的 APT 源
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null#添加源后,更新 APT 包索引:
sudo apt update# 安装 Docker CE
sudo apt-get install docker-ce docker-ce-cli containerd.io# 验证 Docker 是否安装成功
sudo systemctl status docker# 设置自启动
sudo systemctl enable docker验证 Docker 是否自启动
sudo systemctl is-enabled docker
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]
}
EOFsudo systemctl daemon-reload
sudo systemctl restart docker
2、使用官方安装脚本来安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.33.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
3、应用执行权限
sudo chmod +x /usr/local/bin/docker-compose
4、验证安装
docker-compose --versioneducation@education:~$ docker-compose --version
Docker Compose version v2.33.1
四、docker-compose安装mysql8
1、创建挂载目录
sudo mkdir -p /home/docker/mysql8/log
sudo mkdir -p /home/docker/mysql8/data
sudo mkdir -p /home/docker/mysql8/conf.d
#授权
sudo chown -R x58:x58 /home/docker
2、添加配置文件my.cnf(可以不改用默认)
vi /home/docker/mysql8/conf.d/my.cnf###### [client]配置模块 ######
[client]
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock###### [mysql]配置模块 ######
[mysql]
# 设置MySQL客户端默认字符集
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock###### [mysqld]配置模块 ######
[mysqld]
port=3306
user=mysql
# 设置sql模式 sql_mode模式引起的分组查询出现*this is incompatible with sql_mode=only_full_group_by,这里最好剔除ONLY_FULL_GROUP_BY
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id = 1# MySQL8 的密码认证插件 如果不设置低版本navicat无法连接
default_authentication_plugin=mysql_native_password# 禁用符号链接以防止各种安全风险
symbolic-links=0# 允许最大连接数
max_connections=1000# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB# 0: 表名将按指定方式存储,并且比较区分大小写;
# 1: 表名以小写形式存储在磁盘上,比较不区分大小写;
lower_case_table_names=0max_allowed_packet=16M # 设置时区
default-time_zone='+8:00'
3、 编写 docker-compose.yml 文件
目录在/home/docker/mysql8下
sudo vi /home/docker/mysql8/docker-compose.ymlservices:mysql: # 服务名称image: mysql:8.0.18 # 或其它mysql版本container_name: mysql8 # 容器名称environment:- MYSQL_ROOT_PASSWORD=123456 # root用户密码
# - TZ=Asia/Shanghai # 设置容器时区 我这里通过下面挂载方式同步的宿主机时区和时间了,这里忽略volumes:- /home/docker/mysql8/log:/var/log/mysql # 映射日志目录,宿主机:容器- /home/docker/mysql8/data:/var/lib/mysql # 映射数据目录,宿主机:容器- /home/docker/mysql8/conf.d:/etc/mysql/conf.d # 映射配置目录,宿主机:容器- /etc/localtime:/etc/localtime:ro # 让容器的时钟与宿主机时钟同步,避免时间的问题,ro是read only的意思,就是只读。ports:- 3306:3306 # 指定宿主机端口与容器端口映射关系,宿主机:容器restart: always # 容器随docker启动自启
4、启动容器
sudo docker-compose -f /home/docker/mysql8/docker-compose.yml up -d
5、运行后查看启动容器的情况
docker ps
x58@x58:/home/docker$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ab1622668e32 mysql:8.0.18 "docker-entrypoint.s…" 22 seconds ago Up 17 seconds 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql8
6、用DBeaver连接
7、导入数据
#创建数据库
os_course
os_system
os_user
nacos_config
os_job
数据库安装over
五、docker-compose安装redis
1、创建挂载目录
sudo mkdir -p /home/docker/redis6/log
sudo mkdir -p /home/docker/redis6/data
sudo mkdir -p /home/docker/redis6/confsudo chown -R x58:x58 /home/docker
2、添加配置文件
下载配置文件连接,从里面拿到redis.conf
https://download.redis.io/releases/redis-6.2.17.tar.gzhttps://download.redis.io/releases/redis-6.2.17.tar.gz
在上一步创建的redis配置文件目录(/home/docker/redis6/conf)下,将上面下载解压缩后的redis.conf文件拷贝到此目录下,启动时,会将这个配置文件挂载到容器中。
3、修改配置文件
# 关闭保护模式,允许远程连接
protected-mode no
# 开启AOF持久化
appendonly yes
# 密码
requirepass 123456
4、编写docker-compose.yml编排文件
sudo vi /home/docker/redis6/docker-compose.ymlservices:redis: # 服务名称image: redis:6.2.17 # redis镜像版本container_name: redis6.2.17 # 容器名称ports:- 6379:6379 # 指定宿主机端口与容器端口映射关系,宿主机:容器volumes:- /home/docker/redis6/conf/redis.conf:/etc/redis/redis.conf # 映射配置文件目录,宿主机:容器- /home/docker/redis6/data:/data # 映射数据目录,宿主机:容器restart: always # 容器开机自启privileged: true # 获取宿主机root权限command: ["redis-server","/etc/redis/redis.conf"] # 指定配置文件启动redis-server进程
4、启动容器
sudo docker-compose -f /home/docker/redis6/docker-compose.yml up -dsudo docker-compose down
docker-compose up -d --no-deps redis6.2.17
这里,docker-compose down 会停止并删除所有服务,然后你可以通过 docker-compose up -d --no-deps my_service 来单独启动你希望运行的服务。
5、查看容器
x58@x58:/home/docker/redis6$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d25c4e28d97 redis:6.2.17 "docker-entrypoint.s…" 55 seconds ago Restarting (1) 14 seconds ago redis6.2.17
ab1622668e32 mysql:8.0.18 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql8
####错误,查看log
sudo docker-compose logs redis
docker-compose stop docker-compose stop
命令将停止运行的容器,但不会删除它们
docker-compose down docker-compose down
命令将停止运行的容器,并且会删除已停止的容器以及已创建的所有网络。 我们可以down进一步迈出第一步,并添加-v
标记以删除所有卷。这对于通过运行在环境中进行完全重置非常有用docker-compose down -v
。
###log中出现警告
WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
sudo vi /etc/sysctl.conf
添加 vm.overcommit_memory = 1
sudo sysctl -p
6、测试
- 进入docker内部,通过redis自带的redis-cli工具进行验证
education@education:/home/docker/redis6$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
001ce6f33e91 redis:6.2.17 "docker-entrypoint.s…" 5 minutes ago Up 4 minutes 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp redis6.2.17
ab1622668e32 mysql:8.0.18 "docker-entrypoint.s…" 3 hours ago Up 3 hours 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql8
sudo docker exec -it 001ce6f33e91 /bin/bash #用CONTAINER IDredis-cli -h 127.0.0.1 -p 6379 -a 123456root@001ce6f33e91:/data# redis-cli -h 127.0.0.1 -p 6379 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> set b 1
OK
127.0.0.1:6379> get b
"1"
- 通过 Redis Insight 测试连接
用户名:default
六、docker-compose安装elasticsearch和kibana服务
1、创建挂载目录
sudo mkdir -p /home/docker/es8/data
#授权
sudo chown -R x58:x58 /home/docker
2、编写docker-compose.yml
sudo vi /home/docker/es8/docker-compose.ymlservices:elasticsearch:image: elasticsearch:8.15.0container_name: elasticsearchenvironment:- node.name=es01- cluster.name=docker-cluster- discovery.type=single-node- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms1g -Xmx1g"- xpack.security.enabled=false # 禁用安全功能,方便初始测试ulimits:memlock:soft: -1hard: -1volumes:- /home/docker/es8/data:/usr/share/elasticsearch/dataports:- "9200:9200"networks:- elastickibana:image: kibana:8.15.0container_name: kibanaenvironment:- ELASTICSEARCH_HOSTS=http://elasticsearch:9200ports:- "5601:5601"networks:- elasticnetworks:elastic:driver: bridge
4、启动容器
sudo docker-compose -f /home/docker/es8/docker-compose.yml up -d
5、查看容器
x58@x58:/home/docker$ sudo docker ps
[sudo] password for x58:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82671ac2cae2 kibana:8.15.0 "/bin/tini -- /usr/l…" 39 seconds ago Up 24 seconds 0.0.0.0:5601->5601/tcp, [::]:5601->5601/tcp kibana
2b06fc68bb13 elasticsearch:8.15.0 "/bin/tini -- /usr/l…" 39 seconds ago Up 24 seconds 0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 9300/tcp elasticsearch
3bc5ecc4492b redis:6.2.17 "docker-entrypoint.s…" 54 minutes ago Up 54 minutes 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp redis6.2.17
9367db1fcd05 mysql:8.0.18 "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql8
6、查看log
sudo docker logs 82671ac2cae2
7、elasticsearch服务测试
http://192.168.1.14:9200/
获取集群健康信息
http://192.168.1.14:9200/_cluster/health?pretty
8、 验证kibana服务
http://192.168.1.14:5601/
七、Dock-compose搭建单机MinIO
1、创建挂载目录
sudo mkdir -p /home/docker/minio/data
sudo mkdir -p /home/docker/minio/config#授权
sudo chown -R x58:x58 /home/docker
2、配置 docker-compose.yml
sudo vi /home/docker/minio/docker-compose.ymlservices:minio:#image: minio/minio:RELEASE.2023-04-28T18-11-17Zimage: minio/minio:latestcontainer_name: minioports:- 9000:9000 # 服务端口- 9001:9001 # 控制台端口environment:- MINIO_ROOT_USER=minio # 登陆账号- MINIO_ROOT_PASSWORD=12345678 # 密码volumes:- /home/docker/minio/data:/data- /home/docker/minio/config:/root/.minio#指定容器中的目录 /datacommand: server --console-address ':9001' /dataprivileged: truehealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 20sretries: 3restart: always#network_mode: host
3、启动容器
sudo docker-compose -f /home/docker/minio/docker-compose.yml up -d
4、查看容器
x58@x58:/home/docker$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aae7b971ed85 minio/minio:latest "/usr/bin/docker-ent…" 15 seconds ago Up 11 seconds (health: starting) 0.0.0.0:9000-9001->9000-9001/tcp, [::]:9000-9001->9000-9001/tcp minio
82671ac2cae2 kibana:8.15.0 "/bin/tini -- /usr/l…" 11 minutes ago Up 11 minutes 0.0.0.0:5601->5601/tcp, [::]:5601->5601/tcp kibana
2b06fc68bb13 elasticsearch:8.15.0 "/bin/tini -- /usr/l…" 11 minutes ago Up 11 minutes 0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 9300/tcp elasticsearch
3bc5ecc4492b redis:6.2.17 "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp redis6.2.17
9367db1fcd05 mysql:8.0.18 "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql8
我换了台机器,可以用最新的了吧 ,确实可以,后就不用看了,直接访问控制台
没成功 Restarting (127) 25 seconds ago
education@education:/home/docker/minio$ sudo docker logs minio
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2
Fatal glibc error: CPU does not support x86-64-v2分析:机器台老了,安装较低的minio版本
试试这个minio/minio:RELEASE.2023-04-28T18-11-17Z
在docker-compose.yml 修改
先要删除镜像
sudo docker-compose down
下面显示删掉了
education@education:/home/docker/minio$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9f6075de374a kibana:8.15.0 "/bin/tini -- /usr/l…" 3 hours ago Up 3 hours 0.0.0.0:5601->5601/tcp, [::]:5601->5601/tcp kibana
e58089aba544 elasticsearch:8.15.0 "/bin/tini -- /usr/l…" 3 hours ago Up 3 hours 0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 9300/tcp elasticsearch
b95c92ed88ac redis:6.2.17 "docker-entrypoint.s…" 4 hours ago Up 4 hours 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp redis6.2.17
ab1622668e32 mysql:8.0.18 "docker-entrypoint.s…" 7 hours ago Up 7 hours 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql8
继续执行
sudo docker-compose -f /home/docker/minio/docker-compose.yml up -d
education@education:/home/docker/minio$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e3c22d776866 minio/minio:RELEASE.2023-04-28T18-11-17Z "/usr/bin/docker-ent…" 33 seconds ago Up 30 seconds (health: starting) 0.0.0.0:9000-9001->9000-9001/tcp, [::]:9000-9001->9000-9001/tcp minio
9f6075de374a kibana:8.15.0 "/bin/tini -- /usr/l…" 3 hours ago Up 3 hours 0.0.0.0:5601->5601/tcp, [::]:5601->5601/tcp kibana
e58089aba544 elasticsearch:8.15.0 "/bin/tini -- /usr/l…" 3 hours ago Up 3 hours 0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 9300/tcp elasticsearch
b95c92ed88ac redis:6.2.17 "docker-entrypoint.s…" 4 hours ago Up 4 hours 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp redis6.2.17
ab1622668e32 mysql:8.0.18 "docker-entrypoint.s…" 7 hours ago Up 7 hours 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql8
5、访问控制台
192.168.1.14:9001
登陆用户名密码在docker-compose.yml里设置
- MINIO_ROOT_USER=minio # 登陆账号
- MINIO_ROOT_PASSWORD=12345678 # 密码
在控制台创建 Bucket。创建账户获取 Key 和 Secret
Access Key: 5F7xKr0e3OF2FvA0mpV1
Secret Key: 3fbBlWCHtxZ15aSjtq41q3v4RbNklMSFvHRiB1RD
在java源码里配置 ,该项目不需要配置,在页面进行配置
八、docker-compose 安装nacos
1、创建挂载目录
sudo mkdir -p /home/docker/nacos/log
sudo mkdir -p /home/docker/nacos/data
#授权
sudo chown -R x58:x58 /home/docker
3、导入数据库
https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gzhttps://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz
解压后在
需要把SQL脚本导入数据库,SQL脚本位置:nacos/conf/mysql-schema.sql
数据库名为nacos_config
不能读取数据库权限
ERROR: Failed to create schema directory ‘clwy‘ (errno: 13 - Permission denied) 解决
education@education:/home/docker/nacos$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1969ec1e01ab nacos/nacos-server:v2.2.3 "bin/docker-startup.…" 18 minutes ago Up 7 seconds 0.0.0.0:8848->8848/tcp, [::]:8848->8848/tcp, 0.0.0.0:9848->9848/tcp, [::]:9848->9848/tcp nacos2.2.3
e3c22d776866 minio/minio:RELEASE.2023-04-28T18-11-17Z "/usr/bin/docker-ent…" 19 hours ago Up 19 hours (healthy) 0.0.0.0:9000-9001->9000-9001/tcp, [::]:9000-9001->9000-9001/tcp minio
9f6075de374a kibana:8.15.0 "/bin/tini -- /usr/l…" 22 hours ago Up 22 hours 0.0.0.0:5601->5601/tcp, [::]:5601->5601/tcp kibana
e58089aba544 elasticsearch:8.15.0 "/bin/tini -- /usr/l…" 22 hours ago Up 22 hours 0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 9300/tcp elasticsearch
b95c92ed88ac redis:6.2.17 "docker-entrypoint.s…" 23 hours ago Up 23 hours 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp redis6.2.17
ab1622668e32 mysql:8.0.18 "docker-entrypoint.s…" 26 hours ago Up 26 hours 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql8
mysql是开启的
尝试进入容器并修改权限
sudo docker exec -it ab1622668e32 bash
chown -R mysql:mysql /var/lib/mysql
确实是这里的问题,没有错误掠过
2、配置 docker-compose.yml
sudo vi /home/docker/nacos/docker-compose.yml## docker-compose config ## 检查当前目录docker-compose.yml文件配置是否正确
## docker-compose up -d ## -d 为后台启动
## docker-compose up -d --force-rereate ## 强制重新创建容器,修改挂载文件后使用该命令启动,谨慎使用,调试时可使用,使用此命令可能造成数据丢失services:nacos:image: nacos/nacos-server:v2.2.3container_name: nacos2.2.3environment:- TZ=Asia/Shanghai- PREFER_HOST_MODE=hostname- MODE=standalone- JVM_XMX=1g- JVM_XMS=1g- TOMCAT_ACCESSLOG_ENABLED=false- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=192.168.1.14 #设置自己的ip地址,localhost不行的- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=123456- MYSQL_SERVICE_DB_NAME=nacos_config- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC- NACOS_AUTH_IDENTITY_KEY=education- NACOS_AUTH_IDENTITY_VALUE=education- NACOS_AUTH_TOKEN=SecretKey345901234567890126785678901234567890123901234567890123445678volumes:- /home/docker/nacos/log/:/home/nacos/logs# - ./conf/custom.properties:/home/nacos/init.d/custom.propertiesports:- 8848:8848- 9848:9848restart: always
3、启动容器
sudo docker-compose -f /home/docker/nacos/docker-compose.yml up -d
4、查看容器
x58@x58:/home/docker$ sudo docker ps
[sudo] password for x58:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
41e256b0598a nacos/nacos-server:v2.2.3 "bin/docker-startup.…" 32 minutes ago Up 31 minutes 0.0.0.0:8848->8848/tcp, [::] :8848->8848/tcp, 0.0.0.0:9848->9848/tcp, [::]:9848->9848/tcp nacos2.2.3
aae7b971ed85 minio/minio:latest "/usr/bin/docker-ent…" 50 minutes ago Up 49 minutes (healthy) 0.0.0.0:9000-9001->9000-9001 /tcp, [::]:9000-9001->9000-9001/tcp minio
82671ac2cae2 kibana:8.15.0 "/bin/tini -- /usr/l…" About an hour ago Up About an hour 0.0.0.0:5601->5601/tcp, [::] :5601->5601/tcp kibana
2b06fc68bb13 elasticsearch:8.15.0 "/bin/tini -- /usr/l…" About an hour ago Up About an hour 0.0.0.0:9200->9200/tcp, [::] :9200->9200/tcp, 9300/tcp elasticsearch
3bc5ecc4492b redis:6.2.17 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:6379->6379/tcp, [::] :6379->6379/tcp redis6.2.17
9367db1fcd05 mysql:8.0.18 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, [::] :3306->3306/tcp, 33060/tcp
5、查看log
sudo docker logs nacos2.2.3
要在docker-compose.yml 同目录下执行,也可以加上目录
sudo docker-compose stop 停止不删除
sudo docker-compose down
6、验证安装
http://192.168.1.14:8848/nacos
导入nacos_config.zip ,需要的数据都在这里
7、配置管理
九、安装xxl-job
1、创建挂载目录
sudo mkdir -p /home/docker/xxl-job/log#授权
sudo chown -R x58:x58 /home/docker
2、导入数据库
前面已经导入
也可以从网上下载
xxl-job: 一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 - Gitee.comhttps://gitee.com/xuxueli0323/xxl-job/tree/2.3.0
xxl-job/doc/db/tables_xxl_job.sql
3、配置 docker-compose.yml
sudo vi /home/docker/xxl-job/docker-compose.ymlservices:xxl-job-admin:restart: always# docker 镜像image: xuxueli/xxl-job-admin:2.3.1# 容器名称container_name: xxl-job-adminvolumes:# 日志目录映射到主机目录- /home/docker/xxl-job/log:/data/applogsports:# 端口映射- "8080:8080"environment:# 设置启动参数PARAMS: '--server.port=8080--server.servlet.context-path=/xxl-job-admin--spring.datasource.url=jdbc:mysql://192.168.1.14:3306/os_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai--spring.datasource.username=root--spring.datasource.password=123456--spring.mail.host=smtp.qq.com--spring.mail.port=587--spring.mail.username=999999@qq.com--spring.mail.from=888888@qq.com--spring.mail.password=*******************--spring.mail.properties.mail.smtp.starttls.enable=true--spring.mail.properties.mail.smtp.starttls.required=true--xxl.job.accessToken=Lpoms_xxljob_default_token'
4、启动容器
sudo docker-compose -f /home/docker/xxl-job/docker-compose.yml up -d
x58@x58:/home/docker$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b8329b625c2 xuxueli/xxl-job-admin:2.3.1 "sh -c 'java -jar $J…" 25 seconds ago Up 20 seconds 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp xxl-job-admin
41e256b0598a nacos/nacos-server:v2.2.3 "bin/docker-startup.…" 51 minutes ago Up 51 minutes 0.0.0.0:8848->8848/tcp, [::]:8848->8848/tcp, 0.0.0.0:9848->9848/tcp, [::]:9848->9848/tcp nacos2.2.3
aae7b971ed85 minio/minio:latest "/usr/bin/docker-ent…" About an hour ago Up About an hour (healthy) 0.0.0.0:9000-9001->9000-9001/tcp, [::]:9000-9001->9000-9001/tcp minio
82671ac2cae2 kibana:8.15.0 "/bin/tini -- /usr/l…" About an hour ago Up About an hour 0.0.0.0:5601->5601/tcp, [::]:5601->5601/tcp kibana
2b06fc68bb13 elasticsearch:8.15.0 "/bin/tini -- /usr/l…" About an hour ago Up About an hour 0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp, 9300/tcp elasticsearch
3bc5ecc4492b redis:6.2.17 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp redis6.2.17
9367db1fcd05 mysql:8.0.18 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp mysql8
5、测试
启动完成后通过:http:192.168.1.14:8080/xxl-job-admin访问
默认账号:admin
默认密码:123456
十、安装java8
下面的KKFileView打包要用到,我们提前安装了
sudo apt update -y
sudo apt-get install openjdk-8-jdk
education@education:~$ sudo apt-get install openjdk-8-jdk
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
openjdk-8-jdk is already the newest version (8u442-b06~us1-0ubuntu1~22.04).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded
education@education:~$ java -version
openjdk version "1.8.0_442"
OpenJDK Runtime Environment (build 1.8.0_442-8u442-b06~us1-0ubuntu1~22.04-b06)
OpenJDK 64-Bit Server VM (build 25.442-b06, mixed mode)
十一、安装maven
我在windows 下打包的,服务器没有编辑器,麻烦,所以maven在ubuntu上可以不装
1、建立安装目录
sudo mkdir -p /home/tools
#授权
sudo chown -R education:education /home/toolscd /home/tools
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz
# 不能下载就在windows 下下载后上传,我就不能下载
tar -zxvf apache-maven-3.9.9-bin.tar.gz
mv apache-maven-3.9.9 /opt/maven
chown -R education:education /opt/maven
2、环境配置
sudo vi /etc/profile
# 在最后面加
# maven
export MAVEN_HOME=/opt/maven
export PATH=${MAVEN_HOME}/bin:${PATH}# 使配置立即生效
source /etc/profile
3、验证版本
education@education:/home/tools$ mvn -v
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: /opt/maven
Java version: 1.8.0_442, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-133-generic", arch: "amd64", family: "unix"
4、配置阿里源
# 删除再重新添加,添加时格式有问题,大家重新弄一下
rm -f /opt/maven/conf/settings.xmlsudo vi /opt/maven/conf/settings.xml
添加<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>aliyun</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
</settings>
十、安装KKFileView
下载源码、打包都在windows下进行
1、下载源码
F:\work目录下
git clone https://github.com/kekingcn/kkFileView.git
2、运行测试
运行这个入口文件
/server/src/main/java/cn/keking/ServerMain.java
.
2、进行项目打包
mvn clean package -DskipTests
3、创建目录
sudo mkdir -p /home/tools/KKFileView#授权
sudo chown -R x58:x58 /home/tools
3、下载字体
# 下载字体
curl -O https://kkview.cn/resource/fonts.zip
# 安装zip软件
sudo apt install zip unzip
#解压 fonts.zip
sudo unzip fonts.zipx58@x58:/home/tools/KKFileView$ ls
fonts.zip kkFileView-4.4.0.tar.gz zhFonts# 新的目录zhFonts就是
# 移到ubnutu 字体库
sudo mv zhFonts/ /usr/share/fonts# 安装工具包
sudo apt install xfonts-utils# 重读并刷新字体
cd /usr/share/fonts
sudo mkfontscale
sudo mkfontdir#查看已安装的中文字体
fc-list :lang=zh
# 重启
sudo reboot
4、上传kkFileView-4.4.0.tar.gz
# 解压缩
sudo tar -zxvf kkFileView-4.4.0.tar.gz#修改
sudo vi /home/tools/KKFileView/kkFileView-4.4.0/config/application.properties# cache.type = ${KK_CACHE_TYPE:jdk}
cache.type = ${KK_CACHE_TYPE:redis}
#redis连接,只有当cache.type = redis时才有用
spring.redisson.address = ${KK_SPRING_REDISSON_ADDRESS:127.0.0.1:6379}
spring.redisson.password = ${KK_SPRING_REDISSON_PASSWORD:123456}# 进入 bin 目录
cd bin# 启动
./startup.shx58@x58:/home/tools/KKFileView/kkFileView-4.4.0/bin$ ls
install.sh kkFileView-4.4.0.jar showlog.sh shutdown.sh startup.sh
x58@x58:/home/tools/KKFileView/kkFileView-4.4.0/bin$ sudo ./startup.sh