Linux记录19-4.55 配置多个pool文件,每个文件自己的socket 和 open_basedir

 

 

php.ini中编辑

open_basedir ——  定义PHP服务仅允许在特定目录下工作。

                                         多个路径 做分割,表示

如果改成/home : /root下,刷新页面是不会成功的

查看错误日志提示会显示:网页文件目录不在允许访问路径之中

 

修改成 网页文件的目录 + /tmp

(会有临时的文件生成在/tmp 中,所以配置的路径一定要记得加上 /tmp )

 

 

这个时候bbs.aminglinux.cc可以正常使用了,

但是由于设置了PHP使用的路径是bbs的,所以使用blog.aminglinux.cc 会失败,

网页会显示如下状态:典型的open_basedir约束导致的网页显示错误

 

 

 

解决方案可以把php.ini中添加blog的路径,改为:

open_basedir = /data/wwwroot/bbs.aminglinux.cc : /tmp : /data/wwwroot/blog.aminglinux.cc

则可以成功刷出网页。

但这样有一个安全隐患,如果被黑客攻击其中一个网站拿到了权限,而PHP又可以登陆另一个网站目录,则也可以把另一个网站数据拿走。

所以最好的方式PHP服务路径是不在 php.ini 文件中定义,而去各自pool池子里定义

/usr/local/php-fpm/etc/php-fpm.conf/ XXX.conf

 

在池子里添加 php_admin_value[open_basedir]  =

grep  –v  ‘ ^; ‘   XXXX  ——   XXXX文件里以;开头的行统统去除后显示

grep     过滤关键字

-v         显示

^;          以;开头的

效果如下:

grep  -v  ‘^ $’  XXXXX  —— 去掉文件中的空行显示

(就是以空开头和结尾的,^表开头 $表结尾)

通常用 | 结合起来使用,可以把文件中的注释项目和空行一次全部清理后显示。

效果如下:

 

在当前目录/usr/local/php-fpm/etc/php-fpm.conf/ 新增加一个PHP池配置文件blog.conf

可以用命令 vi  blog.conf 直接在当前目录创建并开始编辑一个新文件。

 

新的blog的池配置文件,

改下池名,

改下监听的socket

改下open_basedir路径为各自私有路径

错误日志 和 缓慢日志(黄色箭头) 路径可以用公有的。

 

把原本的www.conf 命名改成 bbs.conf 方便区分 ,vi 一下把bbs.conf里面记录的池名也改一下

检验并且重启

 

nginx配置文件要一起改(bbs 的www.socket 改为 bbs.socket , blog的改为blog.socket)

 

这样PHP服务就分开作用了,一个池子一个站

这样2个网站相互独立出来,互相独立的资源。

 

 

其实在PHP池设置里,所有php.ini 里面的参数都能在这里单独定义!

On/off                这类开关就设置成     php_admin_flag[ ini里面的名字 ] =

目录,标志字符串    这类就设置成     php_admin_value[ ini里面的名字 ] =

 

如果即在php.ini 又在 php-fpm 池文件中定义了,则以php-fpm池文件的配置为准。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值