Тонкая и синатра - как остановить / перезапустить? Нет thin.pid - PullRequest
6 голосов
/ 18 октября 2011

Я использую thin в качестве сервера для моего приложения Sinatra. Запускается так:

thin -C config/environment.yml -R config/config.ru start

Где environment.yml имеет тонкие вещи, а config.ru имеет общие вещи, которые вы найдете в файле рэпа.

Я бы хотел иметь возможность демонизировать (достаточно просто с помощью файла конфигурации thin) и останавливать и перезапускать его так же, как это делается с помощью apache / tomcat / etc.

Когда я пытаюсь thin stop или перезагружаться или делать другие вещи, я получаю:

Can't stop process, no PID found in tmp/pids/thin.pid

Действительно, такого файла нет. Я попытался указать pid-файл и местоположение (например, /tmp/thin.pid, чтобы быть проще) в тонкой конфигурации yml для различных мест. Все, что это делает, это изменяет местоположение каталога в сообщении "no PID found in", но файл pid не создается.

Есть идеи?

1 Ответ

9 голосов
/ 21 октября 2011

Pid будет создан, когда thin будет демонизирован, поэтому дважды проверьте конфигурацию для опции daemonize: true.Учитывая, что это yaml, пробел может заставить вещи пойти не так, как надо.В качестве альтернативы укажите --daemonize switch.

Если местоположение вашего pid-файла отличается от заданного по умолчанию, вы также должны указать файл конфигурации при выдаче stop:

thin -C config/environment.yml stop
...