1.2.23. 配置¶
CouchDB服务器配置API提供了一个接口,用于查询和更新正在运行的CouchDB实例中的各种配置值。
1.2.23.1. 访问本地节点的配置¶
文本字符串 _local
作为所有节点的本地别名,因此, {{node-name}}
可替换为 _local
,以与本地节点的配置交互。
1.2.23.2. /_node/{node-name}/_config
¶
-
GET
/_node/{node-name}/_config
¶ 以JSON结构形式返回整个CouchDB服务器配置。该结构由不同的配置部分组成,具有单独的值。
请求标头: - Accept --
- application/json
- text/plain
响应头: - Content-Type --
- application/json
- text/plain; charset=utf-8
状态代码: - 200 OK -- 请求已成功完成
- 401 Unauthorized -- 需要CouchDB服务器管理员权限
Request
GET /_node/nonode@nohost/_config HTTP/1.1 Accept: application/json Host: localhost:5984
响应 :
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 4148 Content-Type: application/json Date: Sat, 10 Aug 2013 12:01:42 GMT Server: CouchDB (Erlang/OTP) { "attachments": { "compressible_types": "text/*, application/javascript, application/json, application/xml", "compression_level": "8" }, "couchdb": { "users_db_suffix": "_users", "database_dir": "/var/lib/couchdb", "max_attachment_chunk_size": "4294967296", "max_dbs_open": "100", "os_process_timeout": "5000", "uri_file": "/var/lib/couchdb/couch.uri", "util_driver_dir": "/usr/lib64/couchdb/erlang/lib/couch-1.5.0/priv/lib", "view_index_dir": "/var/lib/couchdb" }, "chttpd": { "allow_jsonp": "false", "backlog": "512", "bind_address": "0.0.0.0", "port": "5984", "require_valid_user": "false", "socket_options": "[{sndbuf, 262144}, {nodelay, true}]", "server_options": "[{recbuf, undefined}]", "secure_rewrites": "true" }, "httpd": { "authentication_handlers": "{couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}", "bind_address": "192.168.0.2", "max_connections": "2048", "port": "5984", }, "log": { "writer": "file", "file": "/var/log/couchdb/couch.log", "include_sasl": "true", "level": "info" }, "query_server_config": { "reduce_limit": "true" }, "replicator": { "max_http_pipeline_size": "10", "max_http_sessions": "10" }, "stats": { "interval": "10" }, "uuids": { "algorithm": "utc_random" } }
- Accept --
1.2.23.3. /_node/{node-name}/_config/{section}
¶
-
GET
/_node/{node-name}/_config/{section}
¶ 获取单个节的配置结构。
参数: - section -- 配置节名称
请求标头: - Accept --
- application/json
- text/plain
响应头: - Content-Type --
- application/json
- text/plain; charset=utf-8
状态代码: - 200 OK -- 请求已成功完成
- 401 Unauthorized -- 需要CouchDB服务器管理员权限
请求 :
GET /_node/nonode@nohost/_config/httpd HTTP/1.1 Accept: application/json Host: localhost:5984
响应 :
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 444 Content-Type: application/json Date: Sat, 10 Aug 2013 12:10:40 GMT Server: CouchDB (Erlang/OTP) { "authentication_handlers": "{couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}", "bind_address": "127.0.0.1", "default_handler": "{couch_httpd_db, handle_request}", "port": "5984" }
1.2.23.4. /_node/{node-name}/_config/{section}/{key}
¶
-
GET
/_node/{node-name}/_config/{section}/{key}
¶ 从特定配置节中获取单个配置值。
参数: - section -- 配置节名称
- key -- 配置选项名称
请求标头: - Accept --
- application/json
- text/plain
响应头: - Content-Type --
- application/json
- text/plain; charset=utf-8
状态代码: - 200 OK -- 请求已成功完成
- 401 Unauthorized -- 需要CouchDB服务器管理员权限
请求 :
GET /_node/nonode@nohost/_config/log/level HTTP/1.1 Accept: application/json Host: localhost:5984
响应 :
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 8 Content-Type: application/json Date: Sat, 10 Aug 2013 12:12:59 GMT Server: CouchDB (Erlang/OTP) "debug"
注解
返回的值将是该值的JSON,可以是字符串或数值,也可以是数组或对象。某些客户端环境可能无法将简单字符串或数值解析为有效的JSON。
-
PUT
/_node/{node-name}/_config/{section}/{key}
¶ 更新配置值。新值应该以相应的JSON格式在请求正文中提供。如果要设置字符串值,则必须提供有效的JSON字符串。CouchDB在旧的响应部分发送key值。
参数: - section -- 配置节名称
- key -- 配置选项名称
请求标头: - Accept --
- application/json
- text/plain
- Content-Type -- application/json
响应头: - Content-Type --
- application/json
- text/plain; charset=utf-8
状态代码: - 200 OK -- 请求已成功完成
- 400 Bad Request -- JSON请求正文无效
- 401 Unauthorized -- 需要CouchDB服务器管理员权限
- 500 Internal Server Error -- 设置配置时出错
请求 :
PUT /_node/nonode@nohost/_config/log/level HTTP/1.1 Accept: application/json Content-Length: 7 Content-Type: application/json Host: localhost:5984 "info"
响应 :
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 8 Content-Type: application/json Date: Sat, 10 Aug 2013 12:12:59 GMT Server: CouchDB (Erlang/OTP) "debug"
-
DELETE
/_node/{node-name}/_config/{section}/{key}
¶ 删除配置值。返回的JSON将是删除之前配置参数的值。
参数: - section -- 配置节名称
- key -- 配置选项名称
请求标头: - Accept --
- application/json
- text/plain
响应头: - Content-Type --
- application/json
- text/plain; charset=utf-8
状态代码: - 200 OK -- 请求已成功完成
- 401 Unauthorized -- 需要CouchDB服务器管理员权限
- 404 Not Found -- 找不到指定的配置选项
请求 :
DELETE /_node/nonode@nohost/_config/log/level HTTP/1.1 Accept: application/json Host: localhost:5984
响应 :
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 7 Content-Type: application/json Date: Sat, 10 Aug 2013 12:29:03 GMT Server: CouchDB (Erlang/OTP) "info"
1.2.23.5. /_node/{node-name}/_config/_reload
¶
3.0 新版功能.
-
POST
/_node/{node-name}/_config/_reload
¶ 从磁盘重新加载配置。这样做的副作用是刷新所有尚未提交到磁盘的内存中配置更改。
请求 :
POST /_node/nonode@nohost/_config/_reload HTTP/1.1 Host: localhost:5984
响应 :
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 12 Content-Type: application/json Date: Tues, 21 Jan 2020 11:09:35 Server: CouchDB/3.0.0 (Erlang OTP) {"ok":true}