세션 스토리지에 Redis 사용
Commerce은 이제 Redis 세션 저장소를 구성하는 명령줄 옵션을 제공합니다. 이전 릴리스에서는 <Commerce install dir>app/etc/env.php
파일을 편집했습니다. 명령줄은 유효성 검사를 제공하며 권장 구성 방법이지만 env.php
파일을 편집할 수 있습니다.
setup:config:set
명령을 실행하고 Redis 관련 매개 변수를 지정하십시오.
bin/magento setup:config:set --session-save=redis --session-save-redis-<parameter_name>=<parameter_value>...
위치
--session-save=redis
에서 Redis 세션 저장소를 사용할 수 있습니다. 이 기능을 이미 활성화한 경우에는 이 매개변수를 생략합니다.
--session-save-redis-<parameter_name>=<parameter_value>
은(는) 세션 저장소를 구성하는 매개 변수/값 쌍의 목록입니다.
phpredis 및 php-fpm과 관련된 알려진 문제.
중요: 둘 이상의 캐싱 형식에 대해 Redis를 사용하는 경우 데이터베이스 번호가 달라야 합니다. 기본 캐싱 데이터베이스 번호는 0으로, 페이지 캐싱 데이터베이스 번호는 1로, 세션 저장소 데이터베이스 번호는 2로 지정하는 것이 좋습니다.
세부 정보(verbose)부터 세부 정보(verbose)까지 순서대로 나열되는 다음 중 하나로 설정합니다.
- 0(긴급: 가장 심각한 오류만)
- 1(경고: 즉각적인 조치 필요)
- 2 (중요: 애플리케이션 구성 요소를 사용할 수 없음)
- 3 (오류: 런타임 오류, 중요하지 않지만 모니터링해야 함)
- 4(경고: 추가 정보, 권장)
- 5(알림: 정상이지만 중대한 상태)
- 6 (정보: 정보 메시지)
- 7(디버그: 개발 또는 테스트용으로만 사용되는 가장 많은 정보)
예
다음 예제에서는 Redis를 세션 데이터 저장소로 설정하고 호스트를 127.0.0.1
(으)로 설정하고 로그 수준을 4로 설정하고 데이터베이스 번호를 2로 설정합니다. 다른 모든 매개변수는 기본값으로 설정됩니다.
bin/magento setup:config:set --session-save=redis --session-save-redis-host=127.0.0.1 --session-save-redis-log-level=4 --session-save-redis-db=2
결과
Commerce이 <magento_root>app/etc/env.php
에 다음과 유사한 줄을 추가합니다.
'session' => [
'save' => 'redis',
'redis' => [
'host' => '127.0.0.1',
'port' => '6379',
'password' => '',
'timeout' => '2.5',
'persistent_identifier' => '',
'database' => '2',
'compression_threshold' => '2048',
'compression_library' => 'gzip',
'log_level' => '4',
'max_concurrency' => '6',
'break_after_frontend' => '5',
'break_after_adminhtml' => '30',
'first_lifetime' => '600',
'bot_first_lifetime' => '60',
'bot_lifetime' => '7200',
'disable_locking' => '0',
'min_lifetime' => '60',
'max_lifetime' => '2592000',
],
],
Redis 연결 확인
Redis와 Commerce이 함께 작동하는지 확인하려면 Redis를 실행하는 서버에 로그인하고 터미널을 열고 Redis 모니터 명령 또는 ping 명령을 사용합니다.
Redis 모니터 명령
redis-cli monitor
샘플 세션-스토리지 출력:
1476824834.187250 [0 127.0.0.1:52353] "select" "0"
1476824834.187587 [0 127.0.0.1:52353] "hmget" "sess_sgmeh2k3t7obl2tsot3h2ss0p1" "data" "writes"
1476824834.187939 [0 127.0.0.1:52353] "expire" "sess_sgmeh2k3t7obl2tsot3h2ss0p1" "1200"
1476824834.257226 [0 127.0.0.1:52353] "select" "0"
1476824834.257239 [0 127.0.0.1:52353] "hmset" "sess_sgmeh2k3t7obl2tsot3h2ss0p1" "data" "_session_validator_data|a:4:{s:11:\"remote_addr\";s:12:\"10.235.34.14\";s:8:\"http_via\";s:0:\"\";s:20:\"http_x_forwarded_for\";s:0:\"\";s:15:\"http_user_agent\";s:115:\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36\";}_session_hosts|a:1:{s:12:\"10.235.32.10\";b:1;}admin|a:0:{}default|a:2:{s:9:\"_form_key\";s:16:\"e331ugBN7vRjGMgk\";s:12:\"visitor_data\";a:3:{s:13:\"last_visit_at\";s:19:\"2016-10-18 21:06:37\";s:10:\"session_id\";s:26:\"sgmeh2k3t7obl2tsot3h2ss0p1\";s:10:\"visitor_id\";s:1:\"9\";}}adminhtml|a:0:{}customer_base|a:1:{s:20:\"customer_segment_ids\";a:1:{i:1;a:0:{}}}checkout|a:0:{}" "lock" "0"
... more ...
Redis ping 명령
redis-cli ping
PONG
은(는) 응답이어야 합니다.
두 명령이 모두 성공하면 Redis가 제대로 설정됩니다.
압축된 데이터 검사
압축된 세션 데이터와 페이지 캐시를 검사하기 위해 RESP.app은(는) Commerce 2 세션 및 페이지 캐시의 자동 압축 해제를 지원하고 사람이 읽을 수 있는 형식으로 PHP 세션 데이터를 표시합니다.