CentOS 编译、打包、部署、运行 kkFileView
起因
别问,问就是业务需要!
在此之前在 Windows 服务器上安装部署过 kkFileView 服务,其实很简单到官网的 Git 库中下载源码,用开发工具(如 IDEA)打开编译打包,再上传到服务器上配置一下就好了。
但是同样的操作,部署到 CentOS 上面就是不行,图片文件可以预览,但 PDF、DOC、DWG 等文件都不能预览。
经过反复琢磨和实验,最终发现需要直接在 CentOS 环境下对 kkFileView 源码进行编译,之后再配置启动就可以了。
问题描述就到这里,下面记录在 CentOS 下 kkFileView 的编译打包过程。
版本
CentOS 7.9
Maven 3.9.6
kkFileView 4.3.0
CentOS 安装配置 Maven
服务环境中已经安装了 Java8 SDK 环境。
在 Maven 官网下载 bin 文件,我这里下载的是 apache-maven-3.9.6-bin.zip。
系统中进入 /usr/local 目录,下载 bin 文件压缩包并解压缩文件,进入apache-maven-3.9.6目录,配置 conf 目录下的 settings.xml 文件。
> cd /usr/local
> wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.zip
> unzip apache-maven-3.9.6-bin.zip
> cd apache-maven-3.9.6
> vi conf/settings.xml
在 settings.xml 文件中添加仓库源配置和JDK版本信息。
仓库源配置
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
JDK版本信息
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
配置环境变量
> vi /etc/profile
# 文件中末尾追加下面的内容
MAVEN_HOME=/usr/local/apache-maven-3.9.6
export PATH=${MAVEN_HOME}/bin:${PATH}
# 重载环境变量
source /etc/profile
验证 Maven
> mvn -v
Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Maven home: /usr/local/apache-maven-3.9.6
Java version: 1.8.0_144, vendor: Oracle Corporation, runtime: /usr/local/java/jdk1.8.0_144/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1127.el7.x86_64", arch: "amd64", family: "unix"
CentOS 编译 kkFileView
下载源码包、解压、进入代码目录
> wget https://codeload.github.com/kekingcn/kkFileView/tar.gz/refs/tags/v4.3.0 -O kkFileView-4.3.0.tar.gz
> tar -xf kkFileView-4.3.0.tar.gz
> cd kkFileView-4.3.0/server
打包
> mvn clean
> mvn package -Dmaven.test.skip=true
kkFileView 配置和启动
编译 kkFileView 之后会在 server 目录下得到一个 target 文件夹,里面有两个压缩包kkFileView-4.3.0.tar.gz
和kkFileView-4.3.0.zip
,kkFileView-4.3.0.tar.gz
是 Linux 使用的,kkFileView-4.3.0.zip
是 Windows 使用的。
解压 kkFileView-4.3.0.tar.gz
文件,在解压后的文件中的 config 目录中编辑 application.properties 文件。
> vi application.properties
# 编辑下面一行,设置为对应的外部网络地址
#######################################可在运行时动态配置#######################################
#提供预览服务的地址,默认从请求url读,如果使用nginx等反向代理,需要手动设置
base.url = http://xxx.xxx.xxx.xxx:8089/preview
配置完成后,来到 bin
目录下,运行 startup.sh
启动 kkFileView 服务。
启动过程中会自动运行 install.sh
来安装 Office 所用到的 LibreOffice
依赖信息。
上传并安装中文字体
在运行 kkFileView 服务后,访问中文的 word 文档是存在乱码的问题,这是因为 Linux 环境中没有中文字体的原因。
kkFileView 官方的Q&A中已经给出了解决方法:
Q:预览乱码
A:乱码问题可能有如下两个原因
字体问题
大部分Linux系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到Linux服务器上,具体操作如下: 下载如下字体包 https://kkfileview.keking.cn/fonts.zip 文件解压完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效
参考
如何打包并部署Linux kkFileView? – cmdSchool
- 0
- 0
-
分享