내 로컬 컴퓨터에서 redis로 작업 중이므로 PHP 클라이언트로 서버에 연결하기 위해 암호를 설정할 필요가 없습니다 (predis를 클라이언트로 사용하고 있습니다). 그러나 내 앱을 라이브 서버로 이동하고 있으므로 redis 서버에 연결하기위한 암호를 설정하고 싶습니다.
몇 가지 질문이 있습니다.
-
비밀번호 설정 방법에 대해 인터넷을 통해 확인했는데 redis.conf에 비밀번호를 추가해야하는 것 같습니다. 암호를 설정하기 위해 구성 파일에 정확히 무엇을 추가해야하는지 찾을 수 없었습니다.
-
또한 사전에 암호를 어떻게 추가해야합니까? redis 서버에 연결하기 위해 다음 매개 변수 배열을 사용하고 있습니다.
$ my_server = array ( ‘host’=> ‘127.0.0.1’, ‘port’=> 6379, ‘database’=> 1);
이 방법으로 암호를 추가해야합니까?
> $my_server = array('host' => '127.0.0.1','port' =>
> 6379,'database' => 1,'password'=>password);
-
마지막 질문, 라이브 서버에서 내 redis-server를 중지하려고합니다. 다음 명령을 입력 할 때마다 동일한 오류 메시지가 계속 나타납니다.
redis-server 중지
[23925] 23 Sep 20:23:03 # 치명적인 오류, ‘stop’구성 파일을 열 수 없습니다.
보통 내 로컬 컴퓨터에서
/etc/init.d/redis-server 중지
redis 서버를 중지하지만 /etc/init.d에 redis-server라는 프로세스가 없기 때문에 라이브 서버에서 작동하지 않습니다.
답변
암호를 설정하려면 redis.conf 파일을 편집하고 다음 줄을 찾으십시오.
# requirepass foobared
그런 다음 주석 처리를 제거하고 foobared를 암호로 변경하십시오. 구성 파일의 메모에서 언급했듯이 외부 사용자가 1 초에 150k 이상의 암호를 추측하기 쉽습니다.
predis를 사용하여 새 비밀번호로 인증하려면 표시된 구문이 정확합니다. 연결 매개 변수 중 하나로 비밀번호를 추가하기 만하면됩니다.
redis를 종료하려면 설정 파일에서 pidfile
설정 을 확인하십시오.
pidfile /var/run/redis.pid
명령 줄에서 다음을 실행합니다.
cat /var/run/redis.pid
실행중인 서버의 프로세스 ID를 제공 한 다음 해당 pid를 사용하여 프로세스를 종료합니다.
kill 3832
최신 정보
또한 추가하고 싶었습니다 /etc/init.d/redis-server stop
. 라이브 서버에서 작업하는 데 익숙 하게 만들 수도 있습니다 . /etc/init.d/에있는 모든 파일은 쉘 스크립트 일뿐입니다. 로컬 서버에서 redis-server 스크립트를 가져 와서 같은 위치의 라이브 서버에 복사 한 다음 vi 등으로 무엇을하는지 살펴보십시오. 사용하기를 원하면 일부 경로 등을 수정해야 할 수도 있지만 매우 간단해야합니다.
답변
클라이언트에서 다음 명령을 사용할 수도 있습니다.
cmd :: config set requirepass p@ss$12E45
위의 명령은 서버 암호 p@ss$12E45
로 설정 됩니다 redis
.
답변
예:
redis 127.0.0.1:6379> AUTH PASSWORD
(error) ERR Client sent AUTH, but no password is set
redis 127.0.0.1:6379> CONFIG SET requirepass "mypass"
OK
redis 127.0.0.1:6379> AUTH mypass
Ok
답변
sudo nano /etc/redis/redis.conf
line을 찾아 주석 해제 # requirepass foobared
한 다음 서버를 다시 시작 하십시오.
이제 암호는 foobared
답변
redis-cli 사용 :
root@server:~# redis-cli
127.0.0.1:6379> CONFIG SET requirepass secret_password
OK
이것은 일시적으로 암호를 설정합니다 (redis 또는 서버 재시작까지)
테스트 비밀번호 :
root@server:~# redis-cli
127.0.0.1:6379> AUTH secret_password
OK
답변
redis 구성 파일 열기
sudo nano /etc/redis/redis.conf
암호 설정
바꾸다
# requirepass foobared
와
requirepass YOURPASSPHRASE
redis 다시 시작
redis-server restart
답변
이를 위해 redis 구성 파일을 업데이트해야합니다. 기본적으로 redis에 대한 암호는 없습니다.
01) redis 구성 파일 열기
sudo vi /etc/redis/redis.conf
SECURITY 섹션 에서 requirepass 필드를 찾아 해당 필드의 주석을 해제 한 다음 “foobared” 대신 비밀번호를 설정하십시오.
# requirepass foobared
다음과 같아야합니다.
requirepass YOUR_PASSWORD
그런 다음 redis를 다시 시작하고 redis-cli를 시작합니다.
비밀번호를 올바르게 설정했는지 확인해야 할 경우 redis-cli에서 commads 아래에서 실행할 수 있습니다.
sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> exit
sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> set key2 check
OK
127.0.0.1:6379> get key2
"check"
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> set key1 20
OK
127.0.0.1:6379> get key1
"20"
127.0.0.1:6379> exit
`