Go + Redis:本地部署高性能图片主色调提取服务

AI-摘要
文章摘要 GPT
AI初始化中...
Go + Redis:本地部署高性能图片主色调提取服务
Eucalyptus部署 img2color-go 所需的环境非常轻量,主要包含的核心组件
- go语言环境编译用(Go 1.21+ (建议最新稳定版)。)
- docker拉起redis容器缓存用(Docker 20.10+, Docker Compose V2。)
拉起Redis容器做缓存
在 /val/lib/docker/redis-img2color目录下创建 docker-compose.yml:
1 | services: |
执行启动:
1 | docker compose up -d |
克隆代码
1 | git clone https://github.com/anzhiyu-c/img2color-go.git |
修改包名:api/img2color.go
为什么要改?
- 原代码 (
package handler):这是为 Vercel/Serverless 环境设计的“库”模式,它没有main函数入口,直接go build会报错或者生成无法直接运行的库 - 修改后 (
package main):这告诉 Go 编译器这是一个独立的可执行程序。配合我们添加的main函数(或原有的入口逻辑),才能编译出一个可以在服务器上直接运行的二进制文件 (img2color-server)。
1 | # 将 api/img2color.go 第一行的 package handler 替换为 package main |
配置环境变量
创建/修改 .env 文件:
1 | PORT=9000 |
编译 Go 程序
1 | cd /opt/img2color-go |
配置 Systemd 服务
创建 /etc/systemd/system/img2color.service:
1 | [Unit] |
启动并验证
1 | # 重载配置并启动 |
最终测试
1 | curl "http://127.0.0.1:9000/api?img=https://avatars.githubusercontent.com/u/9919?v=4" |
反向代理
后续可以配置个反向代理将ip+port换成域名,这里不做过多赘述
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果








