e.V4p.C0/index.php,php-fpm进程在Kubernetes中接收SIGKILL信号
我已经在其中配置了Nginx,PHP和php-fpm创建了ubuntu docker镜像 . 当我在Docker实例上运行它时工作正常 .
但是当我在kubernetes中运行相同的图像时,php-fpm进程收到SIGKILL(9)信号,我们得到502个网关错误 .
我想是kubernetes将SIGKILL信号发送到kubernetes pods . 我没有在kubernetes模板中使用任何准备和活力探测器 .
感谢任何帮助 . 提前致谢 .
有关详细信息,请在下面找到docker文件和php-fpm日志,
Dockerfile
FROM ubuntu
#install utilities tools
RUN apt-get update \
&& apt-get install -y vim unzip curl python-software-properties software-properties-common locales supervisor
# Update software list, install php-nginx & clear cache
RUN locale-gen en_US.UTF-8 && \
export LANG=en_US.UTF-8 && \
add-apt-repository -y ppa:ondrej/php && \
apt-get update && \
apt-get upgrade -y && \
apt-get install -y --force-yes nginx \
php5.6 php5.6-zip php5.6-fpm php5.6-cli php5.6-mysql php5.6-mcrypt php5.6-xml\
php5.6-curl php5.6-gd && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*
# Configure nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN sed -i "s/sendfile on/sendfile off/" /etc/nginx/nginx.conf
RUN mkdir -p /var/www/html
# Configure PHP
RUN sed -i -e "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/5.6/fpm/php.ini && \
sed -i -e "s/;date.timezone =.*/date.timezone = America\/Argentina\/Buenos_Aires/" /etc/php/5.6/fpm/php.ini && \
sed -i -e "s/upload_max_filesize\s*=\s*2M/upload_max_filesize = 100M/g" /etc/php/5.6/fpm/php.ini && \
sed -i -e "s/post_max_size\s*=\s*8M/post_max_size = 100M/g" /etc/php/5.6/fpm/php.ini && \
sed -i -e "s/variables_order = \"GPCS\"/variables_order = \"EGPCS\"/g" /etc/php/5.6/fpm/php.ini
##Updated for PHP 5.6
RUN sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/5.6/fpm/php-fpm.conf && \
sed -i -e "s/pid =.*/pid = \/var\/run\/php-fpm.pid/" /etc/php/5.6/fpm/php-fpm.conf && \
sed -i -e "s/listen =.*sock/listen = 127.0.0.1:9000/" /etc/php/5.6/fpm/pool.d/www.conf && \
sed -i -e "s/;clear_env = no/clear_env = no/" /etc/php/5.6/fpm/pool.d/www.conf && \
sed -i -e "s/;catch_workers_output\s*=\s*yes/catch_workers_output = yes/g" /etc/php/5.6/fpm/pool.d/www.conf && \
sed -i -e "s/pm.max_children = 5/pm.max_children = 4/g" /etc/php/5.6/fpm/pool.d/www.conf && \
sed -i -e "s/pm.start_servers = 2/pm.start_servers = 3/g" /etc/php/5.6/fpm/pool.d/www.conf && \
sed -i -e "s/pm.min_spare_servers = 1/pm.min_spare_servers = 2/g" /etc/php/5.6/fpm/pool.d/www.conf && \
sed -i -e "s/pm.max_spare_servers = 3/pm.max_spare_servers = 4/g" /etc/php/5.6/fpm/pool.d/www.conf && \
sed -i -e "s/;pm.max_requests = 500/pm.max_requests = 200/g" /etc/php/5.6/fpm/pool.d/www.conf
RUN sed -i -e "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/5.6/cli/php.ini && \
sed -i -e "s/;date.timezone =.*/date.timezone = America\/Argentina\/Buenos_Aires/" /etc/php/5.6/cli/php.ini && \
sed -i -e "s/upload_max_filesize\s*=\s*2M/upload_max_filesize = 100M/g" /etc/php/5.6/cli/php.ini && \
sed -i -e "s/post_max_size\s*=\s*8M/post_max_size = 100M/g" /etc/php/5.6/cli/php.ini && \
sed -i -e "s/variables_order = \"GPCS\"/variables_order = \"EGPCS\"/g" /etc/php/5.6/cli/php.ini
COPY opsconfig/default_server_config /etc/nginx/sites-available/default
COPY opsconfig/supervisor.conf /etc/supervisor/conf.d/supervisor.conf
RUN phpenmod -v 5.6 mcrypt && \
phpenmod -v 5.6 xdebug && \
phpenmod -v 5.6 zip
#install composer
RUN curl -O https://getcomposer.org/composer.phar && \
mv composer.phar /usr/local/bin/composer && \
chmod +x /usr/local/bin/composer
# Workdir
WORKDIR /var/www/html
COPY src/ /var/www/html/
RUN chown -R www-data:www-data /var/www/html
CMD ["/usr/bin/supervisord"]
supervisor.conf
[supervisord]
nodaemon=true
[program:php-fpm]
command=/usr/sbin/php-fpm5.6 --nodaemonize
[program:nginx]
command=/usr/sbin/nginx
autostart=true
autorestart=true
priority=10
stdout_events_enabled=true
stderr_events_enabled=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
php-fpm.log
[10-Oct-2017 16:52:02] NOTICE: fpm is running, pid 56
[10-Oct-2017 16:52:02] NOTICE: ready to handle connections
[10-Oct-2017 16:52:02] NOTICE: systemd monitor interval set to 10000ms
[10-Oct-2017 16:52:30] WARNING: [pool www] child 57 exited on signal 9 (SIGKILL) after 28.399445 seconds from start
[10-Oct-2017 16:52:30] NOTICE: [pool www] child 61 started
[10-Oct-2017 16:52:38] WARNING: [pool www] child 59 exited on signal 9 (SIGKILL) after 36.796172 seconds from start
[10-Oct-2017 16:52:38] NOTICE: [pool www] child 62 started
[10-Oct-2017 16:53:15] WARNING: [pool www] child 58 exited on signal 9 (SIGKILL) after 73.299127 seconds from start
[10-Oct-2017 16:53:15] NOTICE: [pool www] child 63 started
[10-Oct-2017 17:45:02] WARNING: [pool www] child 62 exited on signal 9 (SIGKILL) after 3143.801344 seconds from start
[10-Oct-2017 17:45:02] NOTICE: [pool www] child 64 started
Nginx日志
2017/10/10 16:53:15 [error] 11#11: *162 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.244.2.49, server: _, request: "GET /admin/index.php?route=common/dashboard&token=V4iXjKHenn2ZOIldfn4pmIHcTIHiFoxk HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "shop9.homesourcesystems.net", referrer: "https://domain_name/admin/"
2017/10/10 17:45:02 [error] 11#11: *166 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.244.2.49, server: _, request: "GET /admin/index.php?route=common/dashboard&token=sFiMAItAgX22BarBfcNNVuyin50ZauIa HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "shop9.homesourcesystems.net", referrer: "https://domain_name/admin/"
Pod定义
Name: bumptious-beetle-3107682338-qlvcf
Namespace: testns
Node: k8s-agent-1/10.240.0.4
Start Time: Wed, 11 Oct 2017 09:26:21 +0000
Labels: app=testapp
pod-template-hash=3107682338
release=bumptious-beetle
Annotations: checksum/config=466a2fbe40164c0f5a10a06e26417c92a47422720e96c4fb51562eb8388d282f
kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"testns","name":"bumptious-beetle-3107682338","uid":"3e2745b7-ae66...
Status: Running
IP: 10.244.0.205
Controllers: ReplicaSet/bumptious-beetle-3107682338
Containers:
hstestns:
Container ID: docker://31477927d3d0ac1b3f2fe662601d1d65d2a6d1fb442e580f9c1836e921a85f75
Image: phpnginx:1.9
Image ID: docker-pullable://phpnginx@sha256:7dfb96e283f0802e72249aeb252d3e6290dec00591c442da80bfa4727cef7ca5
Port: 80/TCP
State: Running
Started: Wed, 11 Oct 2017 09:26:42 +0000
Ready: True
Restart Count: 0
Limits:
cpu: 100m
memory: 50Mi
Requests:
cpu: 10m
memory: 40Mi
Environment Variables from:
bumptious-beetle ConfigMap Optional: false
Environment:
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-ptkqw (ro)
Conditions:
Type Status
Initialized True
Ready True
PodScheduled True
Volumes:
default-token-ptkqw:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-ptkqw
Optional: false
QoS Class: Burstable
Node-Selectors:
Tolerations:
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
13m 13m 1 default-scheduler Normal Scheduled Successfully assigned bumptious-beetle-3107682338-qlvcf to k8s-agent-1
13m 13m 1 kubelet, k8s-agent-1 spec.containers{hsecommerce} Normal Pulling pulling image "phpnginx:1.9"
13m 13m 1 kubelet, k8s-agent-1 spec.containers{hsecommerce} Normal Pulled Successfully pulled image "phpnginx:1.9"
13m 13m 1 kubelet, k8s-agent-1 spec.containers{hsecommerce} Normal Created Created container with id 31477927d3d0ac1b3f2fe662601d1d65d2a6d1fb442e580f9c1836e921a85f75
13m 13m 1 kubelet, k8s-agent-1 spec.containers{hsecommerce} Normal Started Started container with id 31477927d3d0ac1b3f2fe662601d1d65d2a6d1fb442e580f9c1836e921a85f75
此致,拉胡尔
e.V4p.C0/index.php,php-fpm进程在Kubernetes中接收SIGKILL信号相关推荐
- php fpm www.conf,PHP7中php.ini、php-fpm和www.conf 配置
PHP7中php.ini.php-fpm和www.conf 配置 php.ini是php运行核心配置文件,下面是一些常用配置 extension_dir="" ● 设置PHP的扩展 ...
- 微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法
微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法 参考文章: (1)微信小程序首页index.js获取不到app.js中动态设置的globalDat ...
- linux多进程server 进程池_Python 中的进程池与多进程
封面图片来源:沙沙野 内容概览 进程池 进程池和多进程的性能测试 进程池的其他机制 进程池的回调函数 进程池 如果有多少个任务,就开启多少个进程,实际上并不划算.由于计算机的 cpu 个数是非常有限的 ...
- 【Linux 内核】进程管理 ( Linux 中进程的 CPU 资源调度 | 进程生命周期 | 创建状态 | 就绪状态 | 执行状态 | 阻塞状态 | 终止状态 | 进程生命周期之间的转换 )
文章目录 一.Linux 中进程的 CPU 资源调度 二.进程生命周期 三.进程生命周期之间的转换 一.Linux 中进程的 CPU 资源调度 Linux 操作系统 是 多任务系统 , 可以 同时运行 ...
- linux的子进程和父进程,[Linux进程]在父进程和子进程中分别对文件进行操作
[Linux进程]在父进程和子进程中分别对文件进行操作 发布时间:2020-04-10 19:36:49 来源:51CTO 阅读:917 作者:银河星君 /*子进程和父进程同时对一个文件进行写操作导致 ...
- 命名空间不能直接包含字段或方法之类的成员_Linux内存取证:解析用户空间进程堆(中)...
上文我们对解析用户空间进程堆的动机和历史,做了一个简要的概述.另外,我们Glibc堆的3层结构也做了一些概述,这些结构是解析用户空间进程堆的关键.至于每个结构所起的作用,请看本文的分析. 内存视图 本 ...
- css 注入,electron程序,如何在主进程远程页面中注入js及css?
本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规.大家都是程序员,不要闹得不开心. 每日一篇的苏南大叔写代码教程,又来了.在本文中,苏南大叔描述的是,在electron程序加载远程页面的时候,如 ...
- Nginx之进程间的通信机制(信号、信号量、文件锁)
1. 信号 Nginx 在管理 master 进程和 worker 进程时大量使用了信号.Linux 定义的前 31 个信号是最常用的,Nginx 则通过重定义其中一些信号的处理方法来使用吸纳后,如接 ...
- linux中python进程,如何检查进程在python中运行(在linux中)?
我想如果这个过程是基于进程名(test.py)上运行的检查,然后退出如何检查进程在python中运行(在linux中)? l = commands.getstatusoutput("ps a ...
最新文章
- 16S预测细菌表型-bugbase:革兰氏阴阳、生物膜、致病力、移动元件、氧气消耗等...
- 新 IDE 出现,程序员迎来危机?
- Android JSON数据解析(GSON方式)
- 《扩展 jQuery》——6.3 总结
- python异常之ModuleNotFoundError: No module named ‘test01inner02‘
- VJ 1033 整数分解(版本2)
- php gd 行间距设置,PHP动态修改GD库扩展问题
- 今天收到ORACLE 10G OCA 证书!
- c# html文件转换word,C#实现word转换成html文档 源码
- Node.js学习之路24——Express框架的app对象
- C# 中 ConcurrentDictionary 一定线程安全吗?
- linux centos7安装ngix,centos7 环境下安装nginx--Linux
- java中的final的使用
- zabbix监控哪些东西_监控系统选型,一篇全搞定
- C# 连接 Exchange 发送邮件
- MySQL保存计算结果_在数据库中保存计算结果如何对应到相应的工程文件
- iphone-common-codes-ccteam源代码 CCCommon.h
- 线性代数知识荟萃(2)——矩阵运算理论
- XP下使用submit text3遭遇死机强制重启导致以及代码数据丢失(无法读取源文件或磁盘)
- 如何评价@左耳朵耗子 的《关于阿里云经典网络的问题》?