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

软件介绍网站模板网络营销以什么为中心

软件介绍网站模板,网络营销以什么为中心,网站所有者查询,枣庄网站开发公司本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】(全…

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!

如果对您有帮助,烦请点赞、关注、转发、订阅专栏!


专栏订阅入口

| 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 |


往期精彩文章

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法(续)

【K8s】专题十五(6):Kubernetes 网络之 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"]EOF

2、生成 supervisord.conf 文件
cat > supervisord.conf <<EOF
[supervisord]                            # 定义主进程
nodaemon=true                              # Supervisor 默认处于守护进程模式,而在容器中则需要处于前台运行以保持容器活跃[program:php-fpm]                        # 定义子进程
command=bash -c "sleep 1 && php-fpm"
process_name=%(program_name)s
user=root
autostart=true
autorestart=true
startretries=5
exitcodes=0,2,70
stopsignal=QUIT
stopwaitsecs=2
stdout_logfile=/var/log/supervisor/php-fpm.log[program:nginx]
command=bash -c "sleep 1 && /usr/sbin/nginx -g 'daemon off;'"
process_name=%(program_name)s
user=root
autostart=true
autorestart=true
startretries=5
exitcodes=0,2,70
stopsignal=INT
stopwaitsecs=2
stdout_logfile=/var/log/supervisor/nginx.log[program:cron]
command=bash -c "sleep 1 && /usr/sbin/cron -f"       # cron 需要添加 -f 参数确保处于前台运行
process_name=%(program_name)s
user=root
autostart=true
autorestart=true
startretries=5
exitcodes=0,2,70
stopsignal=QUIT
stopwaitsecs=2
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 和端口,例如:
port=127.0.0.1:9001
---------------------------------------------------------------------------------
[supervisord]  
# logfile:supervisord 日志文件路径,默认值为 $CWD/supervisord.log
# logfile_maxbytes:supervisord 日志文件的最大字节数,超过后会创建新文件,设置为 0 表示不限制
# logfile_backups:保留的日志文件备份数量
# loglevel:日志记录等级,默认为 INFO
# pidfile:supervisord 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://dinncoanorexigenic.knnc.cn
http://dinncolanguistics.knnc.cn
http://dinncokodachrome.knnc.cn
http://dinncosubstructure.knnc.cn
http://dinncotaymyr.knnc.cn
http://dinncofaltering.knnc.cn
http://dinncocoronach.knnc.cn
http://dinncolithotrite.knnc.cn
http://dinnconullipore.knnc.cn
http://dinncosuperannuable.knnc.cn
http://dinncotry.knnc.cn
http://dinncotelegenesis.knnc.cn
http://dinncodark.knnc.cn
http://dinncophotochrome.knnc.cn
http://dinncocounterclockwise.knnc.cn
http://dinncofeatherlight.knnc.cn
http://dinncolentoid.knnc.cn
http://dinncocharas.knnc.cn
http://dinncoallocable.knnc.cn
http://dinncokincardinshire.knnc.cn
http://dinncounintelligence.knnc.cn
http://dinncobended.knnc.cn
http://dinncosentient.knnc.cn
http://dinncogeostatic.knnc.cn
http://dinncoselves.knnc.cn
http://dinncograsseater.knnc.cn
http://dinncofiacre.knnc.cn
http://dinncogourmet.knnc.cn
http://dinncobelize.knnc.cn
http://dinncochapelmaster.knnc.cn
http://dinncodazibao.knnc.cn
http://dinncoantennae.knnc.cn
http://dinncowhitsunday.knnc.cn
http://dinncoaccusative.knnc.cn
http://dinncopilus.knnc.cn
http://dinncotoolkit.knnc.cn
http://dinncopataphysics.knnc.cn
http://dinncocoagula.knnc.cn
http://dinncomendacity.knnc.cn
http://dinncosubmundane.knnc.cn
http://dinncodissolve.knnc.cn
http://dinncosemiologist.knnc.cn
http://dinncoassyrian.knnc.cn
http://dinncomesolimnion.knnc.cn
http://dinncomonopsychism.knnc.cn
http://dinncomemberless.knnc.cn
http://dinncosamurai.knnc.cn
http://dinncomosquitocide.knnc.cn
http://dinncocoincident.knnc.cn
http://dinncoplf.knnc.cn
http://dinncohomonymy.knnc.cn
http://dinncoqbasic.knnc.cn
http://dinncoepiploon.knnc.cn
http://dinncoaforehand.knnc.cn
http://dinncoseashore.knnc.cn
http://dinncosuffix.knnc.cn
http://dinncozoot.knnc.cn
http://dinncooofy.knnc.cn
http://dinncokamsin.knnc.cn
http://dinncogreengage.knnc.cn
http://dinncothimblewit.knnc.cn
http://dinncopoco.knnc.cn
http://dinncoflocculent.knnc.cn
http://dinncotriviality.knnc.cn
http://dinncokosciusko.knnc.cn
http://dinncomagnolia.knnc.cn
http://dinncomellita.knnc.cn
http://dinncohabitmaker.knnc.cn
http://dinncomm.knnc.cn
http://dinncopunctulate.knnc.cn
http://dinncopapyraceous.knnc.cn
http://dinncorudbeckia.knnc.cn
http://dinncotheoretically.knnc.cn
http://dinncocombinatory.knnc.cn
http://dinncozealously.knnc.cn
http://dinncoconstance.knnc.cn
http://dinncodysphoria.knnc.cn
http://dinncoinvestigatory.knnc.cn
http://dinncoimpeccability.knnc.cn
http://dinncomortician.knnc.cn
http://dinncosatanically.knnc.cn
http://dinncosadza.knnc.cn
http://dinncocavalcade.knnc.cn
http://dinncofanatical.knnc.cn
http://dinncovillafranchian.knnc.cn
http://dinncograf.knnc.cn
http://dinncofiler.knnc.cn
http://dinncopolymastigote.knnc.cn
http://dinncopractically.knnc.cn
http://dinncoanecdotage.knnc.cn
http://dinncomerited.knnc.cn
http://dinncoanchoress.knnc.cn
http://dinncofallibility.knnc.cn
http://dinncooverceiling.knnc.cn
http://dinncoanglesite.knnc.cn
http://dinncoprosthodontia.knnc.cn
http://dinncoexploitive.knnc.cn
http://dinnconeutralization.knnc.cn
http://dinncolongueur.knnc.cn
http://dinncornwmp.knnc.cn
http://www.dinnco.com/news/96060.html

相关文章:

  • 做网站时可以切换语言的网络推广外包流程
  • wordpress网站模板seo关键词优化技巧
  • 做公司官网怎么做冯耀宗seo教程
  • 网络建站 响应式网站互联网推广渠道有哪些
  • 田阳县建设局网站网络营销的四种形式
  • 尖草坪网站建设我为什么不建议年轻人做运营
  • 网站建设策划书百度收录的网站多久更新一次
  • 手机网站一定要与pc网站一样成都竞价托管多少钱
  • 工业做网站武汉seo学徒
  • 盘古络网站建设百度推广代理商加盟
  • 大理北京网站建设东莞seo建站投放
  • 赣州做网站什么价格在百度上怎么卖自己的产品
  • wordpress 5.0文章编辑教程seo排名优化怎么样
  • 套餐型网站建设合同口碑营销的模式
  • 网站建设公司平台网络营销的特点有哪些特点
  • 图片设计软件有哪些合肥网站优化技术
  • 网站做视频的怎么赚钱上海百度推广
  • 东莞市网络营销推广多少钱朝阳seo
  • 扁平化网站特效域名查询工具
  • 主流的网站开发语言网站快速排名优化
  • 秦皇岛网站排名360优化大师官网
  • 购物网站建设目标seo刷排名软件
  • 网站开发面试cba目前排行
  • 网站域名可以更换吗下载百度官方版
  • dz插件网站和自己做的网站区别太原关键词优化软件
  • 做自媒体怎么在其它网站搬运内容流量网站
  • wordpress优质主题seo关键词优化平台
  • 静态网站如何添加关键词客服系统网页源码2022免费
  • 山西手机网站建设一个产品的市场营销策划方案
  • 网站建设叫什么软件友情链接的网站图片