2017-01-07 15 views
1
내가 우분투 16.04에 CouchDB를 2.0을 설치 한

에 CouchDB를 2.0을 중지하고 ~ CouchDB를/빈/CouchDB를을 실행하여 잘 실행할 수 있습니다.는 제대로 시작하는 방법/우분투

지금은 그것을 시작하고 시스템 부팅/종료에 제대로 중지하고 싶습니다.

스크립트가 더 이상 2.0에 제공됩니다 daemonization없고, 내가 runit 사용을 피하길 원하는 문서 상태.

나는 (도움이 경우 아래 제공) 쉘 스크립트를 작성, start-stop-daemon를 사용하는 것을 시도했다. 이 방법은 내가 start CouchDB 수 있지만 stop ""모든 프로세스가 ERLang 위임 된 "couchdb"프로세스가 없기 때문에 작동하지 않습니다. 또한

, I update-rc.d couchdb.sh defaults 내가 오류 insserv: warning: script 'couchdb.sh' missing LSB tags and overrides를 얻을.

어떻게 처음부터 새로 시작하기를 추천 할 것입니다/절차를 중지? 많은 감사합니다! 여기에서

#!/bin/sh -e 

DAEMON="/home/couchdb/bin/couchdb" 
daemon_OPT="" 
DAEMONUSER="couchdb" 
daemon_NAME="couchdb" 
PATH="/sbin:/bin:/usr/sbin:/usr/bin" 

test -x $DAEMON || exit 0 

. /lib/lsb/init-functions 

d_start() { 
    log_daemon_msg "Starting system $daemon_NAME Daemon" 
    start-stop-daemon --background --name $daemon_NAME --start --quiet --chuid $DAEMONUSER --exec $DAEMON -- $daemon_OPT 
    log_end_msg $? 
} 

d_stop() { 
    log_daemon_msg "Stopping system $daemon_NAME Daemon" 
    start-stop-daemon --name $daemon_NAME --stop --retry 5 --quiet 
    log_end_msg $? 
} 

case "$1" in 

    start|stop) 
     d_${1} 
     ;; 

    restart|reload|force-reload) 
     d_stop 
     d_start 
     ;; 

    force-stop) 
     d_stop 
     killall -q $daemon_NAME || true 
     sleep 2 
     killall -q -9 $daemon_NAME || true 
     ;; 

    status) 
     status_of_proc "$daemon_NAME" "$DAEMON" "system-wide $daemon_NAME" && exit 0 || exit $? 
     ;; 
    *) 
     echo "Usage: /etc/init.d/$daemon_NAME {start|stop|force-stop|restart|reload|force-reload|status}" 
     exit 1 
     ;; 
esac 
exit 0 
+0

당신이 CouchDB를 1.6 사용할 수 있습니까? 또는 최소한 SystemD 시작 스크립트/단위 ('/ lib/systemd/system/couchdb.service' 파일)? 2.0이 필요하다면 가장 깨끗한 방법은 새로운 버전을 다시 꾸미는 것입니다 (데비안 패키지 가이드 사용). – Velkan

+0

도움 주셔서 감사합니다. 불행히도 1.6 버전의 PouchDB에서 bulk_get 문제로 인해 2.0으로 업그레이드해야했습니다. – bfredo123

+0

Stack Overflow는 프로그래밍 및 개발 관련 질문을위한 사이트입니다. 이 질문은 프로그래밍이나 개발에 관한 것이 아니기 때문에 주제와는 거리가 먼 것처럼 보입니다. 도움말 센터에서 [여기에서 내가 질문 할 수있는 항목은 무엇입니까?] (http://stackoverflow.com/help/on-topic)를 참조하십시오. 아마도 [Super User] (http://superuser.com/) 나 [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/)가 더 나은 곳이 될 것입니다. 또한 [Dev Ops에 대한 질문은 어디에 게시합니까?] (http://meta.stackexchange.com/q/134306)를 참조하십시오. – jww

답변

0

: 운영 체제와 함께 제공 https://www.jamescoyle.net/how-to/2527-add-systemd-startup-script-for-couchdb

# From: https://wiki.ubuntu.com/systemd 
# This results in systemd being installed alongside upstart 
apt-get -y install systemd libpam-systemd systemd-ui 

# From: https://www.jamescoyle.net/how-to/2527-add-systemd-startup-script-for-couchdb ([Install] section is missing!) 
# couchdb.service is a new file. Make it: 
nano /etc/systemd/system/couchdb.service 

--- file start (do not include this line) --- 
[Unit] 
Description=Couchdb service 
After=network.target 

[Service] 
Type=simple 
User=couchdb 
ExecStart=/opt/couchdb/bin/couchdb -o /dev/stdout -e /dev/stderr 
Restart=always 

[Install] 
WantedBy=multi-user.target 
--- file end (do not include this line) --- 

# This enables CouchDB automatically after reboot 
systemctl daemon-reload 
systemctl start couchdb.service 
systemctl enable couchdb.service 

# Logging: see more about journalctl elsewhere. This shows the latest 500 logs. 
journalctl -u couchdb.service | tail -n 500 

# *** update the configuration file, see above example of a configuration of local.ini *** 
service couchdb stop 
# update local.ini 
service couchdb start 
0

우분투 16.04 LTS/CouchDB를의 V2.1.0
sudo service couchdb stop

sudo service couchdb start