# GoFilm 部署
# 1. 前置环境准备
linux 服务器
GitHub 下载 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 服务的外部访问端口
- 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 文件夹) - 效果如下图所示
- 上传完成后路径为:
# 2. 构建运行
# 1. docker 部署
- 安装 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
#2. 设置存储库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#3. 安装最新版本 Docker
$ sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
#启动 Docker 服务
sudo systemctl start docker
# Ubuntu 系统安装 Docker Engine 示例
# 1. 卸载旧版本冲突依赖
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# 2. 添加 Docker 官方 GPG 密钥
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 3. 添加存储库到 apt 源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# 4. 安装最新版本 Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 进入项目部署文件目录
/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. 程序初始化
# 1. 管理后台
- 登录项目管理后台
- 访问路径:
http://服务器IP:3600/manage
- 默认账户密码:
admin admin
- 采集设置初始化
- 点击左侧菜单,采集管理 --> 影视采集,选择启用默认采集站点或自行添加站点信息
- 启用需要采集的站点,将对应站点的是否启用状态设置为启用
- 选择主站点 (必要), 在需要设置的站点操作栏点击蓝色编辑按钮,设置站点权重为主站点
- 点击一键采集,选择需要执行采集的站点,设置采集时长为 - 1 (采集全部), 点击确认执行
- 等待采集完成 (手动采集一次即可,后续无需重复手动采集)
影视分类初始化
- 点击左侧菜单,影片管理 --> 影视分类,对需要展示和隐藏的分类进行设置 (用于网站顶部导航以及首页数据展示)
- 点击对应的分类操作栏对分类名称等默认信息进行修改
影片定时更新
- 点击左侧菜单,定时任务 --> 任务管理,选择启用默认的定时任务 (默认每 20 分钟采集一次最新 6 小时内更新的影片)
- 自定义定时任务:
- 任务类型 (自动更新), 指定周期内对所有已启用的采集站点进行更新采集
- 任务类型 (自定义更新), 指定周期内仅对选中的站点进行更新采集
# 2. 网站首页
管理后台进行相关设置并完成主站点采集后,访问首页地址:
http://服务器IP:3600/index
首页访问提示导航数据获取失败或服务器繁忙,请等待数据采集完成后,重新访问
部署或自定义修改时遇到问题需要帮忙排错调试的可通过 TG 私聊
Telegram: @MuBaiCs