kkfileview搭建实战
kkfileview可以与nginx搭建的文件服务器配合实现预览工作,也可以通过自身的文件系统机制免搭建nginx文件服务器来实现预览工作。
nginx
创建nginx
# 创建初始容器,获得容器内部文件
docker run -d -p 80:80 --name fileNginx --restart=always -v nginxconf:/etc/nginx -v nginxhtml:/usr/share/nginx/html -v nginxlog:/var/log/nginx nginx:1.21 mkdir -p /home/nginx/html/files/ mkdir -p /home/nginx/conf/ mkdir -p /home/nginx/log/ cp -r /var/lib/docker/volumes/nginxconf/_data/. /home/nginx/conf/
cp -r /var/lib/docker/volumes/nginxhtml/_data/. /home/nginx/html/
cp -r /var/lib/docker/volumes/nginxlog/_data/. /home/nginx/log/ docker stop fileNginx
docker rm fileNginx
docker volume rm nginxconf
docker volume rm nginxhtml
docker volume rm nginxlog
配置nginx为文件系统
修改宿主机的/home/nginx/conf/conf.d/default.conf文件,内容如下:
server {
listen 80;
server_name localhost;
#防止乱码,需要加上编码
#charset utf-8;
#路由规则
#如果想把nginx作为下载服务器,则改为系统目录地址
#比如下面这样,(1)当访问主页时,打开的是本地的/data/upload/file目录
location / {
root /usr/share/nginx/html/files;
autoindex on; #开启索引功能
autoindex_exact_size off; #关闭计算文件确切大小(单位bytes),
#只显示大概大小(单位kb、mb、gb)
charset 'utf-8'; #防止乱码,需要加上编码
autoindex_localtime on; #显示本机时间而非 GMT 时间
}
#location /file/ {
#root /data/icp/upload/;
#charset 'utf-8';
#autoindex on;
#}
}
重新开启nginx服务
docker run -d -p 80:80 --name fileNginx --restart=always -v nginxconf:/etc/nginx -v nginxhtml:/usr/share/nginx/html -v nginxlog:/var/log/nginx nginx:1.21
先就可以在/home/nginx/html/files/目录中上传需要预览的文件了。
kkfileview
执行以下命令即可搭建成功。
docker run -d -p 8012:8012 -v kkFileView:/opt/kkFileView-4.1.0 --name kkfileview keking/kkfileview:4.1.0 cp -r /var/lib/docker/volumes/kkFileView/_data/. /home/kkFileView/ docker stop kkfileview
docker rm kkfileview
docker volume rm kkFileView mkdir -p /home/kkFileView docker run -d -p 8012:8012 -v /home/kkFileView:/opt/kkFileView-4.1.0 --name kkfileview --restart=always keking/kkfileview:4.1.0
文件预览链接转换
nginx方式
1.将要预览的文件上传到/home/nginx/html/files/目录下。
2.用浏览器访问nginx文件服务器获取文件的链接。
3.浏览器访问kkfileview页面,在文件下载地址中输入文件的链接,点击预览即可生成预览链接。
不使用nginx方式
kkFileView不使用nginx,也可以通过自身的机制访问文件。
mkdir -p /home/kkFileView/file/files/
将文件放入上边创建的目录中,即可直接访问,访问地址为:kkFileView的访问地址:ip:8012/files/文件名
将此地址放入文件下载地址,点击预览即可生成预览链接。
kkfileview搭建实战的更多相关文章
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-05 服务注册和发现Eureka Server搭建实战
笔记 5.服务注册和发现Eureka Server搭建实战 简介:使用IDEA搭建Eureka服务中心Server端并启动,项目基本骨架介绍 官方文档:http://clou ...
- Elasticsearch数据库 | Elasticsearch-7.5.0应用搭建实战
Elasticsearch 是一个可用于分布式以及符合RESTful 风格的搜索和数据分析引擎.-- Elastic Stack 官网 搭建Elasticsearch的"那些事儿" ...
- Linux-Rsync服务器/客户端搭建实战
一.需求 每晚汇总各机器的操作日志,同步到主服务器进行日志分析. 二.基础知识 rsync 分为服务器端.客户端,服务器端搭建比客户端辛苦一些(也是很简单). rsync 服务器是指以 deamon ...
- Struct2、Hibernate3、Spring3框架搭建实战(转)
采用目前最新的struts-2.3.1.2.hibernate3.6.10.Final.spring-framework-3.1.1.RELEASE开发包,以及eclipse-jee-indigo-S ...
- Nuget私有服务搭建实战
最近更新了Nuget私有服务器的版本,之前是2.8.5,现在是2.11.3. Nuget服务器的搭建,这里有篇很详细的文章,跟着弄就好了: https://docs.microsoft.com/en- ...
- ASP.NET MVC项目框架快速搭建实战
MVC项目搭建笔记---- 项目框架采用ASP.NET MVC+Entity Framwork+Spring.Net等技术搭建,采用”Domain Model as View Model“的MVC开发 ...
- 超详细解说Hadoop伪分布式搭建--实战验证【转】
超详细解说Hadoop伪分布式搭建 原文http://www.tuicool.com/articles/NBvMv2原原文 http://wojiaobaoshanyinong.iteye.com/b ...
- 【HADR】搭建实战
Summary: 简单的HADR,只用一台虚拟机,两个实例间搭建.工作量不大,一般5分钟左右能够完成. 步骤: 1.设定归档模式 2.使用备份建立standby数据库 3.设定hadr相关的参数 4. ...
- Docker竟然还能这么玩?商业级4G代理搭建实战!
时间过得真快,距离这个系列的上一篇文章<商业级4G代理搭建指南[准备篇]>发布的时间已经过了两个星期了,上个星期由于各种琐事缠身,周二开始就没空写文章了,所以就咕咕咕了. 那么在准备篇中, ...
- Hexo+Github个人博客搭建 | 实战经验分享
概述 第一次尝试搭建属于自己的博客,并且成功了,非常开心. 很久之前就想搭建一个博客,可是也一直没有行动,最近在逛B站的时候发现一个up主(CodeSheep)的一个视频 <手把手教你从0开始搭 ...
随机推荐
- uni-app实现公众号登陆实现
公众号实现登陆流程思路: 1. 创建一个页面用于登陆,页面上需要有输入账号和密码的表单,以及登陆按钮.2. 在登陆按钮的点击事件中,调用后端接口进行账号密码校验.如果校验通过,则将后端返回的用户信息保 ...
- typora 目录内添加右键
Typora.reg 这里路径改成自己的 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\sh ...
- vue-router tomcat 下报404 WEB-INF 放入 web.xml 即可
vue-router tomcat 下报404 WEB-INF 放入 web.xml 即可 <?xml version="1.0" encoding="UTF-8& ...
- vue3 如果用ts,导出时候要用 defineComponent,这俩是配对的,为了类型的审查正确
vue3 如果用ts,导出时候要用 defineComponent,这俩是配对的,为了类型的审查正确
- const用法及与constexpr区别总结
1.用const修饰函数的参数 参数是值传递 由于函数将自动产生临时变量复制该参数,该参数无需保护,没必要用const 参数是指针传递或者引用传递 const修饰的指针或引用所指向的值不可变.如果该参 ...
- [bzoj2120]数颜色/维护队列 (分块)
数颜色/维护队列 [做题笔记] 此生第一道不贺题解\(AC\)的分块蓝题!!! 题目描述 墨墨@hs_mo购买了一套 \(N\) 支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨 ...
- opencv-python笔记(1)
openCV笔记 图像 灰度图像 0代表纯黑色,255代表白色(类似亮度) 通道拆分 通过索引拆分: import cv2 lena=cv2.imread("lenacolor.png& ...
- 专访OV季军|毕业转为freelancer,他如何斩获大量CG奖项?
"新锐先锋,玩转未来"--首届实时渲染3D动画创作大赛由瑞云科技主办,英伟达.青椒云.3DCAT实时渲染云协办,戴尔科技集团.Reallusion.英迈.万生华态.D5渲染器.中视 ...
- PDF的分割与合并
1.进行PDF切割 python代码如下: # 20220521 # 1.选择要分割的文件 # 2.选择要保存的位置,分割为多个文件时,可自动用页码命名 # 3.输入要分割的页码,可以是一个范围1-2 ...
- vue核心基础-过渡动画
第一种方法:引入类名 .v-enter{ opacity: 0; } .v-enter-to{ opacity: 1; } .v-leave{ opacity: 1; } .v-leave-to{ o ...