我想为一个应用程序创建一个cloud9自动安装脚本,它使用couchdb作为数据库。脚本的一部分是应用程序数据库的设置,它需要运行couchdb才能正常工作。
问题是cloud9上关于couchdb的唯一可用解决方案帮助您实例化couchdb作为前台过程。因此,如果您想测试实例化的正确性,或者执行任何其他命令,您需要打开上面的解决方案中记录的第二个终端选项卡,但在我的例子中,这是不起作用的。
那么,如何使couchdb在后台运行呢?
发布于 2017-11-26 13:27:44
如果将参数CouchDB传递给可执行文件,或者在默认情况下重新配置可执行文件以在后台运行,则可以在Cloud9上的后台执行Ok -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/couchdb2.创建CouchDB pid存储dir
sudo mkdir -p /var/run/couchdb
sudo chown couchdb:couchdb /var/run/couchdb3.可重构的可执行
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+Bonus1 1
如果您想在后台运行CouchDB,而不使用-b参数,如:sudo su couchdb -c /usr/bin/couchdb,那么在步骤3中,当重新配置couchdb可执行文件时,您还应该用BACKGROUND=true更改BACKGROUND=false
+Bonus2 2
:创建一个.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/couchdbhttps://stackoverflow.com/questions/47496665
复制相似问题