当前位置: 首页 > news >正文

欧美个人网站招聘外包服务公司

欧美个人网站,招聘外包服务公司,摄影设计工作室,网站设计市场价本文内容均来自个人笔记并重新梳理#xff0c;如有错误欢迎指正#xff01; 如果对您有帮助#xff0c;烦请点赞、关注、转发、订阅专栏#xff01; 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】#xff08;全… 本文内容均来自个人笔记并重新梳理如有错误欢迎指正 如果对您有帮助烦请点赞、关注、转发、订阅专栏 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】全网首发Kylin V10 下 MySQL 容器内存占用异常的解决方法 【Docker】全网首发Kylin V10 下 MySQL 容器内存占用异常的解决方法续 【K8s】专题十五6Kubernetes 网络之 Pod 网络调试 目录 一、背景介绍 二、Supervisor 介绍 1、基本概念 2、主要作用 3、工作原理 三、Supervisor 使用 1、生成 Dockerfile 文件 2、生成 supervisord.conf 文件 3、构建镜像 三、Supervisorctl 常用命令 一、背景介绍 近期笔者在工作中遇到一个特殊的需求场景即在单个容器中同时运行 php-fpm 和 nginx 服务并通过 cron 服务管理计划任务。 由于使用 systemctl 工具管理进程相对复杂笔者最终选用 Supervisor 工具来实现上述需求。本文将对 Supervisor 的相关知识、使用方法等进行详细介绍。 二、Supervisor 介绍 1、基本概念 Supervisor 是一个基于 Python 开发的进程管理工具主要用于监控、控制 Linux 操作系统上的多个进程通过将命令行进程转变为后台守护进程并提供监控和自动重启功能以确保服务的高可用性。 Supervisor 采用 C/S客户端/服务端架构来实现进程管理 服务端即主进程 supervisord supervisord 启动时会生成配置文件中定义的子进程并监控子进程的状态当子进程崩溃时对其进行自动重启客户端即命令行工具 supervisorctl supervisorctl 通过 Unix 域套接字或 TCP 套接字与服务端进行通信允许用户与 supervisord 主进程进行交互对子进程执行启动、停止、重启、查看状态等操作 2、主要作用 管理进程Supervisor 可以启动、停止、重启和监控多个进程确保进程异常退出后能够自动重启记录日志Supervisor 可以记录子进程的标准输出和错误输出方便用户进行监控、调试、排查问题等灵活配置Supervisor 可以指定配置文件内容方便用户灵活地配置需要管理的进程及其属性。默认配置文件为 /etc/supervisor/supervisord.conf集中管理Supervisor 可以对多个进程、进程组进行集中管理方便用户操作 3、工作原理 Supervisord 作为主进程启动并置于守护进程模式Supervisord 根据配置文件中的设置逐一启动子进程Supervisord 通过操作系统信号机制实时监控子进程的运行状态Supervisord 在子进程状态异常时接收到控制信号按照配置文件中的设置对子进程进行重启等操作 三、Supervisor 使用 以背景介绍中的需求场景为例使用已安装 fpm 的 php 官方镜像作为基础进行 Docker 镜像构建安装 supervisor、nginx、cron 服务并自定义 Supervisor 配置文件 supervisord.conf。 1、生成 Dockerfile 文件 cat Dockerfile EOF FROM php:7.4.33-fpmRUN sed -i s#deb.debian.org#mirrors.aliyun.com#g /etc/apt/sources.list RUN apt-get update \apt-get install -y supervisor nginx cron \ rm -rf /var/lib/apt/lists/* \ mkdir -p /etc/supervisor/conf.d/ COPY supervisord.conf /etc/supervisor/conf.d/ CMD [/usr/bin/supervisord, -c, /etc/supervisor/supervisord.conf]EOF2、生成 supervisord.conf 文件 cat supervisord.conf EOF [supervisord] # 定义主进程 nodaemontrue # Supervisor 默认处于守护进程模式而在容器中则需要处于前台运行以保持容器活跃[program:php-fpm] # 定义子进程 commandbash -c sleep 1 php-fpm process_name%(program_name)s userroot autostarttrue autorestarttrue startretries5 exitcodes0,2,70 stopsignalQUIT stopwaitsecs2 stdout_logfile/var/log/supervisor/php-fpm.log[program:nginx] commandbash -c sleep 1 /usr/sbin/nginx -g daemon off; process_name%(program_name)s userroot autostarttrue autorestarttrue startretries5 exitcodes0,2,70 stopsignalINT stopwaitsecs2 stdout_logfile/var/log/supervisor/nginx.log[program:cron] commandbash -c sleep 1 /usr/sbin/cron -f # cron 需要添加 -f 参数确保处于前台运行 process_name%(program_name)s userroot autostarttrue autorestarttrue startretries5 exitcodes0,2,70 stopsignalQUIT stopwaitsecs2 stdout_logfile/var/log/supervisor/cron.logEOF 部分可配置参数说明如下 ## 全局配置 [unix_http_server] # file指定 UNIX 域套接字的位置供 supervisorctl 和 supervisord 进行通信例如 file/opt/super/supervisor.sock --------------------------------------------------------------------------------- [inet_http_server] # port指定 Web 界面 TCP 监听的 IP 和端口例如 port127.0.0.1:9001 --------------------------------------------------------------------------------- [supervisord] # logfilesupervisord 日志文件路径默认值为 $CWD/supervisord.log # logfile_maxbytessupervisord 日志文件的最大字节数超过后会创建新文件设置为 0 表示不限制 # logfile_backups保留的日志文件备份数量 # loglevel日志记录等级默认为 INFO # pidfilesupervisord PID 文件路径默认值为 $CWD/supervisord.pid # nodaemon默认为 false以守护进程模式运行如果设置为 true则以前台模式运行 ----------------------------------------------------------------------------------------------------- ## 进程管理 [program:test-server] # command进程启动命令 # process_name进程名称 # user进程启动用户 # directory启动命令执行前切换到的目录 # autostart是否随 supervisord 启动而自动启动该进程默认为 true # autorestart是否在进程退出时自动重启默认为 true # startretries启动失败时重试次数上限 # stopsignal停止进程时发送的信号例如 INT、QUIT # stdout_logfile指定标准输出的日志文件路径可以是 /dev/stdout # stderr_logfile指定标准错误的日志文件路径可以是 /dev/stderr ----------------------------------------------------------------------------------------------------- ## 配置包含 [include] files/etc/supervisor/conf.d/*.ini 3、构建镜像 docker build -t php:7.4.33-fpm-nginx -f Dockerfile . --no-cache 三、Supervisorctl 常用命令 # 查看进程状态所有 supervisorctl status all# 查看进程状态指定 supervisorctl status process_name# 启动进程所有 supervisorctl start all# 启动进程指定 supervisorctl start process_name# 停止进程所有 supervisorctl stop all# 停止进程指定 supervisorctl stop process_name# 重启进程所有 supervisorctl restart all# 重启进程指定 supervisorctl restart process_name# 更新配置所有 supervisorctl update all# 更新配置指定 supervisorctl update process_name# 清空进程日志所有 supervisorctl clear all# 清空进程日志指定 supervisorctl clear process_name# 查看帮助 supervisorctl -h
http://www.hkea.cn/news/14540888/

相关文章:

  • 114百事通做网站600网络工程师网课
  • 德网站建设深圳形象设计公司
  • 开发施工建设网站审核最新项目网
  • 南宁市网站设计建设行业网站平台的瓶颈
  • 单页面的网站模板免费下载园林景观设计公司人员规模
  • 河北沧州建设官方网站怎么制作游戏?
  • 商城网站营销系统源码上海高端模板建站
  • 瑜伽网站模版wordpress html 单页模板
  • 网站维护 静态页面滨州淘宝网站建设
  • 网站免费优化三星企业网站建设ppt
  • 如何利用网站开发国外客户鸽WordPress主题
  • 关于开展网站建设工作的通知做soho 怎么建立网站
  • 大良招聘网站建设h5网站模板免费下载
  • h5网站建设 北京开设网站的费用
  • 长沙注册公司核名网站网页上传和网站开发
  • 汕头网站推广seo官方网站建设方法
  • 网站建设shundeit网站制作设计教程
  • 东莞的网站建设公司哪家好佛山林镜全
  • 企业网站用免费程序wordpress 分类页面模板
  • 青岛建设工程信息网站广州网络营销
  • ztouchs网站查询东方网络律师团队
  • 网站登录界面设计饥饿营销
  • 北京海淀区建设局网站企业网站建设与管理简述
  • 域名 备案 没有网站大前端最新网站
  • 网站默认网站名网站域名怎么做变更
  • 工业设计网站有那些wordpress 图书 主题
  • 网站怎么推广手机logo在线制作 免费
  • 深圳网站建设外贸公司价格我做的网页怎么是危险网站
  • 网站优化方案 site ww广告设计图片 门头
  • 商城类网站建设需要多少钱电子商务公司怎么运营