Skip to content

Linux 服务部署手册

1. 概述

1.1 部署方案

嘟哩私有化部署基于 Docker 构建,每个服务都会打包为独立镜像。

在线部署时,可通过一行命令自动下载依赖并完成安装。

离线部署时,可先下载镜像包后再按客户环境配置并初始化数据。

1.2 部署方式

名称描述
本地部署客户自行购买服务器,并架设到企业自己的机房中。
云部署客户在云计算服务提供方购买服务器。

1.3 部署架构

名称描述用户规模(参考值)服务器数量
单节点部署一般部署到一台物理服务器上0-200 人1 台
分离式部署内外网分离:消息服务、云盘服务、邮箱服务分开部署100-999 人3 台

2. 环境准备

2.1 服务器配置

2.1.1 体验版配置

用户数CPU内存硬盘
100 人以内4 核12G60GB

2.1.2 正式版配置

用户数CPU内存硬盘
0-20024 核+64G+1TB+

2.2 操作系统及软件

名称版本备注
操作系统CentOS 7.9建议使用纯净操作系统,否则可能导致端口无法正常启动,安装脚本异常结束。

2.3 网络环境及要求

名称端口备注
代理端口/项目端口/服务端口33069001-901810001-100028085/1808512321-1232219001-190181. 本机防火墙需放行以上端口。
2. 如需手机等设备外网访问,请按 TCP 进行端口映射。
3. 使用云服务器时,请同时放行安全组规则。
4. - 表示端口范围,/ 表示并列端口。
5. 19001-19018 仅用于内网访问时可不开放公网。

3. 安装部署

采用 Docker 方式安装部署。Linux 下执行一键部署命令,预计 12 分钟完成。

3.1 Docker 安装

嘟哩安装脚本会自动安装 Docker。若对 Docker 版本有特殊要求,可自行按 Docker 官方文档安装。

3.2 服务安装

准备工作完成后,先检查基础环境。部署方式分为在线部署与离线部署。

名称描述备注
在线部署方式通过脚本从外网下载服务端安装包,并在脚本内自动配置与部署。1. 外网可达。
2. Yum 源可用。
3. 无端口冲突。

3.2.1 检查安装环境

bash
# 系统检查
cat /etc/redhat-release

# 内存检查
free -m

# CPU 检查
cat /proc/cpuinfo | awk '/processor/' | wc -l

# 硬盘检查
df -h

3.2.2 单节点部署

一行命令自动下载依赖并完成安装:

bash
cd /opt/ && echo yes | /bin/bash -c "$(curl -fsSL https://ops.duliduli.com/Linux/download/Single_Node_Deployment/v1.0.1/install.sh )"

开始初始化系统参数:

开始部署单节点所需服务与项目:

脚本安装过程中会自动下载服务端安装包:

安装包下载后,脚本会安装 Docker 并分配 Docker 虚拟 IP,然后连接镜像仓库:

Docker 安装完成后会拉取服务容器(镜像较大,请耐心等待):

相关镜像拉取完成后,会优先启动服务镜像并初始化 MySQL 数据库:

随后继续拉取服务端镜像:

安装完成后终端会输出嘟哩相关地址:

查看容器(docker ps):

登录管理后台后,按流程申请授权并激活服务。

3.2.3 卸载重装

bash
# 删除 Docker 容器资源。
# 若存在嘟哩容器外的容器,请手动甄别,避免误删。
# 注意:重装命令会清理历史嘟哩数据,请确认后执行。
docker stop $(docker ps | egrep -i duli | awk '{print $NF}')
docker rm -f $(docker ps -aq)
docker rmi -f $(docker images | egrep -i duli | awk '{print $3}')
docker network ls | egrep compose | awk '{print $1}' | xargs docker network rm
rm -rf /opt/dldl-installer-*
rm -f ~/quick-install.sh
clear
cd /opt/ && echo yes | /bin/bash -c "$(curl -fsSL https://ops.duliduli.com/Linux/download/Single_Node_Deployment/v1.0.1/install.sh )"

3.3 版本更新

3.3.1 单节点更新

bash
# 进入脚本根目录
cd /opt/dldl-installer-v1.0.1

# 执行更新命令
sh quick-install.sh update

脚本会自动获取官方版本号并提示,输入目标版本后回车即可自动更新。

更新后可看到版本已升级到目标版本(示例:v1.0.2)。

3.4 服务与镜像

安装完成后会有以下服务:

容器名容器镜像说明
DuliApache192.168.168.241/duliimages/duliapache代理服务
DuliMysql192.168.168.241/duliimages/dulimysql数据库
DuliRedis192.168.168.241/duliimages/duliredis缓存服务
DuliHBase192.168.168.241/duliimages/dulihbase消息数据库
DuliGoFast192.168.168.241/duliimages/duligofast文件服务
Duli192.168.168.241/duliimages/duli入口、消息、后台、认证服务
DuliWpp192.168.168.241/duliimages/duliwpp云盘服务
DuliMail192.168.168.241/duliimages/dulimail邮箱服务
DuliService192.168.168.241/duliimages/duliservice客服服务
DuliMgmt192.168.168.241/duliimages/dulimgmt工作流服务
DuliYjs192.168.168.241/duliimages/duliyjs文档协同服务

镜像版本可能与示例不同。

3.4.1 服务管理

bash
docker [start|stop|restart] 容器名

3.4.2 服务日志

bash
docker logs -f 容器名
类型服务名称标识名当天日志历史日志
安装脚本安装脚本安装脚本/var/log/duliduli/duliduli.log-
嘟哩项目网盘服务DuliWpplogs/DuliWpp/DuliWpp.outlogs/DuliWpp/DuliWpp.out-20240715.gz
嘟哩项目邮箱服务DuliMaillogs/DuliMail/DuliMail.outlogs/DuliMail/DuliMail.out-20240715.gz
嘟哩项目工作流服务DuliMgmtlogs/DuliMgmt/DuliMgmt.outlogs/DuliMgmt/DuliMgmt.out-20240715.gz
嘟哩项目客服服务DuliServicelogs/DuliService/DuliService.outlogs/DuliService/DuliService.out-20240715.gz
嘟哩项目消息服务DuliFrontlogs/DuliFront/DuliFront.outlogs/DuliFront/DuliFront.out-20240715.gz
嘟哩项目后台服务DuliBackendlogs/DuliBackend/DuliBackend.outlogs/DuliBackend/DuliBackend.out-20240715.gz
嘟哩项目入口服务DuliRoutelogs/DuliRoute/DuliRoute.loglogs/DuliRoute/7z/2024-07/2024-07-13-1.DuliRoute.gz
嘟哩项目认证服务DuliAuthlogs/DuliAuth/DuliAuth.outlogs/DuliAuth/DuliAuth.out-20240715.gz
服务代理服务DuliApachelogs/DuliApache/access.loglogs/DuliApache/log/access.log-20240714.gz
服务数据库DuliMysqllogs/DuliMysql/logs/mysqld.log-
服务消息数据库DuliHBaselogs/DuliHBase/hbase-root-master-hbase-server.log-
服务文件服务DuliGoFastlogs/DuliGoFast/log/fileserver.log-

3.4.3 端口信息

类型服务端服务/项目代理端口项目端口
嘟哩代理代理服务DuliApache80/44380/443
嘟哩数据库数据库DuliMysql33063306
嘟哩数据库缓存服务DuliRedis7001-70067001-7006
嘟哩数据库消息数据库DuliZookeeper21812181
嘟哩数据库消息数据库DuliHadoop5001050010
嘟哩数据库消息数据库DuliHBase1601016010
嘟哩文件服务文件服务DuliGoFast190019001
嘟哩入口服务DuliRoute190029002
嘟哩消息服务DuliFront190039003
嘟哩后台服务DuliBackend190059005
嘟哩认证服务DuliAuth190069006
嘟哩DuliRoute SocketstreamPort Socket290029002
嘟哩DuliFront SocketwsPort Socket190099009
嘟哩DuliFront SocketnettyPort Socket190109010
嘟哩DuliFront SocketandroidPort Socket190119011
嘟哩DuliFront SocketnatcrossPort WsSocket190129012
嘟哩DuliFront SocketnatcrossTransferPort WsSocket190159015
嘟哩网盘云盘服务ClooudDisk190149014
嘟哩网盘云盘服务Disk Socket290149014
嘟哩网盘云盘服务uploadPort190049004
嘟哩在线协作文档协同服务yjs122342234
嘟哩邮箱邮箱服务DuliMail190179017
嘟哩客服客服服务DuliService190079007
嘟哩客服DuliService ClientDuliService Client190089008
嘟哩工作流工作流服务DuliMgmt190189018
嘟哩在线预览在线预览服务openoffice180858085

3.5 数据维护

所有服务数据映射在本机 /app 目录(安装目录内)下。

目录说明
/opt/dldl-installer-v1.0.1服务安装根路径
quick-install.sh服务端管理主脚本
soft服务端安装压缩包
scripts子脚本
conf地址、端口、数据库配置参数
compose项目、服务 compose 启动文件
log项目、服务日志存放目录
data项目、服务数据存放目录
data/DuliDataBackupHBase、Hadoop 备份路径
data/DuliApache/certSSL 证书路径

3.5.1 HBase 维护

bash
docker exec -it DuliHBase sh -c "hbase shell"

示例:查看 HBase 表

bash
docker exec -it DuliHBase sh -c "echo 'list' | hbase shell"

数据备份脚本:

bash
# 快照备份 1 天数据
docker exec -it DuliHBase sh -c 'sh /opt/hbase_backup.sh SnapExport 1'

# 物理备份 1 天数据
docker exec -it DuliHBase sh -c 'sh /opt/hbase_backup.sh Export 1'

3.5.2 MySQL 维护

bash
docker exec -ti DuliMysql sh -c 'mysql -h${MysqlAddress} -uroot -P${MysqlPort}'

手动备份:

bash
docker exec -ti DuliMysql sh -c 'mysqldump -uroot -h"$MysqlAddress" -P"$MysqlPort" --all-databases -ER' > /路径/备份文件

脚本备份:

bash
# 进入嘟哩安装目录
cd /opt/dldl-installer-v1.0.1

# 加载环境变量
. quick-install.sh

# 执行备份脚本
sh scripts/mysql.sh Export

4. 域名配置

4.1 HTTPS 协议变更

4.1.1 环境准备

域名(单个)证书文件私钥文件
一级/二级域名CRT 或 PEM 格式KEY 格式

示例配置:

域名证书文件私钥文件
example.comcert.crtcert.key

4.1.2 SSL 配置修改

修改协议前请先备份相关文件,避免配置失误导致服务不可用。

进入安装目录:

bash
cd /opt/dldl-installer-v1.0.1

上传证书:

bash
# 可使用 sftp 上传证书,或使用 rz 命令
# 安装 rz:
yum install -y lrzsz

# 拷贝证书到 nginx 的 cert 目录
cp cert.crt cert.key data/DuliApache/cert/

执行 HTTPS 启用脚本:

bash
sh scripts/enable_nginx_https.sh

选择启用 HTTPS(输入 1):

输入准备好的域名:

5. 开始体验

5.1 访问管理后台

text
https://example.com:9005/html/login.html

5.2 授权激活

嘟哩官网注册并完成企业认证后,可获取免费版 License 文件。

购买企业版或 VIP 版后,按机器码获取 License 文件并导入。

导入 License 需联网校验,请确保可访问 duliduli.com 域名。

6. 客户端下载

嘟哩支持 Mac、Windows、iOS、Android 四大平台客户端。

可从官网下载安装包(Android 与 iOS 建议从应用商店搜索“嘟哩”安装)。

  1. 复制 嘟哩管理地址.txt 中的 IP 与端口(如配置域名外网访问则填写域名与端口),并配置到客户端。

  1. 同意协议后点击登录(账号可在管理后台创建;若已对接短信服务,也可在客户端自行注册)。

登录完成后即可使用嘟哩。

7. 常用命令

7.1 容器与镜像查看

bash
docker ps
docker images

7.2 容器启停

bash
docker start ImagesName
# 或
sh quick-install.sh start ImagesName
bash
docker stop ImagesName
# 或
sh quick-install.sh stop ImagesName
bash
docker restart ImagesName
# 或
sh quick-install.sh restart ImagesName

7.3 重载服务配置

bash
. quick-install.sh
docker-compose -f compose/docker-compose-service.yml create ServerName
# 或
sh quick-install.sh create ImagesName

7.4 配置变更示例

bash
# 1. 进入安装根目录
cd /opt/dldl-installer-v1.0.1

# 2. 获取环境变量
. quick-install.sh

# 3. 编辑 compose 文件
vim compose/docker-compose-service.yml

# 4. 添加配置参数
# 例如:为代理服务增加 9004:9004 端口映射

# 5. 重载代理服务配置
docker-compose -f compose/docker-compose-service.yml create DuliApache
# 或
sh quick-install.sh create DuliApache

# 6. 重启该服务
docker restart DuliApache
# 或
sh quick-install.sh restart DuliApache

7.5 进入常用服务

进入 HBase:

bash
. quick-install.sh
docker exec -it DuliHBase sh -c "hbase shell"

进入 Redis:

bash
. quick-install.sh
docker exec -it DuliRedis sh -c "redis-cli -h \"$RedisAddress\" -a \"$REDIS_PASSWORD\" -p 7001"

嘟哩帮助中心