16

我遇到了配置错误,我在网上进行了研究,但我不太确定问题出在哪里。我想在 os x 10.7.5 操作系统上安装 PHP 和 Nginx。每当我尝试启动或停止服务器时,我都会收到以下错误:

tone$ nginx
nginx: [warn] 1024 worker_connections exceed open file resource limit: 256
alcfwl128:~ tolbert$ nginx: [emerg] open() "/usr/local/Cellar/nginx/1.4.3/logs/nginx.pid" failed (2: No such file or directory)

nginx -s stop
nginx: [error] open() "/usr/local/Cellar/nginx/1.4.3/logs/nginx.pid" failed (2: No such file or directory)

对于第一个错误,我尝试了以下命令:tone$ ulimit -n 65536

但是我收到此错误:-bash: ulimit: open files: cannot modify limit: Invalid argument 我不确定是否要在目录中创建日志文件夹以及 nginx.pid 文件,或者它是否位于其他位置。感谢您的帮助。

4

3 回答 3

42

在你的终端试试这个:

ulimit -a

结果应该与此类似:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

在您的情况下,要将打开文件限制增加到 1024,请使用以下代码:

ulimit -n 1024

通过运行检查,sudo nginx -t希望您不再看到错误

于 2014-01-27T00:04:30.520 回答
12

添加到nginx.conf主要部分:

worker_rlimit_nofile 1024;
于 2015-11-25T07:52:23.730 回答
0

同意lifecomm的解决方案,更好地针对特定的nginx问题:

worker_rlimit_nofile 更改工作进程的最大打开文件数 (RLIMIT_NOFILE) 限制。用于在不重新启动主进程的情况下增加限制。

于 2019-04-21T07:35:02.527 回答