업데이트 : 지금 작동하고 있습니다. Jim Zajkowski의 답변을 통해 /etc/init.d/couchdb 재부팅 호출이 실제로 인스턴스를 재부팅하지 않았 음을 감지 할 수 있었습니다. CouchDB 프로세스를 수동으로 종료하고 새 인스턴스를 시작한 후 필요한 BindAddress 변경 사항을 선택했습니다.
나는 CouchDB를 통해 설치했다
적성 설치 couchdb
내 서버에서 연결할 수 있습니다
텔넷 로컬 호스트 5984
RESTful 명령을 실행하십시오. 네트워크의 다른 컴퓨터 나 네트워크 외부의 컴퓨터에서 서버에 액세스하려고하면 연결이 재설정되었습니다 오류가 발생합니다. 라우터에서 포트 전달을 설정했으며 Apache, Tomcat, SSH 등을 통해 서버에 액세스 할 수 있습니다.
Linux / Ubuntu를 처음 사용하므로 연결을 차단하는 기본 방화벽이 있는지 확실하지 않았으므로 다음을 실행했습니다.
iptables -A 입력 -p tcp –dport 5984 -j 수락
그러나 도움이되지 않았습니다.
다음은 iptables -L -n -v 를 실행 한 덤프입니다.
Chain INPUT (policy ACCEPT 2121K packets, 1319M bytes)
pkts bytes target prot opt in out source destination
70 3864 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5984
9 1647 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1708K packets, 1136M bytes)
pkts bytes target prot opt in out source destination
5984 에 대해 전송 된 것으로 표시된 바이트 가 로컬 호스트 연결 때문 이라고 가정합니다 .
다음은 netstat -an | 그렙 5984
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN
” BindAddress = 0.0.0.0″을 갖도록 couch.ini 를 구성 하고 재부팅하므로 모든 인터페이스에서 수신 대기 해야 합니다. “sudo /etc/init.d/couchdb stop”을 실행 한 다음 netstat를 실행해도 여전히 위 항목이 표시됩니다. CouchDB가 실제로 멈추지 않는 것처럼 보입니다. 이것은 CouchDB가 실제로 재부팅되지 않았고 BindAddress 변경 사항을 선택하지 않았 음을 의미하기 때문에 내 문제를 설명 할 수 있습니다.
CouchDB 프로세스를 수동으로 종료하고 다시 시작했습니다. 이제 netstat는 다음을 보여줍니다.
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5984 127.0.0.1:35366 TIME_WAIT
LAN의 다른 컴퓨터에서도 여전히 연결할 수 없습니다.
답변
무엇합니까 netstat -an | grep 5984
말은? 127.0.0.1:5984
또는 말합니까 *:5984
? 이 경우 127.0.0.1
모든 인터페이스를 수신하도록 couchdb를 설정해야합니다.
답변
/etc/couchdb/default.ini에서 bind_address를 변경해야합니다. 그런 다음 서비스를 다시 시작하고 다시 시도하십시오.
답변
이것이 작동하려면 어떤 이유로 든 실행중인 erlang 프로세스를 수동으로 종료해야한다는 것을 알았습니다. ps ax | grep beam
얼랭 프로세스를 드러내야한다. 당신은 0:00 /usr/lib/erlang/erts
출력 어딘가에서 무언가를 얻어야한다 . 이 프로세스를 종료 한 다음 실행 /etc/init.d/couchdb restart
하면 새 구성 파일이로드됩니다.
답변
가정용 PC / Mac에서 다음 명령을 실행하십시오.
ssh -L 5984:localhost:5984 YOUR-SERVER-IP-HERE
다음은 브라우저에서 열기 localhost : 5984 / _utils … 그것은 나를 위해 작동
답변
구성 문서 :
Futon 구성 패널에서 변경 한 경우 다른 작업을 수행 할 필요가 없습니다 (db 재부팅 등).
기본 bind_address를 변경하기 전에 :
peter@earth:~/$ netstat -an | grep 5984
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN
0.0.0.0으로 변경 한 후 :
peter@earth:~/$ netstat -an | grep 5984
tcp 0 0 0.0.0.1:5984 0.0.0.0:* LISTEN
전문가가 아닌 사용자 : 자신의 컴퓨터에 액세스 할 수없는 컴퓨터 (일반적으로 로컬 네트워크 외부의 컴퓨터)는 여전히 컴퓨터 (CouchDB 또는 다른 컴퓨터)에 액세스 할 수 없습니다.
답변
이 문제가 발생하여 Ubuntu 설치에 couchdb가 이미 설치되어 있다는 문제가 발생했습니다. / etc / couchdb에서 구성 파일을 편집했지만 실제로 실행중인 파일은 / usr / local / etc / couchdb에서 구성을 가져 오는 것입니다.
팁은 / etc / couchdb의 구성이 소파 0.10을 언급했지만 1.0.1을 설치 한 것입니다.
답변
iptables -L -n -v
현재 방화벽 규칙을 보여줍니다. 규칙에 도달하기 전에 해당 패킷을 삭제하는 패킷이 있는지 확인하십시오.