Установка сервера Nginx Mac os X

У меня возникают ошибки конфигурации, и я исследовал его в Интернете, но я не совсем уверен, в чем проблема. Я хочу установить PHP и Nginx в операционную систему os x 10.7.5. Всякий раз, когда я пытаюсь запустить или остановить сервер, я получаю следующие ошибки:

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 или если он находится где-то в другом месте. Ваша помощь приветствуется.

Ответ 1

Попробуйте это в терминале:

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 и позвольте надеяться, что вы снова не увидите ошибку.

Ответ 2

Добавьте в nginx.conf в главном разделе:

worker_rlimit_nofile 1024;

Ответ 3

Согласитесь с решением lifecomm, лучше ориентируясь на конкретную проблему nginx:

worker_rlimit_nofile изменяет ограничение на максимальное количество открытых файлов (RLIMIT_NOFILE) для рабочих процессов. Используется для увеличения лимита без перезапуска основного процесса.