快速搭建一个下载站:详解Linux上部署h5ai实现目录映射 | 您所在的位置:网站首页 › 软件搭建平台怎么做 › 快速搭建一个下载站:详解Linux上部署h5ai实现目录映射 |
作者:Mintimate 博客:https://www.mintimate.cn Mintimate's Blog,只为与你分享 封面嗷H5AIH5AI,其实全称是:HTML5 Apache Index。最初是用来在Apache Web服务器上,完成资源映射,但是后来适配到Nginx等其他平台。使用H5AI的效果: 在树莓派上搭建特点其实,Nginx自带的autoindex可以满足绝大多数人的需求,使用autoindex配合fancyindex模块,可以满足: 文件搜索文件目录自动映射而使用h5ai,因为加上了PHP,可以在Nginx自带的autoindex上,新增: 更强大的文件搜索文件地址二维码生成多文件合并下载图片缩略图生成图片、视频在线浏览使用场景使用场景就很丰富了, 1. 内网使用内网设备上使用,以树莓派为例:配合Aria2,就是一个不错的下载器,甚至可以说是一个小型的NAS。 2. 公网使用公网设备上使用,以服务器为例。使用DNS解析二级或者是三级域名到Linux服务器上,用Nginx对域名进行分配,你可以随时分享服务器上的文件给你的朋友;当然,也可以作为离线下载(下载文件到服务器,使其解放本地资源,如:迅雷离线下载)后,回传本地的一种方式。 我现在就用腾讯云轻量应用服务器,作为自己的离线下载器。甚至用出了NAS的感觉~ 安装前提在Linux上,需要: NginxPHP7+本次教程,我就使用腾讯云轻量应用服务器进行演示。使用Debian系统: 使用Debian这样的轻量应用服务器,又多了新的功能~ PHP模块其中,PHP需要扩展模块: EXIFGDPHP需要的模块Linux 依赖包Linux需要工具包: JPEGzipffmpegconvertimagemagick宝塔搭建上次我发布投票,发现很多人的LEMP都是使用宝塔配置的,所以我这里也讲讲宝塔搭建的方法。 1. Nginx&PHP我们到宝塔的软件商店,下载PHP和Nginx,编译安装或者快速安装都可以,但是需要注意PHP的版本: 安装PHP和Nginx注意:安装PHP,需要2G以上的内存,如果你的服务器小于2G内存,可能安装不上(但是你可以通过增加swap以满足安装需求) 并允许使用putenv函数: putenv函数2. 创建网站之后,我们点击网站--添加站点,按提示添加: 添加站点因为,h5ai的目录映射逻辑是: 代码语言:txt复制网站根目录 ├─ _h5ai ├─ 你的其他文件1 └─ 你的其他文件1所以,上传h5ai文件到网站根目录,并解压: 解压后效果这个时候,我们就可以通过刚刚设置的域名(或IP)进行访问了: 访问“自检”如果你使用的是腾讯云轻量应用服务器的Debian,应该只有最后几项没过: 最后几项别急,我们下面来解决。 3. 修复依赖现在我们来修复依赖,首先是EXIF extension。我们使用宝塔自带的PHP工具,帮助我们动态编译: 动态编译EXIF安装了以后,不要忘记PHP的重载配置: 重载配置接下来几项,我们到Shell内操作: 腾讯云Web Shell挺方便的依此安装: 代码语言:txt复制# 安装FFmpeg库 sudo apt install ffmpeg # 安装convert库(imagemagick提供) sudo apt install imagemagick # 安装tar库 sudo apt install tar # 安装zip库 sudo apt install zip # 安装du库(coreutils提供) sudo apt install coreutils安装完成后,如果你的h5ai自检还是有问题,在到宝塔面板内,删除exec函数的禁用(方法和删除putenv函数禁用一样) 完成上述步骤,自检就全部通过了: h5ai自检4. 更改Nginx配置最后一步,就是修改网站配置文件,在宝塔内,选择网站-点击网站-配置文件,更改并添加/_h5ai/public/index.php到index内: 配置文件保存后,即可访问: 访问5. 个性化更改个性化设置,包括: 显示文件二维码设置网站语言设置多文件打包下载这个我们另外在后文起个大标题讲讲。 手动编译如果你的服务器,安装宝塔有困难,或者不想安装宝塔,这里我教大家手动编译Nginx和PHP,并配置h5ai。 0. 编译Jpeg libh5ai需要gd依赖,且gd需要指向前置jpeg依赖情况下,才可以满足条件: 所以,我们先编译一下jpg支持包: 依赖包在Linux上编译安装: 代码语言:txt复制wget 'https://www.ijg.org/files/jpegsrc.v9d.tar.gz' tar -xf jpegsrc.v9d.tar.gz cd jpeg-9d/下载源码之后进行配置即可: 代码语言:txt复制./configure --prefix=/usr/jpeg没问题后,进行安装: 代码语言:txt复制make && make install1. 编译Nginx和PHP已经在一篇文章、三种方法在Debian上轻松安装Nginx内讲过Nginx的编译部署,本次教程就不再赘述,直接开始编译PHP7.4。 首先是下载PHP7.4的源码,我们进入PHP的官网,可以找到下载地址,在Shell内,用wget进行下载: 代码语言:txt复制wget 'https://www.php.net/distributions/php-7.4.22.tar.gz'之后,使用tar命令,对其解压并进入解压后的目录: 代码语言:txt复制tar -xf php-7.4.22.tar.gz cd php-7.4.22/进入目录需要模块: FPM:用来和Nginx配合交互with-jpg:gd前置,刚刚步骤0所编译gd:h5ai依赖exif:h5ai依赖所以编译过程中需要添加: 代码语言:txt复制--enable-fpm --enable-exif --with-jpeg=/usr/jepg --enable-gd注意:--with-jpeg=/usr/jepg指向刚刚编译出来的目录;如果你PHP版本 |
CopyRight 2018-2019 实验室设备网 版权所有 |