如何在 CentOS 8 上安裝 Apache CouchDB NoSQL 數據庫

如何在 CentOS 8 上安裝 Apache CouchDB NoSQL 數據庫

Apache CouchDB 是一個免費的、開源的、面向文檔的 NoSQL 數據庫系統,用 Erlang 編寫。 與其他關係型數據庫相比,它不以表的形式存儲數據和關係。 它使用 JSON 來存儲數據,使其更具可擴展性並且更容易對數據建模。 它還支持安靜的 HTTP API,允許您創建、編輯和刪除數據庫文檔。

在本教程中,我們將解釋如何在 CentOS 8 上安裝 Apache CouchDB NoSQL 數據庫。

先決條件

  • 服務器運行 CentOS 8。
  • 根密碼在您的服務器上設置。

安裝 Apache CouchDB

默認情況下,CentOS 8 在默認存儲庫中不提供 Apache CouchDB。 因此,您需要在系統中創建一個 Apache CouchDB 存儲庫。

CouchDB 存儲庫依賴於 EPEL 存儲庫,因此您需要在系統中安裝 EPEL 存儲庫。 您可以使用以下命令進行安裝:

dnf install epel-release -y

接下來,使用以下命令創建 Apache CouchDB 存儲庫:

nano /etc/yum.repos.d/apache-couchdb.repo

添加以下行:

[bintray--apache-couchdb-rpm]
name=bintray--apache-couchdb-rpm
baseurl=https://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1

完成後保存並關閉文件。 然後,使用以下命令安裝 Apache CouchDB:

dnf install couchdb -y

安裝成功完成後,您可以繼續下一步。

配置 CouchDB

您可以在獨立模式或集群模式下配置 CouchDB。 在本教程中,我們將在單一模式下配置 CouchDB 服務器。 默認情況下,CouchDB 在本地主機上偵聽,並且在安裝過程中沒有創建管理員帳戶。 因此,您需要為 CouchDB 創建一個管理員帳戶。 您可以通過編輯文件 local.ini 來創建它:

nano /opt/couchdb/etc/local.ini

設置bind-address為0.0.0.0允許外部IP訪問,內部設置管理員密碼[admin]部分如下圖:

[chttpd]
port = 5984
bind_address = 0.0.0.0  

[admins]
admin = password

完成後保存並關閉文件。 然後,啟動 CouchDB 服務並使其在啟動時啟動:

systemctl start couchdbsystemctl enable couchdb

現在您可以使用以下命令來驗證 CouchDB 服務的狀態:

systemctl status couchdb

您應該得到以下輸出:

? couchdb.service - Apache CouchDB
   Loaded: loaded (/usr/lib/systemd/system/couchdb.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-04-11 07:40:47 EDT; 35s ago
 Main PID: 11992 (beam.smp)
    Tasks: 43 (limit: 26213)
   Memory: 36.4M
   CGroup: /system.slice/couchdb.service
           ??11992 /opt/couchdb/bin/../erts-9.3.3.14/bin/beam.smp -K true -A 16 -Bd -- -root /opt/couchdb/bin/.. -progname couchdb -- -home /o>
           ??12004 /opt/couchdb/bin/../erts-9.3.3.14/bin/epmd -daemon
           ??12023 erl_child_setup 1024
           ??12045 sh -s disksup
           ??12047 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/memsup
           ??12048 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/cpu_sup

Apr 11 07:40:47 centos8 systemd[1]: Started Apache CouchDB.

您還可以使用以下命令檢查 CouchDB 監聽端口:

netstat -pnltu | grep 5984

您應該看到以下輸出:

tcp        0      0 0.0.0.0:5984            0.0.0.0:*               LISTEN      11992/beam.smp

配置 SELinux 和防火牆

默認情況下,系統中啟用了 SELinux。 因此建議您在系統中禁用 SELinux。

您可以通過編輯 /etc/selinux/config 文件來禁用 SELinux:

nano /etc/selinux/config

找到以下行:

SELINUX=enforcing

並且,將其替換為以下行:

SELINUX=permissive

保存並關閉文件。 然後,重新啟動系統以應用更改:

接下來,您需要通過 firewalld 允許端口 5984。 您可以使用以下命令允許它:

firewall-cmd --zone=public --permanent --add-port=5984/tcpfirewall-cmd --reload

完成後,您可以繼續下一步。

訪問 CouchDB Web UI

至此,CouchDB 已經安裝並配置完畢。 現在是時候確認 CouchDB 是否正常工作了。

您可以使用 curl 命令檢查 CouchDB:

curl https://your-server-ip:5984/

如果一切正常,您應該得到以下輸出:

{"couchdb":"Welcome","version":"3.0.0","git_sha":"03a77db6c","uuid":"d0406ea8f0b1a3f18020ec90e627ae35","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}

您還可以使用 URL https://your server-ip:5984/_utils/ 訪問 CouchDB Web UI。 您將被重定向到 CouchDB 登錄頁面:

提供您的管理員用戶名、密碼,然後單擊登錄按鈕。 您應該在以下屏幕中看到 CouchDB 儀表板:

CouchDB dashboard

使用 CouchDB 數據庫

CouchDB 還允許您使用 curl 命令創建和刪除數據庫。

要在 CouchDB 中創建名為 testdb 的數據庫,請運行以下命令:

curl -u admin:password -X PUT https://your-server-ip:5984/testdb

您應該看到以下輸出:

{"ok":true}

要在 CouchDB 中創建一個名為 userdb 的數據庫,請運行以下命令:

curl -u admin:password -X PUT https://your-server-ip:5984/userdb

您應該得到以下輸出:

{"ok":true}

您還可以使用 curl 命令驗證數據庫,如下所示:

curl -u admin:password -X GET https://your-server-ip:5984/testdb

您應該得到以下輸出:

{"db_name":"testdb","purge_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","update_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","sizes":{"file":16700,"external":0,"active":0},"props":{},"doc_del_count":0,"doc_count":0,"disk_format_version":8,"compact_running":false,"cluster":{"q":2,"n":1,"w":1,"r":1},"instance_start_time":"0"}

您還可以刷新 CouchDB 儀表板以在 Web 瀏覽器上查看數據庫。

Create a database in CouchDB

如果要刪除數據庫testdb,運行以下命令:

curl -u admin:password -X DELETE https://your-server-ip:5984/testdb

您應該得到以下輸出:

{"ok":true}

綜上所述

恭喜! 您已經在 CentOS 8 上成功安裝了 Apache CouchDB。更多信息,您可以訪問 Apache。沙發數據庫文檔。

相關文章