×

dockerphpfpm

dockerphpfpm的简单介绍

admin admin 发表于2023-03-27 18:23:10 浏览70 评论0

抢沙发发表评论

本文目录一览:

docker-compose启动php-fpm报错问题

当你的机子关闭了ipv6启动php-fpm会出现:

address family not supported by protocol

鲁莽解决方法用命令 find / -name zz-docker.conf 找到配置文件位置

直接修改listen = [::]:9000 为 listen = 0.0.0.0:9000

官方DockerFIle:

一般正确做法是修改建立新的dockerfile,

sed "s/[::]:/0.0.0.0:/g" zz-docker.conf

(/var/lib/docker/aufs/diff/864a8992572a0791d45316907d130acaff7f61fe878662b3937c49477496d85c/usr/local/etc/php-fpm.d/zz-docker.conf)-dockerphpfpm

另外解决方法就是不用compose,而是建立Dockerfile文件,里面跑ubuntu,nginx等,然后顺便安装phpfpm,相当于一个镜像,这样和外部本机ipv6环境无关啦。

docker php-fpm 怎样启动~呢?

需要保证:Nginx看到的路径要和php-fpm看到的路径一样。 因为Nginx是把路径传给php-fpm的。

曾跳过该坑,出坑方法:找到你的php-fpm.conf,查看里面配置的error_log路径,找到这个error_log, 里面会看到找不到.php的error.

dockerphp重启php进程被杀

1 是的,dockerphp重启php进程可能会被杀

2 因为默认情况下,docker中的容器都是以PID为1的进程启动的,如果php进程被重启,那么PID就会发生变化,这可能会导致容器的进程管理工具(如systemd)无法正确识别该进程,并将其误认为是孤儿进程,从而将其kill掉。-dockerphpfpm

3 解决方法可以采用systemd的notify机制或者使用supervisord等工具来管理php进程,以避免被误杀的情况发生。

同时,也可以在dockerfile中修改CMD或ENTRYPOINT的方式来启动php进程,以确保其PID不会发生变化。

docker 部署nginx、php-fpm错误记录

最近要使用docker部署nginx和php-fpm服务,因为以前部署过无数次的nginx+php-fpm,本以为轻车熟路,很快搞定,但是在这个最熟的环节却出了问题,耗费了小半天的时间,特把解决问题的过程记录如下:(使用docker 部署 nginx,php-fpm的具体步骤网上较多,不再此进行详述了)-dockerphpfpm

问题:docker 部署完成 nginx,php-fpm后,运行服务,出现:recv() failed (104: Connection reset by peer) while reading response header from upstream-dockerphpfpm

多次修改修改无果后,开始自己查找此错误:

证明php-fpm服务已经启动了,但是未知原因php-fpm把链接中断了。怀疑是底层tcp链接问题,使用netstat -s | grep reject,未发现异常链接。想不出啥原因,查看php-fpm error.log未发现有用信息-dockerphpfpm

docker php-fpm 一直重启问题处理

使用 docker-compose up -d 启动 php-fpm 容器后会发现容器成功启动之后会马上关闭。由于设置了 restart: always 会导致容器再次启动然后关闭

官方 php-fpm : 7.1 镜像,使用自定义的 php-fpm 配置。

php-fpm 配置是从现有生产服务器上复制过来的。配置没有问题。

看log,发现fpm正常启动了,然后马上就退出

跟镜像中自带的 php-fpm.conf 比较发现镜像中使用 daemonize = no ,而我自定义配置中 daemonize = yes 是后台运行的。

那么很明显官方镜像是故意使用 daemonize = no 不让 fpm 在后台中运行,进而阻止容器退出

修改 php-fpm.conf 中如下

daemonize = no