Ok CouchDB 可以在 Cloud9 上在后台执行,如果您将参数 -b 传递给可执行文件,或者将可执行文件重新配置为默认在后台运行。但是如果你尝试像这样运行 couchdb,当 couchdb 尝试创建它们时,你会遇到不存在的日志文件和权限错误。
因此,按照以下步骤将让 couchdb 顺利启动并运行。
1.创建日志文件(并授予 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
2。创建 CouchDB pid 存储目录
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 以进行后台执行。执行脚本后使用sudo su couchdb -c /usr/bin/couchdb启动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