[php] Redis의 비밀번호를 설정하는 방법은 무엇입니까?

내 로컬 컴퓨터에서 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

`