3分钟上手!Gotenberg跨平台部署全攻略(Windows/Linux/macOS)
2026-02-05 05:31:29作者:胡唯隽
你还在为不同系统部署文档转换服务头疼?本文3分钟教你搞定Gotenberg在Windows、Linux和macOS上的环境配置,轻松实现跨平台文档转PDF!读完你将获得:3大主流系统部署指南、Docker与源码编译双方案、常见问题解决方案。
项目简介
Gotenberg是一个开发者友好的API服务,能够将HTML、Markdown、Word、Excel等多种文档格式转换为PDF文件。它基于Chromium和LibreOffice等强大工具,提供了简单易用的接口,适合各类文档处理场景。
项目核心文件:
- 主程序入口:cmd/gotenberg/main.go
- 构建配置:Makefile
- 官方文档:README.md
部署方案对比
| 部署方式 | 适用场景 | 难度 | 跨平台性 |
|---|---|---|---|
| Docker容器 | 快速测试、生产环境 | ⭐ | ★★★★★ |
| 源码编译 | 自定义开发、特殊配置 | ⭐⭐⭐ | ★★★ |
Docker快速部署(推荐)
全平台通用步骤
-
安装Docker Desktop
- Windows/macOS:从Docker官网下载安装包
- Linux:执行
sudo apt-get install docker-ce docker-ce-cli containerd.io
-
启动Gotenberg容器
docker run --rm -p 3000:3000 gotenberg/gotenberg:8 -
验证服务 访问 http://localhost:3000/health ,返回状态为"ok"即表示部署成功
源码编译部署
环境准备
- 安装Go环境(1.16+)
- 安装依赖工具
- Chromium:用于HTML转PDF
- LibreOffice:用于Office文档转换
Linux系统
-
安装依赖
sudo apt-get update && sudo apt-get install -y chromium libreoffice -
获取源码
git clone https://gitcode.com/gh_mirrors/go/gotenberg.git cd gotenberg -
编译运行
make build ./gotenberg
macOS系统
-
安装依赖
brew install chromium libreoffice -
获取源码并编译
git clone https://gitcode.com/gh_mirrors/go/gotenberg.git cd gotenberg make build ./gotenberg
Windows系统
-
安装依赖
- 下载并安装Go
- 安装Chocolatey
- 执行
choco install chromium libreoffice
-
获取源码并编译
git clone https://gitcode.com/gh_mirrors/go/gotenberg.git cd gotenberg go build -o gotenberg.exe cmd/gotenberg/main.go .\gotenberg.exe
配置与优化
核心配置参数
通过命令行参数或环境变量可以自定义Gotenberg的行为,主要配置项包括:
- 端口设置:
--api-port=3000 - 超时配置:
--api-timeout=30s - Chromium设置:
--chromium-restart-after=10 - LibreOffice配置:
--libreoffice-restart-after=10
完整配置可参考Makefile中的环境变量定义。
性能优化建议
- 根据实际需求调整服务重启策略
- 生产环境建议使用Docker部署,便于管理和扩展
- 对于高并发场景,可适当提高队列大小:
--chromium-max-queue-size=100
常见问题解决
服务启动失败
- 检查端口是否被占用:
netstat -tuln | grep 3000 - 确认依赖是否安装完整:特别是Chromium和LibreOffice
文档转换失败
- 检查输入文件格式是否支持
- 查看日志获取详细错误信息:
--log-level=debug
总结
Gotenberg提供了灵活的部署方案,无论是快速测试还是生产环境,都能满足不同需求。通过Docker可以实现一键部署,而源码编译则适合需要自定义的场景。
如果您在部署过程中遇到问题,欢迎提交issue或查阅官方文档。别忘了点赞收藏本教程,关注获取更多Gotenberg使用技巧!
下一教程预告:Gotenberg高级功能使用指南 - 自定义PDF转换参数
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0245
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
JoyAI-VL-Interaction-Preview京东开源首个开源、视觉驱动的实时交互模型——它能实时监控视频流,并自主决定何时发言、保持沉默或委托任务。Jinja00
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0182
kornia🐍 空间人工智能的几何计算机视觉库Python03
PaddleParallel Distributed Deep Learning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)C++02
项目优选
收起
暂无描述
Dockerfile
786
5.15 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
899
2.08 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
721
1.45 K
deepin linux kernel
C
32
16
Ascend Extension for PyTorch
Python
767
991
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
481
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
484
181
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.13 K
1.17 K
昇腾LLM分布式训练框架
Python
189
241
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
157
249