supervisor进程管理 ——k8s从入门到高并发系列教程(十一)

 ads:

关注以下公众号查看更多文章

现在我们容器内运行的进程有 php-fpm、nginx、php-fpm-exporter、nginx-prometheus-exporter,为了方便的管理和添加容器内的进程,我们使用supervisor进行进程管理。最后让supervisor在前台运行

我们的phpfpm镜像是基于debian系统的,安装supervisor命令为

apt install -y supervisor

supervisor前台运行的命令为

supervisord -n -c /etc/supervisor/supervisord.conf

supervisor每个进程项目的配置文件debian系统下为 /etc/supervisor/conf.d

nginx

nginx supervisor进程管理配置文件 supervisor-nginx.conf

[program:nginx]
command=nginx
autostart=true
autorestart=true
priority=991
stdout_events_enabled=true
stderr_events_enabled=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stdout
stderr_logfile_maxbytes=0

php-fpm

phpfpm supervisor进程管理配置文件supervisor-phpfpm.conf

[program:php-fpm]
command = php-fpm
autostart=true
autorestart=true
priority=990
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stdout
stderr_logfile_maxbytes=0

php-fpm-exporter

phpfpm-exporter supervisor进程管理配置文件supervisor-phpfpm-exporter.conf

[program:php-fpm-exporter]
command = /usr/local/bin/php-fpm-exporter --addr="0.0.0.0:9190" --fastcgi="tcp://127.0.0.1:9000/php_status"
autostart=false
autorestart=false
priority=992
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stdout
stderr_logfile_maxbytes=0

phpfpm exporter默认没有自动启动,只有在需要启动的时候,通过命令让他启动

启动命令为

supervisorctl start php-fpm-exporter

nginx-exporter

nginx-exporter supervisor进程管理配置文件supervisor-nginx-exporter.conf

[program:nginx-exporter]
command=/usr/local/bin/nginx-prometheus-exporter -nginx.scrape-uri=http://127.0.0.1/stub_status
autostart=false
autorestart=false
priority=993
stdout_events_enabled=true
stderr_events_enabled=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stdout
stderr_logfile_maxbytes=0

nginx exporter默认没有自动启动,只有在需要启动的时候,通过命令让他启动

启动命令为

supervisorctl start nginx-exporter

踩坑踩坑踩坑踩坑踩坑踩坑踩坑

如果这样做,supervisor会报错 phpfpm 和 nginx 必须要设置成前台启动

nginx命令为

command=nginx -g 'daemon off;'

phpfpm命令为 

command = php-fpm -F

dockerfile文件的修改

基于以上内容,我们的dockerfile文件修改为

# 安装supervisor
RUN apt install -y supervisor
ADD conf/supervisor-nginx.conf /etc/supervisor/conf.d/nginx.conf
ADD conf/supervisor-phpfpm.conf /etc/supervisor/conf.d/phpfpm.conf
ADD conf/supervisor-phpfpm-exporter.conf /etc/supervisor/conf.d/phpfpm-exporter.conf
ADD conf/supervisor-nginx-exporter.conf /etc/supervisor/conf.d/nginx-exporter.conf

# 执行容器启动后的命令
CMD ["supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"]

 相关链接

手把手教你部署nginx+php

php和nginx镜像合并 && 代码打包到镜像

nginx-php镜像安装常用软件

yaf && yar微服务/hprose微服务 镜像初始化

常用开发工具:php_codesniffer代码规范检查&修复、phpstan语法检查、phpunit单元测试

.gitlab-ci.yaml自动镜像打包&&互联网企业规范化上线流程(上)

kustomize/kubectl自动镜像部署&&互联网企业规范化上线流程(下)

apisix网关、JMeter压测  

prometheus/grafana监控数据收集与展示

k8s容器网络性能调优

supervisor进程管理

安装opcache和apcu

APM性能监测工具skywalking

链路跟踪工具zipkin

phpfpm和nginx配置

php整合apollo配置中心

php rdkafka操作kafka消息队列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fanghailiang2016

扔个包子砸我一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值