docker安装onlyoffice 提示nginx

在Docker环境下部署OnlyOffice时遇到内存分配失败的问题,错误信息提示无法分配内存。问题源于Nginx配置中的worker_connections值设置过高。通过调整该值为1024,并使用`nginx-sreload`重新加载配置。同时,检查并设置了系统文件描述符的限制,将soft nofile和hard nofile的值均设置为65535。建议根据系统资源适当调整worker_processes和worker_connections的比例,并确保用户登录后文件描述符限制生效。此外,还可以通过NGINX的worker_rlimit_nofile指令覆盖ulimit设置,以确保连接数不超过系统允许的最大值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在docker上启动onlyoffice后,提示

 malloc 249108101312 failed 12:cannot allocate memory

nginx worker启动失败

查看nginx配置文件里的相关参数

 发现worker_connections值设置的很大,改为1024

重新加载nginx

nginx -s reload

worker_connections

默认值为512.该指令设置单个worker进程最大打开的连接数

一个worker进程的最大连接数。默认为512,按自己系统的硬件配置调整,不能超过worker_rlimit_nofile。

worker_rlimit_nofile
同时连接的数量受限于系统上可用的文件描述符的数量,因为每个套接字将打开一个文件描述符。 如果NGINX尝试打开比可用文件描述符更多的套接字,会发现error.log中出现Too many opened files的信息。

检查文件描述符(文件句柄数)

 文件资源限制的配置可以在/etc/security/limits.conf设置,针对root/user等各个用户或者*代表所有用户来设置。

*   soft nofile   65535

*   hard nofile   65535

 

用户重新登录生效(ulimit -n)

nginx的worker_rlimit_nofile

现在,将此值增加到大于worker_processes * worker_connections的值。 应该是增加当前worker运行用户的最大文件打开数值

NGINX提供了worker_rlimit_nofile指令,这是除了ulimit的一种设置可用的描述符的方式。 该指令与使用ulimit对用户的设置是同样的效果。此指令的值将覆盖ulimit的值,如:

worker_rlimit_nofile 65535;

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明算科

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值