前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用轻量服务器搭建自己的专属pdf在线压缩网站

用轻量服务器搭建自己的专属pdf在线压缩网站

原创
作者头像
李小飞
修改2021-09-16 10:39:19
1.6K0
修改2021-09-16 10:39:19
举报
文章被收录于专栏:用户7745533的专栏

今天需要压缩一个pdf文件,由于pdf中涉及到了一些个人信息,不想使用在线的网站的压缩。下载了几个离线的压缩工具,大部分居然都需要收费,虽然后来找到了一个免费的工具搞定了这件事,不过想到后面可能还会碰到这样的事情,因此萌生了自己做一个在线压缩pdf的网站的想法。查了下相关资料,看到有一个ghostscript 工具可以来压缩pdf文件,基于这个工具做了一个简单的版本。 具体怎么做的就不说了,最终效果如下图所示。可以看到页面非常的简洁,支持同时上传多个pdf文件,适合个人使用。小伙伴们觉得有用的话,给我的仓库点个star吧。https://github.com/lixiaofei123/pdfcompress

在线压缩pdf
在线压缩pdf

下面讲一下怎么在腾讯云轻量服务器部署这个在线pdf压缩网站,有兴趣的小伙伴可以玩一下

购买腾讯云轻量服务器

既然要在轻量服务器上部署,那么就需要先购买一个轻量服务器。现在轻量服务器在做活动,2核4G的配置一年只需要74元,详情可以点击这个链接了解。如下图所示,点击购买即可

秒杀页面
秒杀页面

然后选择【地域】和【镜像】,地域的话选择距离自己最近的地域,我们后面要使用Docker进行安装,因此这里直接选择【Docker基础镜像】,下面系统可以选一个自己熟悉的,如果无所谓的话,就保持默认好了。

然后提交订单并付款,稍等一会,我们的轻量服务器实例就创建成功了。为了方便操作,需要用终端来连接服务器,这个涉及到一些配置,官方文档讲的很清楚,可以自己看着操作一下。后面的步骤默认在终端上操作。

启动Docker容器

购买了轻量服务器以后,就可以启动docker容器了。启动命令也很简单,只需要一行即可

代码语言:txt
复制
docker run -d --name pdfcompress  \ 
    --restart=always -p 8082:8082  \ 
   -v /data/pdfcompress/input:/opt/pdfcompress/input  \ 
  -v /data/pdfcompress/output:/opt/pdfcompress/output \
   mrlee326/pdfcompress

其中/opt/pdfcompress/input是用来放置用户上传文件的目录,/opt/pdfcompress/output是用来放转换后的文件的目录,建议将其挂载在宿主机上,这样就方便后面清理文件了。有能力的话,可以自己写一个定时脚本来清理过期的文件。

启动完毕后,就可以通过浏览器来访问我们的pdf在线压缩网站了。目前提供了三个选项【高质量】、【中质量】、【低质量】,分别对应ghostscript的prepress、ebook、screen。

在线压缩pdf
在线压缩pdf

如果想要https证书的话,可以使用acme-companion容器来进行证书的自动颁发。这个操作起来也很简单。只需要额外启动两个容器即可

代码语言:txt
复制
docker run --detach \
    --name nginx-proxy \
    --publish 80:80 \
    --publish 443:443 \
    --volume certs:/etc/nginx/certs \
    --volume vhost:/etc/nginx/vhost.d \
    --volume html:/usr/share/nginx/html \
    --volume /var/run/docker.sock:/tmp/docker.sock:ro \
    nginxproxy/nginx-proxy
代码语言:txt
复制
 docker run --detach \
    --name nginx-proxy-acme \
    --volumes-from nginx-proxy \
    --volume /var/run/docker.sock:/var/run/docker.sock:ro \
    --volume acme:/etc/acme.sh \
    --env "DEFAULT_EMAIL=mail@yourdomain.tld" \
    nginxproxy/acme-companion

最后启动pdfcompress。注意多了几个环境变量VIRTUAL_HOST、VIRTUAL_PORT、ETSENCRYPT_HOST,同时需要提前将pdf.bar.foo解析到轻量服务器的ip上。

代码语言:txt
复制
docker run --detach \
    --restart=always --name pdfcompress \
    -v /data/pdfcompress/input:/opt/pdfcompress/input \
    -v  /data/pdfcompress/output:/opt/pdfcompress/output \
    --env "VIRTUAL_HOST=pdf.bar.foo"  \
    --env "VIRTUAL_PORT=8082"   \
    --env "LETSENCRYPT_HOST=pdf.bar.foo" \
    mrlee326/pdfcompress

然后通过浏览器访问https://pdf.bar.foo,就可以看到绿色的小锁了,表示我们的网站是安全的了。

总结

通过上面的过程,我们就有了一个属于自己的在线pdf压缩网站,这样也不用担心自己的个人信息被别人保存,同时更换电脑的话也不需要重新安装软件。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 购买腾讯云轻量服务器
  • 启动Docker容器
  • 总结
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档