【Linux】如何使用docker快速部署Stirling-PDF并实现远程处理本地文档

文章目录

    • 前言
    • [1. 安装Docker](#1. 安装Docker)
    • [2. 本地安装部署StirlingPDF](#2. 本地安装部署StirlingPDF)
    • [3. Stirling-PDF功能介绍](#3. Stirling-PDF功能介绍)
    • [4. 安装cpolar内网穿透](#4. 安装cpolar内网穿透)
    • [5. 固定Stirling-PDF公网地址](#5. 固定Stirling-PDF公网地址)

前言

本篇文章我们将在Linux上使用Docker在本地部署一个开源的PDF工具------Stirling PDF,并且结合cpolar的内网穿透实现公网随时随地访问。

Stirling PDF一个强大的本地托管的基于Web的PDF操作工具,使用Docker,允许您对PDF文件执行各种操作,如分割、合并、转换、重组、添加图片、旋转、压缩等。这个本地托管的Web应用程序最初是一个100%由ChatGPT制作的应用程序,现在已经发展到包含了一系列的功能,以满足您所有的PDF需求。

1. 安装Docker

本文演示环境:CentOS7,Xshell7远程ssh

没有安装Docker的小伙伴需安装Docker,已有Docker可跳过以下步骤。

如没有安装Docker,需先安装Docker:

  • 安装软件包(提供实用程序)并设置存储库

    shell 复制代码
    $ sudo yum install -y yum-utils
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    安装Docker引擎

    shell 复制代码
    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    启动Docker

    sudo systemctl start docker
    

    通过运行映像来验证 Docker 引擎安装是否成功

    shell 复制代码
    sudo docker run hello-world

2. 本地安装部署StirlingPDF

检查Docker服务是否正常运行

shell 复制代码
systemctl status docker

检查Docker版本

shell 复制代码
docker -v

检查Docker compose版本

shell 复制代码
docker compose version

在docker hub下载Stirling-PDF镜像

shell 复制代码
docker pull frooodle/s-pdf:latest

使用docker-cli快速创建Stirling-PDF容器

检查Stirling-PDF容器状态状态,确保Stirling-PDF容器正常启动

shell 复制代码
docker ps

检查Stirling-PDF容器日志,确保Stirling-PDF服务正常运行

shell 复制代码
docker logs stirling-pdf

PS:如果拉取不到镜像,可以在终端执行 nano /etc/docker/daemon.json

输入:

{

"registry-mirrors": [

"https://do.nark.eu.org",

"https://dc.j8.work",

"https://docker.m.daocloud.io",

"https://dockerproxy.com",

"https://docker.mirrors.ustc.edu.cn",

"https://docker.nju.edu.cn"

]

}

保存退出

然后执行:systemctl restart docker

本地访问地址:192.168.149.143:8380,将IP替换为自己服务器IP地址

语言切换:点击"地球"形状小图标,点击简体中文即可

3. Stirling-PDF功能介绍

Stirling-PDF还有很多功能,比如:合并/拆分/旋转/移动PDF及其页面的完全交互式GUI、将多个 PDF 合并到一个生成的文件中、将 PDF 拆分为多个文件,并按指定的页码或将所有页面提取为单个文件、将PDF转换为Word/Powerpoint/Others等,接下来举两个常用功能。

将word文档转换为PDF文档

点击菜单栏中的转换模块,选择将"将文件转换为PDF文件"选项。

添加水印功能

安全------添加水印,填写水印内容,确认即可

我们就成功在本地搭建了Stirling-PDF,但如果想实现出门在外,或者直接把这个功能分享给身边人,省去本地部署的步骤,并且也能随时随地使用Stirling-PDF进行异地工作就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现Stirling-PDF的公网访问!

4. 安装cpolar内网穿透

下面是安装cpolar步骤:

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
shell 复制代码
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
shell 复制代码
sudo systemctl enable cpolar
  • 启动cpolar服务
shell 复制代码
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。

接下来配置一下Stirling-PDF的公网地址,

登录后,点击左侧仪表盘的隧道管理------创建隧道,

创建一个Stirling-PDF的公网http地址隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:8380(本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

隧道创建成功后,点击左侧的状态------在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到Striling-PDF界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可到公网进行远程访问了!

小结

如果我们需要长期异地远程访问Stirling-PDF,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来访问Stirling-PDF,我们可以选择创建一个固定的http地址来解决这个问题。

5. 固定Stirling-PDF公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留成功的二级子域名的名称

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地进行异地访问Stirling-PDF!

相关推荐
F-2H13 分钟前
C语言:指针4(常量指针和指针常量及动态内存分配)
java·linux·c语言·开发语言·前端·c++
aherhuo16 分钟前
基于openEuler22.09部署OpenStack Yoga云平台(一)
linux·运维·服务器·openstack
老大白菜41 分钟前
Windows 11 安装 Dify 完整指南 非docker环境
windows·docker·容器
檀越剑指大厂43 分钟前
【Linux系列】Shell 脚本中的条件判断:`[ ]`与`[[ ]]`的比较
linux·运维·服务器
2301_819287123 小时前
ce第六次作业
linux·运维·服务器·网络
武汉联从信息3 小时前
如何使用linux日志管理工具来管理oracle osb服务器日志文件?
linux·运维·服务器
Aileen_0v03 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
VinciYan4 小时前
基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署
python·ubuntu·docker·自动化·jenkins·.net·运维开发
州周4 小时前
Ftp目录整个下载
linux·服务器·数据库
Jackey_Song_Odd4 小时前
Ubuntu 24.04.1 解决部分中文字符(门、径)显示错误的问题
linux·ubuntu