Linux本地部署开源AI的PDF工具—Stirling PDF并实现公网随时访问

文章目录

    • 1. 安装Docker
    • 2. 本地安装部署StirlingPDF
    • 3. Stirling-PDF功能介绍
    • 4. 安装cpolar内网穿透
    • 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:

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

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

    安装Docker引擎

    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

    启动Docker

    sudo systemctl start docker
    

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

    sudo docker run hello-world
    

2. 本地安装部署StirlingPDF

检查Docker服务是否正常运行

systemctl status docker

检查Docker版本

docker -v

检查Docker compose版本

docker compose version

在docker hub下载Stirling-PDF镜像

docker pull   frooodle/s-pdf:latest

image-20240312222816334

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

image-20240312222947052

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

docker ps

image-20240312223151827

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

docker logs stirling-pdf

image-20240312223535039

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

image-20240312223813221

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

image-20240312224347941

image-20240312224451561

3. Stirling-PDF功能介绍

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

将word文档转换为PDF文档

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

image-20240312224939935

image-20240312225137499

添加水印功能

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

image-20240312225352581

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

4. 安装cpolar内网穿透

下面是安装cpolar步骤:

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

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

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

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

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

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

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

image-20240312231347241

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

image-20240312231502581

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

image-20240312231654447

小结

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

5. 固定Stirling-PDF公网地址

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

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

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

image-20240312231950575

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

image-20240312232024660

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

image-20240312232115628

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

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

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

image-20240312232230342

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

image-20240312232337457

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

image-20240312232450992

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/539371.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BBS模型层搭建

BBS模型层搭建 目录 BBS模型层搭建建表思想配置文件模型层User应用:Blog应用:Article应用: 建表思想 配置文件 settings.py: # 默认用户模型指定 AUTH_USER_MODEL User.Userinfo底部添加即可,用于替换默认的Abstrac…

PyCharm创建一个简单的Django项目

1.Django简介 Django 是一个开放源代码的 Web 应用程序框架,由 Python 编写而成。它遵循 MVC(模型-视图-控制器)的软件设计模式,采用了 MTV(模型-模板-视图)的架构。Django 的设计目标是使开发复杂的、数据…

Ultra Fast Structure-aware Deep Lane Detection的训练实战

Ultra Fast Structure-aware Deep Lane Detection的训练实战 1、模型介绍 论文 知乎 代码 CULane数据集简介 2、基于CULane数据集格式的训练 2.1、video to img import glob import os import cv2# --------视频转图像----------------------------------------- def vide…

Self-supervised Contextual Keyword and Keyphrase Retrieval with Self-Labelling

文章目录 题目摘要方法数据集实验 题目 通过自我标记进行自我监督的上下文关键字和关键词短语检索 论文地址:https://www.preprints.org/manuscript/201908.0073/v1 项目地址:https://github.com/naister/Keyword-OpenSource-Data 摘要 在本文中&#x…

最新的yolov9,目标检测使用教程

1.克隆仓库,仓库地址: https://github.com/WongKinYiu/yolov9/tree/main 百度盘地址:https://pan.baidu.com/s/15v7XJIMDFG3XHJXfFs6ZDA 密码:1234 除了这两个模型,另外三个模型有问题...,下载ce模型即可 …

openGauss学习笔记-242 openGauss性能调优-SQL调优-典型SQL调优点-SQL自诊断

文章目录 openGauss学习笔记-242 openGauss性能调优-SQL调优-典型SQL调优点-SQL自诊断242.1 SQL自诊断242.1.1 告警场景242.1.2 规格约束 openGauss学习笔记-242 openGauss性能调优-SQL调优-典型SQL调优点-SQL自诊断 SQL调优是一个不断分析与尝试的过程:试跑Query&…

设计模式在业务中的实践

一、前言 随着美团外卖业务的不断迭代与发展,外卖用户数量也在高速地增长。在这个过程中,外卖营销发挥了“中流砥柱”的作用,因为用户的快速增长离不开高效的营销策略。而由于市场环境和业务环境的多变,营销策略往往是复杂多变的…

Qt多线程问题3:基于线程同步实现生产者消费者模型

之前自己写了一个收数据的功能,但是没有数据的时候就要不停监听,那监听多久合适呢?1ms ?10 ms ? 100ms?但是你也不确定数据什么时候来,那么就可以使用经典的生产者消费者模型。这次的实验中我参考了人民邮…

CentOS7.9 Nginx + EMQX集群组建 MQTTS平台

前面我们有介绍过单机版EMQX的安装 CentOS7 安装 EMQX(MQTT),今天我们来讲一下实际项目里用的到MQTTS平台。 一、EMQX单机配置 简单部署两个节点,修改对应配置文件 (/usr/local/emqx/etc/emqx.conf) 中的node内容: nam…

sqllab第十八关通关笔记

知识点: UA注入 不进行url解析,不能使用 %20 编码等操作出现在User-agent字段中一般为insert语句 insert 表名(字段1,字段2,。。。) values(数据1,数据2,。。。) 通过admin admin进行登录发现页面打印出了…

【投稿优惠-EI稳定检索】2024年图像处理与机械系统工程国际学术会议 (ICIPMSE 2024)

【投稿优惠-EI稳定检索】2024年图像处理与机械系统工程国际学术会议 (ICIPMSE 2024) 大会主题: (主题包括但不限于, 更多主题请咨询会务组苏老师) 图像处理 基于图像的渲染 计算机视觉 可视化分析 模式识别 3D打印 渲染和动画 渲染技术 电脑动画 基于草图的建模 机械…

Spring boot创建第一个项目

作者简介: zoro-1,目前大二,正在学习Java,数据结构,spring等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 Spring boot创建第一个项目 sp…