宝塔面板Nginx编译fancy-index模块 – 实现漂亮的索引目录

nginx还可以当做一个文件共享的使用,索引目录列表提供用户下载文件,这篇文章就来说说,基于宝塔面板的Nginx编译fancy-index模块。

本次测试环境:宝塔面板7.0.3、Nginx1.17.6。需要注意的是,请用编译安装的方式安装宝塔面板的lnmp环境,如果是极速方式安装,那是不好编译的。

如果需要给默认的fancy-index模块安装一个漂亮的主题,请看这篇文章:

  • Nginx fancy-index模块 – 配置Nginx-Fancyindex-Theme主题
  • 宝塔面板搭建miniserve – 一个实用快捷的列表工具

安装部署


本文还是基于宝塔面板的lnmp环境来安装fancy-index模块。

演示:http://nginx.vps100.net/

1、Nginx文件备份

编译前先将已经安装的Nginx文件进行备份,通过ps命令查看nginx文件的路径。以下所有步骤都以自身nginx路径为准。使用如下命令查找路径。

ps -elf | grep nginx

命令执行之后,我们会得到宝塔面板nginx的具体路径:/www/server/nginx/sbin/nginx

所以,我们继续执行下面的命令:

cd /www/server/nginx/sbin/   #进入到路径
cp nginx nginx.bak    #备份nginx

2、下载Nginx fancyindex模块

git clone https://github.com/aperezdc/ngx-fancyindex

3、拷贝至src目录

cp -R ./ngx-fancyindex /www/server/nginx/src

4、nginx -V

我们需要知道目前nginx编译了哪些模块,具体如下:

cd /www/server/nginx/src
nginx -V

注意:这里的‘V’是大写,我们看到目前的的模块,然后全部复制到一个记事本中备用。然后在最后面添加:--add-module=/www/server/nginx/src/ngx-fancyindex

5、开始编译

具体的编译代码如下,nginx版本是1.17.6,是宝塔面板的可以完全复制过去了。注意需要进入到:/www/server/nginx/src编译

./configure --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --add-module=/www/server/nginx/src/ngx-fancyindex

回车之后,输入代码:

make

6、nginx文件替换

make完成后将系统中原有的nginx用重新编译生成的nginx文件替换,替换后重启nginx使新编译nginx生效,具体命令如下:

rm -rf /www/server/nginx/sbin/nginx
cp objs/nginx /www/server/nginx/sbin/
service nginx restart

执行命令nginx -V 我们可以看到fancy-index模块已经编译成功,如图:

配置ngx-fancyindex插件

既然安装了配置ngx-fancyindex模块,那么我们就可以用这个模块来部署一个好看的索引目录,可以当做网盘使用,非常方便。具体如何部署。

7、新建网站

宝塔面板新建网站,不去多说了,注意,你需要绑定一个域名到你新建的网站。

8、网站配置代码

打开新建网站的配置文件,放置如下代码:

此处为隐藏的内容 发表评论并刷新,方可查看
发表评论

可以自定义footer.html等文件,但是国外主机优惠这里没有配置,所以被国外主机优惠注释了。具体防止的位置,如图:

参数解释:

  1. fancyindex on:开启fancy索引。
  2. fancyindex_exact_size off:不使用精确的大小,使用四舍五入,1.9M会显示为2M这样.如果开启的话,单位为字节。
  3. fancyindex_localtime on:使用本地时间。
  4. fancyindex_footer “myfooter.shtml”:把当前路径下的myfooter.shtml内容作为底部.文件不存在底部会出现404。

9、效果演示

设置好之后,可以重载nginx,之后重启nginx,效果如下。

看着效果,不错,做一个简单的网盘绝对ojbk了。

10、总结

编译稍微有点难度,可以跟着教程慢慢来,原本是nginx的索引功能非常单一,比apache的差远了。有很多nginx的爱好者就看不过去了,开发了一个漂亮的索引插件,名叫fancy index.。也就是今天编译的这个。

安装完成后,我们还可以搞套索引主题来,让这个索引目录更美观一点,这个下次再说吧。

参考资料:

https://www.bt.cn/bbs/thread-41509-1-2.html