windows配置supervisor实现nginx自启

前言

有些老项目的nginx部署在windows server上,而且服务器比较老旧,经常异常重启。鉴于个人并不熟悉windows server,因此配置supervisor自启nginx,实现windows开机自启supervisor,然后supervisor启动nginx。

安装supervisor

supervisor为go语言版,代码仓库地址: https://github.com/ochinchina/supervisord

  1. 代码拉取后,编译出windows的二进制程序

    go build -o supervisord.exe

  2. 随便找个目录放置supervisor的二进制程序,比如C:\supervisor

  3. C:\supervisor目录下新建文件supervisord.conf,内容示例如下:

    [inet_http_server]
    port=127.0.0.1:9001
    [supervisord]
    logfile=%(here)s/supervisord.log
    logfileMaxbytes=50MB
    logfileBackups=10
    loglevel=info
    pidfile=%(here)s/supervisord.pid
    [include]
    files = C:\supervisor\conf/*.ini

  4. C:\supervisor目录下新建文件夹conf,,然后在 conf 文件夹下新建文件 nginx.ini,内容示例如下,注意根据实际情况修改nginx的路径

    [program:nginx]
    directory=C:\applications\nginx-1.22.1
    command=C:\applications\nginx-1.22.1\nginx.exe
    autostart=true
    autorestart=true
    stopsignal=TERM

  5. 编写启动的批处理脚本,示例如下:

    @echo off
    start C:\supervisord\supervisord.exe /c C:\supervisord\supervisord.conf /d

修改nginx的配置

主要设置nginx为前台启动,修改nginx.conf文件,在全局域中添加配置参数:

复制代码
daemon off;

配置任务计划程序

windows的任务计划程序类似linux的crontab

  1. 创建任务,常规菜单中,名称任意,可填写"supervisor",描述任意,安全选项勾选"不管用户是否登录都要运行",可勾选"使用最高权限运行"
  2. 点击菜单栏"触发器",点击新建,开始任务切换为"启动时"
  3. 点击菜单栏"操作",点击新建,程序或脚本栏选择"安装supervisor - 第5步"中的批处理脚本路径
  4. 保存任务即可
  5. 若为测试环境,可重启服务器测试supervisor和nginx是否已自启
相关推荐
DLYSB_8 小时前
存储运维实战:基于 Ceph Event 监听与 Python 适配器的分布式存储健康度物理声光响应架构
运维·ceph·python·报警灯
阿里云云原生9 小时前
可用性从 99.9% 跃升至 99.995%:畅捷通如何用 AI 重塑运维底座?
运维·网络·人工智能
阿童木写作10 小时前
Python实现Temu图片批量翻译自动化教程
运维·人工智能·python·自动化
iori97king11 小时前
库存不足自动通知:第一次使用自动化
运维·自动化
@insist12311 小时前
信息系统管理工程师-信息系统运维资源、技术与智能运维核心考点解析
运维·软考·信管·软件水平考试·信息系统管理工程师
木子欢儿11 小时前
Intel 架构的 MacBook Pro 运行 Linux 发热量高解决
linux·运维·服务器
凡尘——雨落凡尘13 小时前
PHP 线上十大隐形故障复盘:90% 的网站卡顿、502、雪崩,都是这些细节导致的
redis·nginx·php·session
KKKlucifer13 小时前
运营商全域安全运维支撑体系落地实践
运维·安全
EAIReport13 小时前
工业电气自动化数据治理破局:多Agent大模型赋能全景智能决策
大数据·运维·自动化
会编程的土豆14 小时前
Go 模板初识
linux·运维·服务器