一个开源的多播放源自动采集在线影视网站

news2025/7/22 22:16:18

这里写自定义目录标题

  • 欢迎使用Markdown编辑器
  • GoFilm
    • 简介
    • 项目部署
    • 1、前置环境准备
      • 1.2 redis 配置
    • film-api 后端服务配置
    • 将 GoFilm 项目根目录下的 film 文件夹上传到 linux 服务器的 /opt 目录下
  • 2. 构建运行
    • 1. docker 部署
      • 1.1 安装 docker , docker compose 环境
    • 注意事项:
  • 2、 1panel 部署
    • 安装 1Panel
    • 登录 1Panel 管理面板
    • 启动容器
      • 依次点击 容器 --> 编排 ---> 创建编排
  • 3. 程序初始化
    • 3.1. 管理后台
      • 登录项目管理后台
      • 采集设置初始化
      • 影视分类初始化
      • 影片定时更新
    • 3.2. 网站首页
      • 4. 常见问题
      • 5. 管理后台基本使用说明
  • 1Panel部署(可视化面板操作)
      • 环境准备 (Docker)
      • Centos 系统安装Docker Engine示例
      • 1. 1卸载旧版本Docker
      • 1.2. 设置存储库
      • 1.3. 安装最新版本Docker
      • 启动 Docker 服务
      • 2. 启动流程
    • 配置使用的用户名密码信息需和ocker-compose.yml文件中设置的一致
    • docker-compose.yml (设置服务的启动端口和服务名以及账户密码信息)
      • 3. 常见问题
      • 5. 管理后台基本使用说明
    • 目录结构
    • 关注我的CSDN博客

欢迎使用Markdown编辑器

GoFilm

一个基于 vue 和 gin 实现的在线观影网站

在这里插入图片描述

简介

GoFilm

项目采用vite + vue作为前端技术栈, 使用 ElementPlus 作为UI 框架进行开发

后端程序使用 Gin + gorm + go-redis 等相关框架提供接口服务, 使用 gocolly 和 robfig/cron 进行公共影视资源采集和定时更新功能

项目部署

部署方式

1、前置环境准备

  • linux 服务器
  • 下载 GoFilm 项目

修改默认信息 ( 直接使用默认配置则跳过此步骤 )

###容器默认启动端口,默认账户密码配置

# 文件路径: GoFilm/film/docker-compose.yml
# nginx 容器配置
ports:
- port:80 # port 为浏览器访问的默认端口
# film 容器配置
environment:	# 环境变量,暂未使用
  MYSQL_PORT: 3661	# mysql 服务连接端口
  MYSQL_USER: root	# mysql 连接用户
  MYSQL_PASSWORD: root # mysql 连接用户的密码
  MYSQL_DBNAME: FilmSite # 默认使用的 mysql 数据库名称
  REDIS_PORT: 3662	# redis 服务连接端口
ports:
  - port:3601 # port 为 go 服务端的默认访问端口
# mysql 容器配置
ports:
- port:3306	# port 为 mysql 服务的外部访问端口
environment:
  MYSQL_ROOT_PASSWORD: 默认密码	# 修改 Mysql 的 root 用户的默认密码
  MYSQL_DATABASE: 数据库名 # 默认创建的数据库名称
# redis 容器配置
ports:
  - prot:6379 # port 为 redis 服务的外部访问端口

1.2 redis 配置

# 文件路径 Gofilm/film/data/redis/redis.conf
daemonize no
requirepass 密码 # 设置 redis 服务的访问密码
appendonly no
tcp-keepalive 300 
stop-writes-on-bgsave-error no

film-api 后端服务配置

# 文件路径 GoFilm/film/server/config/DataConfig.go
# mysql 服务配置信息 设置 mysql 的 root 用户密码和数据库名为 docker-compose.yml 中对应的信息
MysqlDsn = "root:密码@(mysql:3306)/数据库名称?charset=utf8mb4&parseTime=True&loc=Local"
# Redis 连接信息,设置 redis 访问密码为 Gofilm/film/data/redis/redis.conf 中的密码
RedisPassword = `root`

将 GoFilm 项目根目录下的 film 文件夹上传到 linux 服务器的 /opt 目录下

上传完成后路径为: /opt/film (只上传 GoFilm 项目中的 film 文件夹)
效果如下图所示

B

2. 构建运行

1. docker 部署

1.1 安装 docker , docker compose 环境

Centos 安装 Docker Engine 官方文档链接

Ubuntu 安装 Docker Engine 官方文档链接

# Centos 系统安装 Docker Engine 示例
# 1. 卸载旧版本 Docker


sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

进入项目部署文件目录 /opt/film

执行命令 cd /opt/film 进入项目目录

执行构建并运行容器

执行命令 docker compose up -d 构建拉取相关镜像并启动

等待容器构建并启动,启动完毕后可通过 docker compose ps 查看容器是否均正常启动
在这里插入图片描述

docker compose 相关命令

docker compose ps 查看已启动的相关容器, docker compose ps -a 查看所有相关容器
docker compose start 启动相关服务容器
docker compose restart 重启相关服务容器
docker compose up -d 以后台服务的方式构建并启动相关服务
docker compose down 删除相关服务容器及关联资源

注意事项:

docker compose 系列命令需在 docker-compose.yml 文件目录下执行
在其他路径下执行需使用 -f /opt/film/docker-compose.yml 指定关联的文件路径
server 相关文件改变后,需使用 docker rmi 容器名|ID 删除 film-film 镜像

2、 1panel 部署

安装 1Panel

  • 根据服务器系统选择对应的安装命令,1Panel 官方文档
# RedHat, Centos
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh
# Ubuntu
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
# Debian
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
  • 通过设置的启动端口,在浏览器中进行访问,默认访问路径 : http://目标服务器 IP 地址:目标端口/安全入口

登录 1Panel 管理面板

启动容器

依次点击 容器 --> 编排 —> 创建编排

在这里插入图片描述

  • 选择 来源 --> 路径选择,输入 GoFilm 安装文件的存放路径 /opt/film/docker-compose.yml
    在这里插入图片描述
  • 等待编排完成,关闭编排添加页,点击 容器 查看容器启动状态
    在这里插入图片描述

3. 程序初始化

3.1. 管理后台

登录项目管理后台

访问路径: http://服务器IP:3600/manage
默认账户密码: admin admin

采集设置初始化

  • 点击左侧菜单,采集管理 --> 影视采集,选择启用默认采集站点或自行添加站点信息

  • 启用需要采集的站点,将对应站点的是否启用状态设置为启用
    在这里插入图片描述

  • 选择主站点 (必要), 在需要设置的站点操作栏点击蓝色编辑按钮,设置站点权重为主站点
    在这里插入图片描述

  • 点击一键采集,选择需要执行采集的站点,设置采集时长为 - 1 (采集全部), 点击确认执行
    在这里插入图片描述

  • 等待采集完成 (手动采集一次即可,后续无需重复手动采集)

影视分类初始化

  • 点击左侧菜单,影片管理 --> 影视分类,对需要展示和隐藏的分类进行设置 (用于网站顶部导航以及首页数据展示)
  • 点击对应的分类操作栏对分类名称等默认信息进行修改
    在这里插入图片描述

影片定时更新

  • 点击左侧菜单,定时任务 --> 任务管理,选择启用默认的定时任务 (默认每 20 分钟采集一次最新 6 小时内更新的影片)
  • 自定义定时任务:
  • 任务类型 (自动更新), 指定周期内对所有已启用的采集站点进行更新采集
  • 任务类型 (自定义更新), 指定周期内仅对选中的站点进行更新采集
    在这里插入图片描述

3.2. 网站首页

管理后台进行相关设置并完成主站点采集后,访问首页地址: http://服务器IP:3600/index

首页访问提示导航数据获取失败或服务器繁忙,请等待数据采集完成后,重新访问

4. 常见问题

CPU 架构为 ARM 的服务器部署时 需修改Dockerfile 文件中的 GOARCH=amd64 为 GOARCH=arm
服务器内存偏小时, 可能自行将redis容器关闭, 需在宿主机 /etc/sysctl.conf 文件中追加 vm.overcommit_memory = 1 配置, 并执行 sysctl vm.overcommit_memory=1 使其生效

5. 管理后台基本使用说明

访问 http://xxx.xxx.xxx/manage 进行登录, 用户名 密码: admin admin , 登录成功后自行修改
使用 采集管理 -> 影视采集 功能进行采集站信息的添加和更新, 系统初始化时有预留站点信息, 自行斟酌选择
首先选择一个站点为主站点, 然后选择 采集一周, 一天, 或 全部, 进行主站点的数据采集, (前台数据全来自于主站点, 因此主站点只需要存在一个, 否则会冲突)
主站点信息采集完成后则可在 影片管理 -> 影视分类 中进行主页分类展示信息的设置, 选择需要展示的分类信息, 以及分类的名称管理 (自行摸索如何使用)
附属站点即影片的多个播放来源, 可自行进行选择性的采集添加
定时任务:
系统默认添加一条规则, 但未启用, 该规则为每20分钟更新一次所有已开启的采集站的近3小时内更新的数据, 开启后则基本满足资源更新需求
可自定义定时任务, 使用相关功能可自主选择对某些站点进行定时更新功能

1Panel部署(可视化面板操作)

使用指南

  • 后端项目路径 GoFilm/server, 包含 项目结构说明, 后端程序源码, API接口说明, 本地启动注意事项 查看
  • 前端项目路径 GoFilm/client, 包含 项目结构说明, 前端项目源码, 配置文件说明, 本地启动方式 [查看]/GoFilm/tree/main/client)
  • 部署文件 GoFilm/film, 包含项目部署所需的所有文件以及相应的说明文件 查看
  • 程序使用文档: 提供项目安装部署以及相应的初始化使用步骤说明 点击前往

环境准备 (Docker)

Linux 服务器
安装 docker, docker compose 服务
Centos 安装 Docker Engine 官方文档链接
Ubuntu 安装 Docker Engine 官方文档链接

Centos 系统安装Docker Engine示例

1. 1卸载旧版本Docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

1.2. 设置存储库

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

1.3. 安装最新版本Docker

$ sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动 Docker 服务

sudo systemctl start docker

2. 启动流程

如果使用默认配置信息,则执行如下流程

将本项目中的 film 文件夹完整的上传到服务器的 /opt/ 目录下 (放在其他目录下时需同步修改 Dockerfile 以及 docker-compose.yml 文件中的相关路径)
进入服务器中的 /opt/film/ 目录并执行 docker compose build 构建相关docker镜像
在 /opt/film/ 目录下执行命令 docker compose up -d (后台运行服务)
使用 docker ps 命令查看相关服务是否成功启动
等待后端程序初始化工作和数据爬取, 大概3~8分钟左右
停止服务 docker compose down
查看服务容器运行状态 docker ps
在浏览器中访问管理后台: http://xxx.xxx.xxx/manage,
登录 默认 用户名 密码: admin admin
使用后台功能中的采集管理功能进行影视数据采集 (采集任务开启后需等待一段时间)
浏览器中访问前台地址查看效果, 例: http://xxx.xxx.xxx/index (点击管理后台的logo菜单可直接跳转到前台页面)
3.服务配置信息修改
film 后端接口服务配置, film/server 下存放了程序的构建文件, 修改后重新构建镜像即可
mysql 用户名密码和端口信息直接修改 docker-compose.yml 文件中的相关配置即可
redis 服务信息配置需修改 /film/data/redis/redis.conf 文件
nginx 配置文件 /film/data/nginx/nginx.conf
注意事项

mysql 和 redis 服务配置修改后需要同步修改 /film/server/config/DataConfig.go 中的连接地址和账户名信息

配置使用的用户名密码信息需和ocker-compose.yml文件中设置的一致

const (
// mysql服务配置信息修改
mysqlDsn = “用户名:密码$@(服务名:服务端口)/FilmSite?charset=utf8mb4&parseTime=True&loc=Local”

/*
	redis 配置信息
	RedisAddr host:port
	RedisPassword redis访问密码
	RedisDBNo 使用第几号库
*/
RedisAddr = `服务名:服务端口`
RedisPassword = `密码`
RedisDBNo = 0

)

docker-compose.yml (设置服务的启动端口和服务名以及账户密码信息)

mysql:
    container_name: film_mysql
    image: mysql
    ports:
    - 3610:3306
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: FilmSite
 redis:
    container_name: film_redis
    image: redis
    ports:
      - 3620:6379

3. 常见问题

CPU 架构为 ARM 的服务器部署时 需修改Dockerfile 文件中的 GOARCH=amd64 为 GOARCH=arm
服务器内存偏小时, 可能自行将redis容器关闭, 需在宿主机 /etc/sysctl.conf 文件中追加 vm.overcommit_memory = 1 配置, 并执行 sysctl vm.overcommit_memory=1 使其生效

5. 管理后台基本使用说明

访问 http://xxx.xxx.xxx/manage 进行登录, 用户名 密码: admin admin , 登录成功后自行修改
使用 采集管理 -> 影视采集 功能进行采集站信息的添加和更新, 系统初始化时有预留站点信息, 自行斟酌选择
首先选择一个站点为主站点, 然后选择 采集一周, 一天, 或 全部, 进行主站点的数据采集, (前台数据全来自于主站点, 因此主站点只需要存在一个, 否则会冲突)
主站点信息采集完成后则可在 影片管理 -> 影视分类 中进行主页分类展示信息的设置, 选择需要展示的分类信息, 以及分类的名称管理 (自行摸索如何使用)
附属站点即影片的多个播放来源, 可自行进行选择性的采集添加
定时任务:
系统默认添加一条规则, 但未启用, 该规则为每20分钟更新一次所有已开启的采集站的近3小时内更新的数据, 开启后则基本满足资源更新需求
可自定义定时任务, 使用相关功能可自主选择对某些站点进行定时更新功能

目录结构

  • client 客户端项目目录 Client简介
  • server 服务端接口项目目录 Server简介
  • film 项目部署相关配置目录 film 项目安装
  • 详细说明请查看具体目录中的README文件
GoFilm-main                            
├─ client                              
│  ├─ public                           
│  │  └─ favicon.ico                   
│  ├─ src                              
│  │  ├─ assets                        
│  │  │  ├─ css                        
│  │  │  │  ├─ classify.css            
│  │  │  │  ├─ film.css                
│  │  │  │  └─ pagination.css          
│  │  │  └─ image                      
│  │  │     ├─ 404.png                 
│  │  │     └─ play.png                
│  │  ├─ components                    
│  │  │  ├─ Loading                    
│  │  │  │  ├─ index.ts                
│  │  │  │  └─ Loading.vue             
│  │  │  ├─ FilmList.vue               
│  │  │  ├─ Footer.vue                 
│  │  │  ├─ Header.vue                 
│  │  │  ├─ RelateList.vue             
│  │  │  └─ Util.vue                   
│  │  ├─ router                        
│  │  │  └─ router.ts                  
│  │  ├─ utils                         
│  │  │  ├─ cookie.ts                  
│  │  │  └─ request.ts                 
│  │  ├─ views                         
│  │  │  ├─ error                      
│  │  │  │  └─ Error404.vue            
│  │  │  ├─ index                      
│  │  │  │  ├─ FilmClassify.vue        
│  │  │  │  ├─ FilmClassifySearch.vue  
│  │  │  │  ├─ FilmDetails.vue         
│  │  │  │  ├─ Home.vue                
│  │  │  │  ├─ Play.vue                
│  │  │  │  └─ SearchFilm.vue          
│  │  │  └─ IndexHome.vue              
│  │  ├─ App.vue                       
│  │  ├─ main.ts                       
│  │  ├─ style.css                     
│  │  └─ vite-env.d.ts                 
│  ├─ auto-imports.d.ts                
│  ├─ components.d.ts                  
│  ├─ index.html                       
│  ├─ package.json                     
│  ├─ README.md                        
│  ├─ tsconfig.json                    
│  ├─ tsconfig.node.json               
│  └─ vite.config.ts                   
├─ film                                
│  ├─ data                             
│  │  ├─ nginx                         
│  │  │  ├─ html                       
│  │  │  │  ├─ assets                  
│  │  │  │  │  ├─ 404-b813c94a.png     
│  │  │  │  │  ├─ index-984712d6.js    
│  │  │  │  │  ├─ index-de4c7ff5.css   
│  │  │  │  │  └─ play-bb9c8990.png    
│  │  │  │  ├─ favicon.ico             
│  │  │  │  └─ index.html              
│  │  │  └─ nginx.conf                 
│  │  └─ redis                         
│  │     └─ redis.conf                 
│  ├─ server                           
│  │  ├─ config                        
│  │  │  └─ DataConfig.go              
│  │  ├─ controller                    
│  │  │  ├─ IndexController.go         
│  │  │  └─ SpiderController.go        
│  │  ├─ logic                         
│  │  │  ├─ IndexLogic.go              
│  │  │  └─ SpiderLogic.go             
│  │  ├─ model                         
│  │  │  ├─ Categories.go              
│  │  │  ├─ Movies.go                  
│  │  │  ├─ RequestParams.go           
│  │  │  ├─ ResponseJson.go            
│  │  │  └─ Search.go                  
│  │  ├─ plugin                        
│  │  │  ├─ common                     
│  │  │  │  ├─ dp                      
│  │  │  │  │  ├─ ProcessCategory.go   
│  │  │  │  │  └─ ProcessMovies.go     
│  │  │  │  └─ param                   
│  │  │  │     └─ SimpleParam.go       
│  │  │  ├─ db                         
│  │  │  │  ├─ mysql.go                
│  │  │  │  └─ redis.go                
│  │  │  └─ spider                     
│  │  │     ├─ Spider.go               
│  │  │     ├─ SpiderCron.go           
│  │  │     └─ SpiderRequest.go        
│  │  ├─ router                        
│  │  │  └─ router.go                  
│  │  ├─ go.mod                        
│  │  ├─ go.sum                        
│  │  ├─ main.go                       
│  │  └─ README.md                     
│  ├─ docker-compose.yml               
│  ├─ Dockerfile                       
│  └─ README.md                        
├─ server                              
│  ├─ config                           
│  │  └─ DataConfig.go                 
│  ├─ controller                       
│  │  ├─ IndexController.go            
│  │  └─ SpiderController.go           
│  ├─ logic                            
│  │  ├─ IndexLogic.go                 
│  │  └─ SpiderLogic.go                
│  ├─ model                            
│  │  ├─ Categories.go                 
│  │  ├─ Movies.go                     
│  │  ├─ RequestParams.go              
│  │  ├─ ResponseJson.go               
│  │  └─ Search.go                     
│  ├─ plugin                           
│  │  ├─ common                        
│  │  │  ├─ dp                         
│  │  │  │  ├─ ProcessCategory.go      
│  │  │  │  └─ ProcessMovies.go        
│  │  │  ├─ param                      
│  │  │  │  └─ SimpleParam.go          
│  │  │  └─ util                       
│  │  │     ├─ FileDownload.go         
│  │  │     └─ Request.go              
│  │  ├─ db                            
│  │  │  ├─ mysql.go                   
│  │  │  └─ redis.go                   
│  │  └─ spider                        
│  │     ├─ Spider.go                  
│  │     └─ SpiderCron.go              
│  ├─ router                           
│  │  └─ router.go                     
│  ├─ go.mod                           
│  ├─ go.sum                           
│  ├─ main.go                          
│  └─ README.md                        
├─ LICENSE                             
└─ README.md                           

【更新汇总】

关注我的CSDN博客

更多资源可以查看我的CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度检测与动态透明度控制 - 基于Babylon.js的遮挡检测实现解析

首先贴出实现代码: OcclusionFader.ts import { AbstractEngine, Material, type Behavior, type Mesh, type PBRMetallicRoughnessMaterial, type Scene } from "babylonjs/core"; import { OcclusionTester } from "../../OcclusionTester"…

docker push 报错 denied: requested access to the resource is denied

问题&#xff1a;当 docker logout -> docker login 用户登录&#xff0c;但仍然无法 docker push $ docker push <username>/nginx-custom:v1 The push refers to repository [docker.io/jagger/nginx-custom] 340e6d3ea0c7: Preparing 941dd9dd8ee4: Preparing f6…

epub→pdf | which 在线转换??好用!!

1、PDF派&#xff08;free&quick) pdf转word_pdf转换成excel_pdf转换成ppt _纬来PDF转换器 评价&#xff1a;目前使用免费&#xff0c;转化的时候有进度条提示&#xff0c;总的来说比较快&#xff0c;50mb的文件在40秒内可以转换完成&#xff0c;推荐 2、pdfconvert(free…

MySQL数据高效集成到金蝶云星空的技术分享

MySQL数据集成到金蝶云星空的技术案例分享&#xff1a;SR新建调拨单内部供应商-深圳天一 在企业信息化系统中&#xff0c;数据的高效流动和准确对接是实现业务流程自动化的关键。本文将聚焦于一个具体的系统对接集成案例——将MySQL中的数据集成到金蝶云星空&#xff0c;以支持…

Linux系统 - 基本概念

介绍一些Linux系统的基本概念 1 操作系统的核心—内核 “操作系统”通常包含两种不同含义。 1&#xff0e;指完整的软件包&#xff0c;这包括用来管理计算机资源的核心层软件&#xff0c;以及附带的所有标准软件工具&#xff0c;诸如命令行解释器、图形用户界面、文件操作工具…

PDF电子发票数据提取至Excel

声明&#xff1a;本软件是吾爱大佬th4c3y原创&#xff0c;本人只是搬运工&#xff01; 发票识别更新记录 【2025-3-14】更新 v2.0 在字段设置中新增自定义字段&#xff08;仅在 PDF 正则式接口下生效&#xff09;&#xff0c;支持自定义正则表达式或固定字符。 自定义字段会…

【身份证识别表格】把大量手机拍摄的身份证信息转换成EXCEL表格的数据,拍的身份证照片转成excel表格保存,基于WPF和腾讯OCR的实现方案

基于WPF和腾讯OCR的身份证照片转Excel方案 应用场景 ​​企业人事管理​​&#xff1a;新员工入职时批量录入数百份身份证信息&#xff0c;传统手动录入易出错且耗时。通过OCR自动提取姓名、身份证号等字段&#xff0c;生成结构化Excel表格&#xff0c;效率提升10倍以上。 ​​…

FPGA高速接口 mipi lvds cameralink hdml 千兆网 sdi

mipi: https://blog.csdn.net/SDJ_success/article/details/146541776 cameralink CameraLink协议 CameraLink协议是一种专门针对机器视觉应用领域的串行通信协议&#xff0c;它使用低压差分信号(LVDS)进行数据的传输和通信。CameraLink标准是在ChannelLink标准的基础上多加了…

Linux路径解析指南:逻辑路径 vs 实际路径详解

在 Linux 系统中&#xff0c;逻辑路径&#xff08;Logical Path&#xff09;和 实际路径&#xff08;Physical Path&#xff09;是两个不同的概念&#xff0c;主要区别在于它们如何解析文件或目录的位置。以下是详细解释&#xff1a; 目录 1. 逻辑路径&#xff08;Logical Path…

Azure 公有云基础架构与核心服务:从基础到实践指南

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 Azure 的基础架构由多个核心组件构成&#xff0c;理解这些概念是掌握其技术框架的第一步&#xff1a; 地理区域&#xff08;Geographic R…

【运维_日常报错解决方案_docker系列】一、docker系统不起来

今天忽然想起来哎&#xff0c;还有一台”尘封“着的服务器&#xff0c;好久没用了&#xff0c;就随便打开登了登&#xff0c;然后想看一下服务器上面还有正在跑着的容器服务吗&#xff0c;然后使用docker ps 发现报错了。 然后重启也是下面这个状态。 查看docker状态&#xf…

C# 数组与字符串:全面解析与应用实践

在C#编程语言中&#xff0c;数组和字符串是两种最基础也是最重要的数据类型。无论是简单的控制台应用程序&#xff0c;还是复杂的企业级系统&#xff0c;数组和字符串都扮演着不可或缺的角色。本文将全面深入地探讨C#中数组和字符串的特性、使用方法、性能考量以及实际应用场景…

‌AT2659S射频前端芯片技术解析:L1频段低噪声高增益GNSS信号放大

以下是关于‌AT2659S L1频段卫星导航射频前端芯片‌的客观描述&#xff0c;严格基于用户提供的原始信息&#xff0c;采用分享式表述&#xff0c;保持参数和核心内容不变&#xff1a; AT2659S芯片概述‌ AT2659S是一款基于SiGe工艺的射频前端芯片&#xff0c;专为L1频段&#…

ROS2学习(15)------ROS2 TF2 机器人坐标系管理器

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 ROS版本&#xff1a;2 在 ROS 2 中&#xff0c;TF2&#xff08;Transform Library, v2&#xff09; 是一个非常核心的工具库&#xff0c;用于管理多个坐标系之间的 变换关系&#xff08;tran…

Vue+css实现扫描动画效果(使用@keyframes scan)

实现效果 扫描效果 参考链接 MDN Web Docs: CSS Animations 关键代码 示例代码 <div class"scanner-container"><div class"scanner-line"></div><div class"scanner-icon">&#x1f4f7;</div><p>Scan m…

PHP学习笔记(九)

箭头函数 箭头函数是 PHP 7.4的新语法。是一种更简洁的匿名函数的写法&#xff0c;它们都是closure类的实现。 箭头函数的基本语法为fn&#xff08;argument_list&#xff09; > expr 箭头函数支持与匿名函数相同的功能&#xff0c;只是其父作用域的变量总是自动的。 当表…

信创 CDC 实战 | OGG、Attunity……之后,信创数据库实时同步链路如何构建?(以 GaussDB 数据入仓为例)

国产数据库加速进入核心系统&#xff0c;传统同步工具却频频“掉链子”。本系列文章聚焦 OceanBase、GaussDB、TDSQL、达梦等主流信创数据库&#xff0c;逐一拆解其日志机制与同步难点&#xff0c;结合 TapData 的实践经验&#xff0c;系统讲解从 CDC 捕获到实时入仓&#xff0…

微服务(SpringCloud)的简单介绍

一.什么是微服务&#xff1f; 微服务是一种软件架构风格&#xff0c;核心思想是用职责单一的小型项目&#xff0c;组合出复杂的大型项目。 二.举例 1.单体架构&#xff08;SpringBoot&#xff09; 无论项目中有多少功能&#xff0c;都是放在一个项目中。 如下图所示&#xff1…

Python 爬虫开发

文章目录 1. 常用库安装2. 基础爬虫开发2.1. 使用 requests 获取网页内容2.2. 使用 BeautifulSoup 解析 HTML2.3. 处理登录与会话 3. 进阶爬虫开发3.1. 处理动态加载内容&#xff08;Selenium&#xff09;3.2. 使用Scrapy框架3.3. 分布式爬虫&#xff08;Scrapy-Redis&#xff…

第十一周作业

一、实现bluecms旁注&#xff0c;并解释为什么旁站攻击可以拿下主站&#xff1f;跨库的意思是什么&#xff1f; 1、为什么旁站攻击可以拿下主站 因为主站业务和旁站业务共处于同一个服务器上面&#xff0c;当我们无法攻破主站业务时&#xff0c;可以通过攻破旁站业务&#xf…