当前位置: 首页 > news >正文

别再为OnlyOffice离线安装头疼了!这份CentOS 7保姆级配置清单请收好

别再为OnlyOffice离线安装头疼了!这份CentOS 7保姆级配置清单请收好

在中小企业的文档协作场景中,OnlyOffice凭借其高度兼容Office格式和开源特性,正成为越来越多团队的选择。但当你需要在没有外网连接的CentOS 7环境中部署时,那些隐藏的依赖陷阱就像一个个定时炸弹——特定版本的PostgreSQL、老旧的RabbitMQ、复杂的字体配置...本文将呈现一份经过实战检验的完整清单,从组件版本精确匹配到服务配置细节,让你避开我踩过的所有坑。

1. 环境准备与离线包管理

离线部署最大的挑战在于所有依赖必须一次性准备齐全。建议先在一台可联网的CentOS 7机器上通过yum downloadonly命令获取全套RPM包:

mkdir -p /opt/onlyoffice-rpms yum install -y yum-utils repotrack -a x86_64 --downloaddir=/opt/onlyoffice-rpms \ nodejs-9.11.2 \ nginx-1.24.0 \ postgresql-server-9.2.24 \ rabbitmq-server-3.3.5 \ redis-3.2.12 \ cabextract \ msttcore-fonts-installer

关键组件版本对照表:

组件必须版本备注
Node.js9.11.2新版不兼容
PostgreSQL9.2.24仅此版本支持
RabbitMQ3.3.5需配套Erlang 18.x
Redis3.2.12新版配置不同
Nginx1.24.0需定制worker配置

注意:字体包必须包含msttcore-fontsliberation-fonts,否则文档渲染会出现乱码

2. 核心服务配置详解

2.1 PostgreSQL深度定制

初始化数据库时需特别指定locale,避免排序规则冲突:

sudo /usr/bin/postgresql-setup --initdb --locale=C

修改/var/lib/pgsql/data/pg_hba.conf

# 将ident改为md5 host all all 127.0.0.1/32 md5

创建专用数据库时注意字符集:

CREATE DATABASE onlyoffice WITH ENCODING='UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;

2.2 RabbitMQ调优

修改/etc/rabbitmq/rabbitmq.config增加内存控制:

[ {rabbit, [ {vm_memory_high_watermark, 0.6}, {disk_free_limit, "500MB"} ]} ].

2.3 Nginx性能优化

/etc/nginx/nginx.conf中关键参数:

worker_processes auto; # 根据CPU核心数自动设置 worker_rlimit_nofile 65535; events { worker_connections 4096; use epoll; } http { client_max_body_size 100M; keepalive_timeout 65; gzip on; }

3. 依赖组件安装避坑指南

字体安装需要特殊顺序:

  1. 先安装cabextractxorg-x11-font-utils
  2. 再安装msttcore-fonts-installer
  3. 最后执行:
    fc-cache -fv

Redis内存配置建议:

echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf sysctl -p

重要:所有服务安装完成后,务必按顺序启动:

  1. PostgreSQL
  2. RabbitMQ
  3. Redis
  4. OnlyOffice
  5. Nginx

4. 安全与权限配置实战

4.1 防火墙精简配置

如果使用firewalld:

firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-port=8000/tcp # 内部通信端口 firewall-cmd --reload

4.2 JWT验证开关

修改/etc/onlyoffice/documentserver/local.json

{ "services": { "CoAuthoring": { "token": { "enable": { "request": { "inbox": false, "outbox": false } } } } } }

4.3 服务账户隔离

为每个服务创建独立系统用户:

useradd -r -s /sbin/nologin onlyoffice-pg useradd -r -s /sbin/nologin onlyoffice-rmq chown -R onlyoffice-pg:onlyoffice-pg /var/lib/pgsql

5. 部署后检查清单

通过以下命令验证各服务状态:

# 检查服务状态 systemctl status postgresql rabbitmq-server redis nginx # 验证端口监听 ss -tulnp | grep -E '5432|5672|6379|80' # 测试数据库连接 sudo -u postgres psql -c "\l" | grep onlyoffice # 验证RabbitMQ节点 rabbitmqctl status | grep -A 3 'running_applications' # 检查文档服务 curl -I http://localhost/welcome

常见故障排查命令:

# 查看文档服务日志 journalctl -u ds-* --no-pager -n 50 # 检查字体安装 fc-list | grep -i 'Arial\|Times' # 测试PDF导出 curl -X POST http://localhost/convert -d @test.docx -o output.pdf

这套配置在多个生产环境验证通过,关键是要严格遵循组件版本要求和启动顺序。当所有服务显示正常后,建议制作系统快照以便快速恢复。

http://www.jsqmd.com/news/923768/

相关文章:

  • 基于内存补丁技术的Windows即时通讯软件消息保留解决方案深度解析
  • 酱料代加工选购指南:如何找到高性价比靠谱厂家 - 资讯纵览
  • 鸣潮自动化工具终极指南:如何用ok-ww实现后台全自动战斗
  • APKMirror:安卓应用安全下载的终极免费解决方案
  • Gemini多模态推理引擎权限提升漏洞:从普通用户到system root的4跳提权路径(含PoC视频+调试日志)
  • 终极百度网盘加速指南:免费解锁50倍下载速度的完整解决方案
  • 主题建模您的个人数据
  • 甄选:推荐上海优质的高层建筑柱加固施工队 - 品牌推广大师
  • 基于Arduino的自动发牌机:从传感器到伺服电机的机电一体化实践
  • 3个简单步骤修复Zotero Style插件高能进度条显示问题终极指南
  • OpCore Simplify:黑苹果EFI自动化生成架构深度解析
  • 如何永久保存微信聊天记录:WeChatMsg开源工具的终极解决方案
  • 日志字段解密全图谱,覆盖user_agent、x-forwarded-for、request_id等12个关键字段的语义还原与误判规避手册
  • 2026 深圳 GEO 优化机构实力排行:全意图服务标杆与优质服务商深度解读 - GEO优化
  • 3分钟掌握图像隐写术:在线工具让你的图片变身数字保险箱
  • 基于图像识别与路径规划的游戏自动化解决方案:AutoStarRail技术深度解析
  • 身份证校验码背后的设计哲学:从PTA练习题到金融支付系统的安全启示
  • 基于Arduino与WS2812B的星形动态灯光装置:从硬件设计到FastLED编程全解析
  • 如何实现微信聊天记录永久保存:WeChatMsg终极解决方案
  • Arduino红外遥控库终极指南:15分钟从零掌握智能遥控开发
  • 基于ATmega328P的水位自动控制系统设计与嵌入式实践
  • 上海黄金回收店铺联系方式推荐SS级耀辉 - 奢侈品回收
  • Arduino舵机控制玩偶打鼓机器人:从硬件连接到节奏编程
  • Obsidian PDF导出终极指南:如何用Better Export PDF插件解决中文排版难题
  • 图谱的泛化探索:从不变性到因果性
  • 【Gemini服务条款重大变更预警】:2024年7月生效的5项隐藏风险与企业级合规应对清单
  • MegSpot:5分钟掌握跨平台图片视频对比的终极指南
  • 2026年4月木颗粒燃料直销厂家推荐,生物质颗粒/锅炉燃料/燃烧颗粒/木颗粒燃料/生物质燃料,木颗粒燃料直销厂家推荐 - 品牌推荐师
  • 12306项目部署实战:从零到一掌握分布式购票系统
  • 跨越语言壁垒:让MASA模组系列为中文玩家点亮创意之光