Ok CouchDB может выполняться в фоновом режиме на Cloud9, если вы передадите параметр -b
исполняемому файлу или перенастроите исполняемый файл для работы в фоновом режиме по умолчанию. Но если вы попытаетесь запустить CouchDB таким образом, вы столкнетесь с несуществующими файлами журналов и ошибками прав доступа, когда CouchDB попытается их создать.
Таким образом, следуя приведенным ниже шагам, CouchDB будет работать без сбоев.
<сильный>1. Создайте файлы журналов (и предоставьте соответствующие разрешения пользователю coachdb)
sudo su couchdb -c 'touch /var/log/couchdb/couchdb.stdout'
sudo su couchdb -c 'touch /var/log/couchdb/couchdb.stderr'
sudo chown couchdb: /var/log/couchdb
sudo chmod u+w /var/log/couchdb
<сильный>2. Создать каталог хранения PID CouchDB
sudo mkdir -p /var/run/couchdb
sudo chown couchdb:couchdb /var/run/couchdb
3. Переконфигурировать исполняемый файл
sudo nano /usr/bin/couchdb
Изменить STDERR_FILE:couchdb.stderr
с STDERR_FILE:/var/log/couchdb/couchdb.stderr
И STDERR_FILE:couchdb.stdout
с STDERR_FILE:/var/log/couchdb/couchdb.stdout
4. Запуск в фоновом режиме
sudo su couchdb -c '/usr/bin/couchdb -b'
5. Тест
curl http://127.0.0.1:5984
+Бонус1
Если вы хотите запустить CouchDB в фоновом режиме без параметра -b, например: sudo su couchdb -c /usr/bin/couchdb
, то на шаге 3 при перенастройке исполняемого файла CouchDB вы также должны изменить BACKGROUND=false
с BACKGROUND=true
+Бонус2
Версия скрипта bash: создайте файл .sh, добавьте следующие команды и запустите его в рабочей области cloud9, чтобы правильно настроить CouchDB для фонового выполнения. После выполнения скрипта запустите CouchDB с sudo su couchdb -c /usr/bin/couchdb
.
sudo su couchdb -c 'touch /var/log/couchdb/couchdb.stdout'
sudo su couchdb -c 'touch /var/log/couchdb/couchdb.stderr'
sudo chown couchdb: /var/log/couchdb
sudo chmod u+w /var/log/couchdb
sudo mkdir -p /var/run/couchdb
sudo chown couchdb:couchdb /var/run/couchdb
sudo sed -i 's_couchdb.stderr_/var/log/couchdb/couchdb.stderr_g' /usr/bin/couchdb
sudo sed -i 's_couchdb.stdout_/var/log/couchdb/couchdb.stdout_g' /usr/bin/couchdb
sudo sed -i 's_BACKGROUND=false_BACKGROUND=true_g' /usr/bin/couchdb
person
gmanousaridis
schedule
26.11.2017