imgproxy.rb 项目教程
1. 项目的目录结构及介绍
imgproxy.rb 是一个用于 imgproxy 的框架无关的 Ruby Gem,支持 Ruby on Rails 中最流行的图像附件选项:Active Storage 和 Shrine。以下是项目的目录结构及其介绍:
imgproxy.rb/
├── CHANGELOG.md
├── Gemfile
├── LICENSE
├── README.md
├── UPGRADE.md
├── imgproxy.gemspec
├── bin/
│ └── imgproxy
├── docs/
│ └── ...
├── lib/
│ ├── imgproxy.rb
│ └── imgproxy/
│ ├── ...
├── logo/
│ └── ...
├── spec/
│ └── ...
├── .gitignore
├── .rubocop.yml
├── .yardopts
- CHANGELOG.md: 记录项目的变更日志。
- Gemfile: 定义项目的依赖。
- LICENSE: 项目的许可证(MIT 许可证)。
- README.md: 项目的主要介绍文档。
- UPGRADE.md: 升级指南。
- imgproxy.gemspec: 项目的 gemspec 文件。
- bin/: 包含可执行文件。
- docs/: 包含项目的文档。
- lib/: 包含项目的主要代码。
- logo/: 包含项目的 logo。
- spec/: 包含项目的测试代码。
- .gitignore: 定义 Git 忽略的文件和目录。
- .rubocop.yml: 定义 RuboCop 的配置。
- .yardopts: 定义 Yard 文档生成器的配置。
2. 项目的启动文件介绍
项目的启动文件位于 bin/
目录下,文件名为 imgproxy
。这个文件是一个可执行文件,用于启动 imgproxy 服务。
#!/usr/bin/env ruby
require "imgproxy"
# 启动 imgproxy 服务
Imgproxy.start
3. 项目的配置文件介绍
imgproxy.rb 使用 anyway_config
来加载配置,因此可以通过多种方式进行配置。以下是一些常见的配置方式:
使用单独的配置文件
可以在 Rails 项目的 config/
目录下创建一个 imgproxy.yml
文件:
development:
# 完整的 imgproxy 服务 URL
endpoint: "http://imgproxy.example.com"
# 十六进制编码的签名密钥和盐
key: "your_key"
salt: "your_salt"
production:
endpoint: "http://imgproxy.example.com"
key: "your_key"
salt: "your_salt"
test:
endpoint: "http://imgproxy.example.com"
key: "your_key"
salt: "your_salt"
使用 secrets.yml 配置
可以在 secrets.yml
文件中添加 imgproxy 的配置:
production:
imgproxy:
# 完整的 imgproxy 服务 URL
endpoint: "http://imgproxy.example.com"
# 十六进制编码的签名密钥和盐
key: "your_key"
salt: "your_salt"
使用环境变量配置
可以通过环境变量来配置 imgproxy:
export IMGPROXY_ENDPOINT="http://imgproxy.example.com"
export IMGPROXY_KEY="your_key"
export IMGPROXY_SALT="your_salt"
通过这些配置方式,可以灵活地配置 imgproxy.rb 以适应不同的开发和生产环境。