Я пытался запустить couchdb с runit и обнаружил ошибку, указанную выше. Даже this , this и многие другие не помогли мне понять, в чем проблема.
Вот что я сделал, чтобы создать проблему. Runit и couchdb были установлены свежими.
Я использую CentOS 7.
Шаг 1: Убедитесь, что команда couchdb верна:
#exec /usr/local/bin/couchdb
Apache CouchDB 1.6.1 (LogLevel=info) is starting.
Apache CouchDB has started. Time to relax.
[info] [<0.32.0>] Apache CouchDB has started on http://0.0.0.0:5984/
Шаг 2: Создайте папки. Вот как выглядит моя структура папок:
/
|--etc
|--sv
|--couchdb
|--service
Шаг 3: Внутри / etc / sv /
я создаю файл с именем run
со следующим скриптом внутри:
#!/bin/sh
exec /usr/local/bin/couchdb
Шаг 4 : Активируйте его, связав каталог процесса:
ln -s /etc/sv/couchdb /etc/service/couchdb
Шаг 5: Попробуйте запустить его:
#sv start couchdb
warning: couchdb: unable to open supervise/ok: file does not exist
Все результаты поиска указывают на один и тот же тип шагов, которые необходимо предпринять. Я выполнил все инструкции, которые смог найти, и застрял здесь.
runit
нуждается в runit-systemd
для управления CouchDBУ меня была точно такая же проблема в Debian 10 и – как и во многих случаях с настройкой CouchDB – ответ найти нелегко.
Однако в сообщении на Ask Ubuntu указывалось, что «пакет runit
не предоставляет юнит-файл systemd» — он предоставлен runit-systemd
, так что…
sudo aptitude install runit-systemd
выполнил свою работу.
До:
sudo sv status couchdb
warning: couchdb: unable to open supervise/ok: file does not exist
После:
sudo sv status couchdb
down: couchdb: 0s, normally up, want up; run: log: (pid 24238) 122s