在线教育网站项目第二步 :学习roncoo-education,服务器为ubuntu22.04.05

一、说明

前端技术体系: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/tools

cd /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.xml

sudo 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/29228.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb6、Servlet

6.1Servlet简介 Servlet就是sun公司开发动态web的一门技术 sun公司在这些API中提供一个接口叫做Servlet&#xff0c;如果想开发一个Servlet程序&#xff0c;只需要完成两个小步骤&#xff1a; 编写一个类&#xff0c;实现Servlet接口 把开发好的Java类部署到web服务器中 把…

DeepSeek未来发展趋势:开创智能时代的新风口

DeepSeek未来发展趋势&#xff1a;开创智能时代的新风口 随着人工智能&#xff08;AI&#xff09;、深度学习&#xff08;DL&#xff09;和大数据的飞速发展&#xff0c;众多创新型技术已经逐渐走向成熟&#xff0c;而DeepSeek作为这一领域的新兴力量&#xff0c;正逐步吸引越…

K8S学习之基础十四:k8s中Deployment控制器概述

Deployment控制器概述&#xff1a; Deployment控制器是k8s中最常用的资源对象&#xff0c;为Replicaset和Pod创建提供了一种声明式的定义方法&#xff0c;在Deployment对象中描述一个期望的状态&#xff0c;Deployment控制器就会按照一定的控制速率把实际状态改成期望状态&…

基于IMM算法的目标跟踪,四模型IMM|三维环境|4个模型分别是:CV、左转CT、右转CT、CA(基于EKF,订阅专栏后可获得完整源代码)

这段MATLAB代码实现了基于交互多模型(IMM)算法的目标跟踪,结合了四种运动模型(匀速直线、左转圆周、右转圆周和匀加速直线)。通过定义状态方程、生成带噪声的测量数据,以及执行IMM迭代,该代码有效地实现了多模型的状态估计和融合。最终,用户可以通过可视化结果观察目标…

豆包大模型 MarsCode AI 刷题专栏 001

001.找单独的数 难度&#xff1a;易 问题描述 在一个班级中&#xff0c;每位同学都拿到了一张卡片&#xff0c;上面有一个整数。有趣的是&#xff0c;除了一个数字之外&#xff0c;所有的数字都恰好出现了两次。现在需要你帮助班长小C快速找到那个拿了独特数字卡片的同学手上…

树莓派学习(一)——3B+环境配置与多用户管理及编程实践

树莓派学习&#xff08;一&#xff09;——3B环境配置与多用户管理及编程实践 一、实验目的 掌握树莓派3B无显示器安装与配置方法。学习Linux系统下多用户账号的创建与管理。熟悉在树莓派上使用C语言和Python3编写简单程序的方法。 二、实验环境 硬件设备&#xff1a;树莓派…

DAIR-V2X-R数据集服务器下载

【官方github链接】https://github.com/ylwhxht/V2X-R 点击并登录 选择并点击下载 浏览器弹窗&#xff0c;右键选择复制下载链接 ------------------------------------服务器下载----------------------------------------- 登录服务器&#xff0c;选在要下载的文件夹复制路…

通用信息抽取大模型PP-UIE开源发布,强化零样本学习与长文本抽取能力,全面适配多场景任务

背景与简介 信息抽取&#xff08;information extraction&#xff09;是指&#xff0c;从非结构化或半结构化数据&#xff08;如自然语言文本&#xff09;中自动识别、提取并组织出结构化信息。通常包含多个子任务&#xff0c;例如&#xff1a;命名实体识别&#xff08;NER&am…

前端开发10大框架深度解析

摘要 在现代前端开发中&#xff0c;框架的选择对项目的成功至关重要。本文旨在为开发者提供一份全面的前端框架指南&#xff0c;涵盖 React、Vue.js、Angular、Svelte、Ember.js、Preact、Backbone.js、Next.js、Nuxt.js 和 Gatsby。我们将从 简介、优缺点、适用场景 以及 实际…

AI数据分析:deepseek生成SQL

在当今数据驱动的时代&#xff0c;数据分析已成为企业和个人决策的重要工具。随着人工智能技术的快速发展&#xff0c;AI 驱动的数据分析工具正在改变我们处理和分析数据的方式。本文将着重介绍如何使用 DeepSeek 进行自动补全SQL 查询语句。 我们都知道&#xff0c;SQL 查询语…

解决:Word 保存文档失败,重启电脑后,Word 在试图打开文件时遇到错误

杀千刀的微软&#xff0c;设计的 Word 是个几把&#xff0c;用 LaTex 写完公式&#xff0c;然后保存&#xff0c;卡的飞起 我看文档卡了很久&#xff0c;就关闭文档&#xff0c;然后 TMD 脑抽了重启电脑 重启之后&#xff0c;文档打不开了&#xff0c;显示 杀千刀的&#xff…

【LeetCode 热题 100】3. 无重复字符的最长子串 | python 【中等】

美美超过管解 题目&#xff1a; 3. 无重复字符的最长子串 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。 注…

weblogic部署报错汇总

weblogic部署报错汇总 Weblogic部署遇到的问题 1.部署完weblogic&#xff0c;进入weblogic控制台&#xff0c;后提示无资源可访问。 解决方法&#xff1a; 权限问题&#xff0c;检查weblogic应用的启动用户和所属用户是否一致。 2. 安装weblogic&#xff0c;创建域的时候特别…

如何在后端服务发布过程中使用蓝绿部署

一、概念 蓝绿部署(Blue-Green Deployment)是一种常用的零停机发布策略,旨在减少发布过程中的风险和系统停机时间。它通过在同一环境中并行维护两个相似的环境(蓝色环境和绿色环境)来实现无缝的应用发布。以下是蓝绿部署策略在后端服务发布中的应用流程以及一些注意事项。…

辛格迪客户案例 | 深圳善康医药科技GMP培训管理(TMS)项目

01 善康医药&#xff1a;创新药领域的探索者 深圳善康医药科技股份有限公司自2017年创立以来&#xff0c;便扎根于创新药研发领域&#xff0c;专注于成瘾治疗药物的研究、生产与销售。公司坐落于深圳&#xff0c;凭借自身独特的技术优势与研发实力&#xff0c;在行业内逐渐崭露…

ArcGIS Pro:轻松制作地震动画,洞察灾害动态

在当今的信息展示领域&#xff0c;动画因其直观、生动的特点&#xff0c;逐渐成为各类汇报、研究展示中的重要元素。 尤其是在地理信息领域&#xff0c;通过动画来展示动态的地理现象&#xff0c;能够让观众更清晰地理解数据背后所蕴含的信息。 地震作为一种突发性的自然灾害…

redis测评

一、身份鉴别 身份标识与鉴别 Redis默认无口令即可登录&#xff0c;需通过配置文件&#xff08;redis.conf&#xff09;设置requirepass参数启用密码认证。密码需满足复杂度要求&#xff08;如长度、字符组合&#xff09;&#xff0c;但Redis自身不支持复杂度策略&#xff0c;需…

单例模式的五种实现方式

1、饿汉式 ①实现&#xff1a;在类加载的时候就初始化实例 ②优点&#xff1a;线程安全 ③缺点&#xff1a;实例在类加载的时候创建&#xff0c;可能会浪费资源 //饿汉式 public class EagerSingleton{private EagerSingleton(){} //私有构造方法private static EagerSingle…

2025-03-04 学习记录--C/C++-C语言 判断是否是素数

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; C语言 判断是否是素数 一、代码 ⭐️ #include <stdio.h> #include <stdbool.h> // 使用 bool 类型// 判断是否是…

MR的环形缓冲区(底层)

MapReduce的大致流程&#xff1a; 1、HDFS读取数据&#xff1b; 2、按照规则进行分片&#xff0c;形成若干个spilt&#xff1b; 3、进行Map 4、打上分区标签&#xff08;patition&#xff09; 5、数据入环形缓冲区&#xff08;KVbuffer&#xff09; 6、原地排序&#xff…