Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

2021-03-02 14:15:08 28点赞 135收藏 7评论

嗯,推荐我朋友预览了我的可道云文章,他兴奋的部署了,然后就是熟悉的,我的为什么和你的不一样?

他的是这样子的,提示不支持某某功能需要手动去开通:

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

而我的是这样子的:

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

瞬间我非常尴尬,原因是,其实我用的是一个现成docker,我的kodbox其实是这样子的:

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

kodbox2是今天给大家展示的那个,kodbox是我使用了别人现成的docker镜像。看着他怀疑的眼神,我顿时觉得小鹿乱撞,得赶紧想办法把这大黑锅给甩了,官方既然已经给出如何设置,那我就照着给他设置一下子,让他死了栽赃陷害这条心。

更改PHP设置

官方说明非常清楚,

  • 默认情况下,nginx和apache是不支持path_info的,我们需要做些配置让它支持。

  • 首先需要启用cgi.fix_pathinfo——修改php配置文件php.ini,将;cgi.fix_pathinfo=1前面的冒号;去掉,重启php服务。然后再配置Nginx或Apache。

真的让人心碎,php是内置在nginx docker内部的,手动放置或修改在docker内部的文件,都会在每次重启时被清除和初始化掉,你说怎么办?

最直接的想法就是:那我们把php设置文件所在的文件夹移动到docker外面来,然后指向它!这里我们需要解决几个问题,因为我们是小白啊:

  • php.ini文件在哪里

  • 如何移动

对于大神,其实这压根不是问题,人家会直接重新封一个docker出来,我是小白我自豪,我们需要用小白的方法去解决它,一个很傻的方法。

1.我们百度,linux查找特定文件,来解决定位问题:

经搜索,我们需要使用命令 find / -name "php.ini"

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

2.我们继续百度,linux拷贝文件夹,来解决复制问题:#因为映射的是目录,我们需要把php.ini文件夹整体拷贝出来,并最好保持权限不变。根据搜索结果,我们需要使用cp -a指令。

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

3.开始动手,请大家牢牢记得上次教给大家的 ls-cd-ls 大法。

建议大家如果抄作业的话,像我一样重新建立一次kodbox镜像,主要是这里有改动:加了一层目录,这样子,可以把将来映射出来的php和其他文件区分开。毕竟这玩意是我们贴上去的狗屁膏药不是。后续安装步骤不讲了,和上一篇一样,就是路径再加个config罢了。

另外还有个小问题,还是说一下吧,kodbox自带adminer,数据库我们只要给它设置好ip,端口,用户名密码就行,它其实会自己调用adminer去建数据库的。这个小点,有时候,非常难理解,所以上一篇教程中直接跳过了,并不是我不知道,说的多了,会给一些朋友们造成混乱。

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

环境搭好了,进入docker 控制台,输入 find / -name "php.ini"

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

红框内我输入了四次命令,寻找并查看了根目录结构,文件文字,文件所在文件夹清单。

根目录下的config 文件夹, 我们已经映射到了unraid /mnt/user/appdata/kodbox2/config/ 下,我们把php7这个文件夹拷贝过去,根据百度结果,我们用下面的命令,完成后顺便查看一下结果:

cp -a /etc/php7 /config/php7

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

下面,善于思考的朋友可能会有疑问,下面,应该就是把/etc/php7 映射到unraid 的/mnt/user/appdata/kodbox2/php7/ 下面,这个选项是github上没有提到过的,会生效吗?有想法,我们就来试一试,

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

出现大量错误提示,提示无法打开php.ini。

继续,我们把kobbox、config/php7 文件夹,拷贝到kobbox目录下面去,重启docker。#这一步随意,看你善于用哪种方法,filebrowser,ftp客户端,还是cp命令都可以。后续为了避免权限问题,我本来用filebrowser来修改;相信还在使用unraid的朋友,应该基本上都部署了这个。但是刚才准备提交文章时候,想到,既然我们已经安装的可道云,那么为什么不直接在可道云里面修改?

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

找到php.ini了, 善于思考的朋友们自然又会产生一个疑问,这个php7是docker内部的,还是unraid上的呢?这个非常容易验证,我们在php7文件夹下新建一个文件,然后到unraid里面去找,看他是否存在。

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

那么我们就该翻回kodbox官方说明,来进行了。官方页面在这里

Nginx/Apache支持PATH_INFO模式

1.我们打开php.ini文件,ctrl+f,打开搜索,输入cgi.fix_pathinfo=1查找,删掉前面的分号 ;

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

2.更改nginx设置 #尽量备份一下这个文件,防止修改出问题。高能预警高能预警:不要把备份文件放在这个文件夹内,切记。

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

3.打开这个文件,像这样修改:

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

重启docker,显示正常了,我们来试试连接下看看,后面太简单了,我就不再做说明了。

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!

搞定了。

总结,这个方法看起来是不是超级,怎么说,笨重。还是我一直说的,我讲的并不是让大家跟着我这么做,这么用。我个人不喜欢提那些高大上的理论,提一键脚本,在这里我们就从每一次修改参数,看变化,验证变化,来给学习过程一些趣味和成就感,可能折腾到最后,我们依旧不能达到预期的完美目标,但是每一步都能有明确的收获和喜悦,这也是相当好的。

展开 收起
7评论

  • 精彩
  • 最新
  • 为什么要docker可道云,甚至我想知道可道云有啥功能值得你折腾

    校验提示文案

    提交
    用来做unraid本地文件管理,比fb好用。这折腾本来是准备写一些unraid docker文章的,这文章里面能引申出好几个问题,后来生病了,就扔那里了。还有就是,unraid下,或者是其他nas下,想使用nas自带的docker管理器,简单改改docker内文件,甚至说原docker不太适应自带的docker管理器,都可以用这种办法变通下。病好了以后,又写了点,说实在的,排版太难,图片压缩看不清,不怎么准备发了。

    校验提示文案

    提交
    收起所有回复
  • docker commit。。。。

    校验提示文案

    提交
    你可以以为我傻,不知道commit,可是那么多教程,都不提commit,难道大家都傻啊?都不提这茬,这并不是没有原因的。commit出来的image,unraid docker管理器下不能直接用,每次修改,它都要去pull一下。想用,得push到本地仓库或者dockerhub,都搞仓库了,上层楼直接改改docker file不更好牛了么?为什么没人讲,甚至,都没有人讲过为什么文章里面这个php7文件夹建了,不能直接本地静态化,像commit这种,说实在的,懂得人不需要讲,不懂得人,你讲给他,那是让他遭罪,一个人不懂一个事情那是有原因的,90%是人家不需要懂。如果真的是简单的文件静态化,教人commit,真不如文章里面这土办法,没有为什么,能解决问题就好。我最近看的人生观写的宝塔面板文章,那方法,是真的好,简单粗暴,不懂的不想思考的人照着做就行,想思考的动动脑子,搜搜文章,搞明白咋回事,一通百通,这才是好的教程,既帮不懂的人直接解决问题,又能让想研究的人,发现奇怪的点,有个研究方向。
    unraid上手容易,就是因为docker vm的可视化管理简单明了,有些东西讲太多太远了,真不如教大家直接linux走起了,

    校验提示文案

    提交
    收起所有回复
  • 注意,edge浏览器下尝试我的步骤,chrome我试了会有不解析php直接下载的问题。这个只是尝试下,我也就没有继续折腾这个了。微软这还是牛。
    另外,这个文章只是为了给大家一个思考,其实,docker terminal,修改etc/php7/php.ini文件也是可以的,这个又是一个关于docker很难细说的问题,你甚至几乎百度不到相关文章。所以为了表述方便,我当时也是一刀切了。
    放在U盘 \config\plugins\dockerMan\templates-user 目录下,然后用这个模板就是了。
    链接:去看看
    提取码:tu56

    校验提示文案

    提交
  • 谢谢,刚好需要

    校验提示文案

    提交
  • 装个宝塔面板不好吗?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
135
扫一下,分享更方便,购买更轻松