背景
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
minfds
和 minprocs
决定了 supervisord
进程及其守护的子进程的 Max Processes 和 Max open files
解决方案
- 将
minfds
和minprocs
调大 - 使用
systemctl
进行管理。- frps 官方下载包中含有
frps.service
,可按需修改配置内容 - 将其放入
/usr/lib/systemd/system/
-
systemctl enable frps
加入开机启动 -
systemctl start frps
启动 frps
- frps 官方下载包中含有