Запустите CouchDB в фоновом режиме на Cloud9

Я хочу создать сценарий автоматической установки cloud9 для приложения, которое использует CouchDB для базы данных. Частью скрипта является настройка базы данных приложения, для правильной работы которой требуется запуск CouchDB.

Проблема в том, что единственное доступное решение о CouchDB в облаке9 поможет вам создать экземпляр Couchdb в качестве процедуры переднего плана. Поэтому, если вы хотите проверить правильность создания экземпляра или выполнить любую другую команду, вам нужно открыть вторую вкладку терминала, как описано в приведенном выше решении, но в моем случае это не работает.

Итак, как мне заставить CouchDB работать в фоновом режиме?


person gmanousaridis    schedule 26.11.2017    source источник


Ответы (1)


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