frps error: no available port 引出的 supervisor 配置问题

背景

frps 服务大量报错 error: no available port
但是 ulimit 和 systemctl 的限制都已经改了。
systemctl 的问题可以参考之前写的 Centos 7 修改 ulimit 后 systemctl 启动服务无效

原因

frps 使用的是 supervisor 进行的管理,但是 supervisor 配置中有两个对进程和fd的关键项

minfds=1024                  ; min. avail startup file descriptors; default 1024
minprocs=200                 ; min. avail process descriptors;default 200

minfdsminprocs 决定了 supervisord 进程及其守护的子进程的 Max Processes 和 Max open files

解决方案

  1. minfdsminprocs 调大
  2. 使用 systemctl 进行管理。
    • frps 官方下载包中含有 frps.service,可按需修改配置内容
    • 将其放入 /usr/lib/systemd/system/
    • systemctl enable frps 加入开机启动
    • systemctl start frps 启动 frps
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容