Linux 使用 docker 安装 Webp Server Go 服务器

羊舌成周
2023-12-01


个人知识库

云网站:http://www.liupeng.cloud

语雀:https://www.yuque.com/liupeng_yuque


WebP 介绍

WebP 是由 Google 推出的一种全新图片文件格式,也是 Telegram Stickers 主力使用的文件格式,可为Web 上的图像提供卓越的无损和有损压缩, 它是在保证原有的图像质量前提下尽可能减少图形体积的一种格式, 使用 WebP 网站管理员和 Web 开发人员可以创建更小、更丰富的图像,从而使 Web 加载性能的提升更快。

WebP Server


环境要求

Linux:AlmaLinux(推荐)

阿里巴巴开源镜像站

Docker 环境

Docker Compose 环境

注意:Linux 系统需连接互联网,关闭防火墙或开放对应端口,云服务器配置安全组。


一. 新建文件目录

mkdir -p /home/docker/webps

1.1. 新建 docker-compose.yml

vim /home/docker/webps/docker-compose.yml

1.2. 编写 docker-compose.yml

version: '3'
services:
  webp:
    image: webpsh/webps
    container_name: webps
    restart: always
    volumes:
      - ./data/img:/opt/pics # 图片路径
      - ./data/cache:/opt/exhaust # 转换后的路径
      - ./data/config/config.json:/etc/config.json
    ports:
      -  127.0.0.1:3333:3333
    deploy:
      resources:
        limits:
          memory: 200M

image:镜像名,后面不加版本号,默认 latest 最新版。
container_name:容器名,自定义。
restart: always:总是重启
ports:左边对外开放的端口:右边容器默认端口
volumes:数据卷,:号左边为宿主机目录 .表示当前目录。:号右边为容器目录(默认启动容器宿主机会生成目录,如果是文件需手动创建。赋予相应权限)
environment:设置环境变量


二. 文件赋权限

在 Linux 中,chmod 能改变权限,-R 是目录下所有文件,777 就是高权限(读、写、执行)

chmod -R 777 * 是将当前目录下所有文件都给予 777 权限

示例:

chmod -R 777 data

三. 配置 config.json

{
    "HOST": "127.0.0.1",
    "PORT": "3333",
    "QUALITY": "80",
    "IMG_PATH": "/home/liupeng/data_service/minio-service/minio",
    "EXHAUST_PATH": "/home/liupeng/data_service/minio-service/cache",
    "ALLOWED_TYPES": ["jpg","png","jpeg","gif","bmp"],
    "ENABLE_AVIF": false
}

四. 启动容器

4.1. 启动并下载镜像

docker-compose up -d

4.2. 停止并删除容器

docker-compose down

五. nginx 代理

Nginx 服务器配置 nginx.conf

在 server 节点添加

 # 访问规则
 location ~* .(?:jpg|jpeg|gif|png)$ {
    
   proxy_pass http://127.0.0.1:3333;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_hide_header X-Powered-By;
   proxy_set_header HOST $http_host;
   add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
 }
  
 # MinIO 文件地址
location ^~/minio/ {	  
    
  # 代理到 webp_server_go
  proxy_pass http://127.0.0.1:3333;

}

重启 nginx 服务


六. DockerHub 官网

DockerHub 仓库


更多知识平台

云网站知识库:http://www.liupeng.cloud

Memos 备忘录:http://memos.liupeng.cloud

语雀知识库:https://www.yuque.com/liupeng_yuque

CSDN 博客:https://blog.csdn.net/liupeng_IT

哔哩哔哩:https://space.bilibili.com/1737903430

码云 代码库:https://gitee.com/liupeng_gitee

Github 代码库:https://github.com/liupeng-github

Gogs 私有代码库:http://gogs.liupeng.cloud


 类似资料: