1Panel OpenResty 无限重启排查记

本文摘要
最崩溃的不是网站挂了,而是1Panel里的OpenResty一直“重启中”,你连后台网站设置都进不去,想修都没入口。很多人这时候先怀疑端口、镜像、配置,结果越查越乱。真正把容器拖进死循环的,往往只是一个早被忽略的证书文件:配置还在,文件没了,Nginx连启动资格都没有。这篇排查记最有价值的,不是报错本身,而是当面板也失灵时,怎么绕开它把服务先救回来。你猜最省事的那一步,删的是配置,还是补的是证书?
— AI 生成,仅供参考

起因

1Panel 面板里 OpenResty 容器状态一直是”重启中”,所有依赖它的网站全部打不开。更烦人的是——因为 OpenResty 没启动,面板里网站设置页面也操作不了,鸡生蛋蛋生鸡。

1Panel OpenResty 无限重启排查记

排查

第一步当然是看日志:

docker logs $(docker ps -a --filter "name=openresty" -q) --tail 100

日志里满屏都是同一行报错:

cannot load certificate "/www/sites/example.yourdomain.com/ssl/fullchain.pem":
BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory)

原因很直白:example.yourdomain.com 这个站点配置了 HTTPS,但证书文件不存在。Nginx 启动时加载配置 → 找不到证书 → 启动失败 → Docker restart 策略让它再试 → 又失败 → 无限循环。

为什么证书会丢?

几种可能:

  • 站点创建时申请了证书,后来手动删除了证书文件
  • 用 Let’s Encrypt 自动续期,但续期失败后旧证书过期被清理
  • 迁移或备份恢复时漏掉了证书目录
  • 手动清理磁盘时误删

不管哪种,结果一样:Nginx 配置里引用了一个不存在的文件,直接炸。

解法

因为 OpenResty 起不来,1Panel 面板里的网站管理页面也用不了,所以得直接在服务器上操作。

方式一:生成自签证书占位(推荐)

让证书文件”存在”就行,Nginx 不关心证书内容是否正确,只要文件在就能启动。启动后回到面板再正式申请正式证书。

# 确认证书目录路径,通常在:
ls /opt/1panel/apps/openresty/openresty/www/sites/example.yourdomain.com/ssl/

# 如果 ssl 目录不存在就创建
mkdir -p /opt/1panel/apps/openresty/openresty/www/sites/example.yourdomain.com/ssl/

# 生成自签证书占位
openssl req -x509 -nodes -days 365 -newkey rsa:2048 
  -keyout /opt/1panel/apps/openresty/openresty/www/sites/example.yourdomain.com/ssl/privkey.pem 
  -out /opt/1panel/apps/openresty/openresty/www/sites/example.yourdomain.com/ssl/fullchain.pem 
  -subj "/CN=example.yourdomain.com"

# 重启 OpenResty
docker restart $(docker ps -a --filter "name=openresty" -q)

好处是保留了站点配置,启动后可以回到面板正常管理,再替换成正式证书。

方式二:删掉站点配置文件

如果暂时不需要这个站点,或者想回到面板重新配置,直接删掉对应的 Nginx 配置文件。

# 找到站点配置文件
ls /opt/1panel/apps/openresty/openresty/conf/conf.d/

# 先备份
cp /opt/1panel/apps/openresty/openresty/conf/conf.d/example.yourdomain.com.conf ~/站点配置备份.conf.bak

# 删除
rm /opt/1panel/apps/openresty/openresty/conf/conf.d/example.yourdomain.com.conf

# 重启
docker restart $(docker ps -a --filter "name=openresty" -q)

我这次用的方式二,删完重启,OpenResty 立刻正常。后续需要时再在面板里重新创建站点。

复盘

环节要点
现象OpenResty 容器不断重启
根因站点开了 HTTPS 但证书文件不存在
关键docker logs 一眼看穿
坑点面板操作依赖 OpenResty,必须绕过面板手动修
预防别手动删证书文件;Let’s Encrypt 续期失败要及时处理

1Panel OpenResty 重启的常见原因速查

如果日志里不是证书问题,还有这些可能:

  1. 端口冲突:80/443 被其他进程占,ss -tuln | grep ':80 ' 检查
  2. 镜像不完整:特别是 ARM 架构,重新 docker pull
  3. 配置语法错误docker exec 进容器跑 nginx -t
  4. 磁盘满df -h 看一眼

但说实话,碰到 OpenResty 无限重启,十次有八次是证书文件的问题。

【文武哥日常】原创文章,作者:【文武哥】,如若转载,请注明出处

(0)
打赏 打赏文武哥 打赏文武哥
无损同步WorkBuddy项目进度与人格设定
上一篇 2026年5月26日 下午4:31
WorkBuddy 手机远程控制模式深度解析:会话隔离、文件操作与记忆连续性详解
下一篇 2026年6月4日 下午12:20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(57条)

  • 麒麟祥瑞的头像
    麒麟祥瑞 2026年6月2日 下午7:33

    我也遇到过这问题,折腾了半天才发现是证书文件丢了,坑爹😤

  • NightmareDancer的头像
    NightmareDancer 2026年6月2日 下午7:38

    docker logs真是排查神技啊

  • 袋鼠快递员的头像
    袋鼠快递员 2026年6月2日 下午8:34

    自签证书这招太救命了

  • Dark暗的头像
    Dark暗 2026年6月2日 下午9:11

    证书一丢直接雪崩,这谁顶得住

    • 文武哥的头像
      文武哥 2026年6月2日 下午9:45

      @Dark暗是,一丢就连锁反应,后来我直接用自签占位先顶着,面板起来再补正式证书。

  • 桂花飘香的头像
    桂花飘香 2026年6月2日 下午9:22

    删配置文件重启,简单粗暴有效

  • 羽觞的头像
    羽觞 2026年6月2日 下午10:06

    nginx一炸,全家都得等修

  • 流年似水逝的头像
    流年似水逝 2026年6月3日 上午8:04

    自签证书确实稳,省得折腾

  • 星空鹿的头像
    星空鹿 2026年6月3日 上午10:18

    这直接把配置删掉重启就行?站点配置备份了后面重建方便吗?

    • 跑步狂的头像
      跑步狂 2026年6月2日 下午7:40

      @星空鹿重建很方便的,1Panel里重新添加站点填下域名就行了

  • 星际梦想的头像
    星际梦想 2026年6月3日 上午10:53

    方式二的备份思路不错,下次留个心眼先cp备份一下

  • 寂夜客的头像
    寂夜客 2026年6月3日 下午2:38

    自签证书占位这招确实省事

    • 悠悠的头像
      悠悠 2026年6月2日 下午7:41

      @寂夜客是的,但别忘了后面要换正式证书,不然浏览器的警告烦死了

  • 九寨幻境的头像
    九寨幻境 2026年6月3日 下午4:44

    还可以看看是不是磁盘满了,我上次就是/var/lib/docker满了导致证书写不进去

  • EchoEthereal的头像
    EchoEthereal 2026年6月3日 下午5:32

    自签证书占位后,面板里能直接换正式证书吗?需要手动改配置吗?

  • Nova星的头像
    Nova星 2026年6月3日 下午11:07

    openssl生成自签证书时-subj参数可以随便填吗?

    • 铁血刀的头像
      铁血刀 2026年6月2日 下午7:40

      @Nova星自签证书生成的私钥用完之后要记得删掉吧,不然安全起见?

  • 暗夜炼金师的头像
    暗夜炼金师 2026年6月4日 上午7:43

    删配置太粗暴了,自签证书方案最好,保留站点配置

  • 小猫崽崽的头像
    小猫崽崽 2026年6月4日 下午12:44

    又是证书问题,Nginx这玩意一生气就罢工 😤

  • MythosWraith的头像
    MythosWraith 2026年6月4日 下午5:12

    我之前也被这个loop搞崩溃,发现是letsencrypt续期失败证书过期了😭

  • 辐射之狼的头像
    辐射之狼 2026年6月4日 下午7:26

    我之前也是遇到证书问题,最后发现是letsencrypt续期失败旧证书被清除了,坑😭

  • 林间漫行的头像
    林间漫行 2026年6月5日 上午8:12

    还可以检查下nginx -t看看配置语法,有时候多了个分号也炸

  • 钢铁残影的头像
    钢铁残影 2026年6月5日 下午5:54

    虽然没看懂具体操作,但感觉运维都好强啊

  • 荒芜的头像
    荒芜 2026年6月6日 上午7:24

    又是docker restart loop,烦死了

    • 腊八粥暖的头像
      腊八粥暖 2026年6月2日 下午7:40

      @荒芜搞过几次就习惯了,docker restart loop真是经典故障

  • 泡泡吹奏者的头像
    泡泡吹奏者 2026年6月6日 下午12:26

    虽然看不懂,但感觉好厉害

  • SocialJuggernaut的头像
    SocialJuggernaut 2026年6月6日 下午9:54

    自签证书这招真香,比删配置稳妥多了

  • 企鹅步的头像
    企鹅步 2026年6月7日 下午1:54

    其实方式一也挺麻烦,自签后面还得换,不如直接删配置重建

  • 白云观的头像
    白云观 2026年6月8日 下午3:33

    如果站点多一个个删太慢,有批量处理的方法吗?

  • 数据流侠的头像
    数据流侠 2026年6月9日 上午11:39

    1Panel确实好用,小毛病需要慢慢磨合

  • 月映廊桥的头像
    月映廊桥 2026年6月9日 下午11:53

    这波操作可以写到运维血泪史里

  • 荔枝妹妹的头像
    荔枝妹妹 2026年6月10日 上午11:41

    证书问题真是老生常谈了,我上次也是被这个坑惨了😭

  • 吃货小明的头像
    吃货小明 2026年6月10日 下午3:12

    自签证书那招我试过,确实能让服务先跑起来,就是后面记得换正式证书

  • 知远的头像
    知远 2026年6月10日 下午11:29

    方法确实实用

  • 草莓心的头像
    草莓心 2026年6月10日 下午11:48

    想问下,用自签证书占位后,1Panel面板里的证书管理页面能正常申请正式证书吗?

  • 梦魇的头像
    梦魇 2026年6月11日 上午10:15

    感觉这文章就是写给像我这种小白看的,步骤够详细👍

  • 独饮寂寞的头像
    独饮寂寞 2026年6月11日 下午1:14

    为啥不直接在配置里把HTTPS先关了?那样不是更简单?

  • 雨后心情的头像
    雨后心情 2026年6月11日 下午6:20

    之前搞过类似排查,docker logs真的是第一手线索,比啥都好使

  • 大司农的头像
    大司农 2026年6月12日 上午9:24

    删配置备份一步到位,我一般也这么干,省得自签证书还得手动换

  • 孤城夜语的头像
    孤城夜语 2026年6月13日 下午3:08

    这种无限重启真是气死人,每次排查心累!

  • 雷霆暴走的头像
    雷霆暴走 2026年6月16日 上午7:34

    ssl目录下的证书是1Panel自动管理的吗?还是自己放进去?

  • FreshlyBaked的头像
    FreshlyBaked 2026年6月19日 下午12:05

    我就吃个瓜,虽然没遇到过,但感觉运维真不容易

  • 春分燕子的头像
    春分燕子 2026年6月19日 下午6:16

    折腾这些玩意还是得靠命令行,面板一崩啥都干不了

  • 恐惧的深渊的头像
    恐惧的深渊 2026年6月20日 下午3:29

    hhh,搞运维的谁还没被证书坑过呢

  • 霸气犀牛的头像
    霸气犀牛 2026年6月20日 下午11:12

    1Panel的开发者们加油啊,看好你们

  • 凤仪宫娘娘的头像
    凤仪宫娘娘 2026年6月22日 上午12:21

    是不是可以加个自动检查证书存活的脚本,提前预警啊?

  • 奶茶控的头像
    奶茶控 2026年6月22日 下午9:29

    那个openssl命令里的-subj参数能随便填吗?会不会影响后面正式证书?

  • 猎户阿虎的头像
    猎户阿虎 2026年6月23日 下午6:24

    这无限重启的loop真心烦人,看到就头大🤯

  • 九牛一毛的头像
    九牛一毛 2026年6月26日 下午2:41

    方式一保留站点配置更优雅,不过要是站点多的话生成自签也得写脚本吧

  • 古巷深幽的头像
    古巷深幽 2026年6月28日 下午2:56

    我选方式二,简单粗暴,反正重建站点也不麻烦

  • 春分柳絮的头像
    春分柳絮 2026年6月28日 下午3:21

    技术文章最喜欢这种有实操步骤的,比那些纯理论的好多了

  • 草原牧歌的头像
    草原牧歌 2026年6月29日 上午10:35

    那个,ssl目录下的证书是1Panel自动管理的吗?还是手动放的?