回答
收藏
分享
举报
Worker_rlimit_nofile指令不生效
提问于2020-10-29 11:58

浏览 5.3k

有没有遇到不生效的朋友,默认读取的还是系统设置。

已修改于2023-03-10 14:25



写下您的回答
发表回答
全部回答(3)

按点赞数排序

按时间排序

在配置多个监听器时,有报too many open files

1.是root用户启动的nginx

2.limits.conf中配置的1000000

3.nginx.conf中worker_rlimit_nofile 配置的655350,worker_processes配置的10,worker_connections配置的65535

赞同

1

回复举报

回答于2020-11-12 21:25



回复Omg
回复

你好Omg,直播中你提的问题,就是这个问题吗?我们互动解决下看看。你是看到too many open file错误了吗?

对于worker_rlimit_nofile指令,Nginx其实是调用Linux的setrlimit(RLIMIT_NOFILE, &rlmt)函数实现的,它与ulimit -n命令行相似,同时受制于2个条件:

1、所在用户组的句柄数。你是用root用户启动Nginx的吗?

2、/proc/sys/fs/nr_open系统级限制。这个值是多少?

持久化配置到文件/etc/security/limits.conf也是不错的。


赞同

1

回复举报

回答于2020-11-05 21:21



回复陶辉
回复
Omg回复了
在配置多个监听器时,有报too many open files 1.是root用户启动的nginx 2.limits.conf中配置的1000000,nr_open的值是1048576 3.nginx.conf中worker_rlimit_nofile 配置的655350,worker_processes配置的10,worker_connections配置的65535

0

回复举报

回答于2020-11-12 13:30



回复Omg
回复

或者必须在service文件中指定nofile

赞同

1

回复举报

回答于2020-10-29 11:58



回复Omg
回复
提问者
Omg
这家伙很懒还未留下介绍~
0
文章
1
问答
1
粉丝
相关问答
  •  Docker 版本号:
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:21 2020
OS/Arch: linux/amd64
  • 操作系统:  CentOS Linux release 7.6.1810 (Core)
 以上是版本信息,另外 内部都是通过root用户进行 docker的操作。

 

点赞 0
浏览 3.8k

可以尝试优化https的配置:

ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

点赞 0
浏览 3.8k
点赞 0
浏览 1.8k