2012-06-23 2 views
3

Heroku에서 Play Framework를 구성하여 Memcached와 작동하도록하고 싶습니다.하드 코딩 된 구성 정보를 저장하지 않고 Heroku에서 Memcached와 함께 Play를 사용하십시오.

This thread 나는 하드 코딩 된 구성 값을 사용합니다. Heroku's documentation에는 사용자/비밀번호/호스트가 환경 변수로 표시되어 있습니다 ... 하드 코딩 된 값을 사용하지 않고 직접 Play에 이러한 값을로드하도록 지시하는 방법이 있습니까?

이 내가 뭘하려 :

%prod.memcached=enabled 
%prod.memcached.host=%MEMCACHE_SERVERS 
%prod.memcached.user=%MEMCACHE_USERNAME 
%prod.memcached.password=%MEMCACHE_PASSWORD 

하지만이 작동하지 않는 것

+0

memcache 추가 기능을 추가 했습니까? –

+0

@JamesWard - 물론 가능합니다. – ripper234

답변

2

내가 주변에 작품을 발견했다. Heroku에서는 "Memcache Add On"을 구성 할 때 다음 환경 변수를 제공합니다.

${MEMCACHE_PASSWORD}  
${MEMCACHE_SERVERS} 
${MEMCACHE_USERNAME} 

그러나 % prod.memcached.host = $ {MEMCACHE_SERVERS}을 설정할 때 그것은 또한 제대로 작동하기 위해 기본 포트를 필요 (예 : $ {MEMCACHE_SERVERS} : 11211).

따라서 당신은 --- 앱

를 다시 시작

  • 당신의 conf 파일에 %prod.memcached.host=${MEMCACHE_SERVER}을 설정 콘솔에

    1. heroku config:add MEMCACHE_SERVER=${MEMCACHE_SERVERS}:11211 다음을 수행하여 추가 환경 변수를 추가 할 수 있습니다 또는 ---

      포트를 추가하는 방법 알아보기 11211), conf 파일의 ${MEMCACHE_SERVERS} 환경 변수 끝에. ":"문자로 시작하는 방법을 알지 못하기 때문에 시작시 예외가 발생합니다.

      재생 2.x에서 동일한 오류가 발생했지만 재생 1.x에서 작동해야합니다.

  • +0

    흥미 롭다, 나는 그것을 시도한다. – ripper234

    +0

    글쎄, 내가 제대로 작동하지 못했지만 config에서 사용자 이름과 암호를 만들었지 만 서버를'heroku config' 출력에서 ​​하드 코딩 된 값으로 사용했습니다. – ripper234

    0

    보십시오 : 당신이 문제에 대한

    %prod.memcached.host=${MEMCACHE_SERVERS} 
    %prod.memcached.user=${MEMCACHE_USERNAME} 
    %prod.memcached.password=${MEMCACHE_PASSWORD} 
    
    +0

    작동하지 않는 것 같습니다. '$ {}'는 환경 변수에 접근하기위한 표준 구문인가요? – ripper234

    +0

    예. 그게 효과가있다. 오류가 있습니까? –

    +0

    예, config 파일에 하드 코딩 된 사용자/패스가 있기 전에 내가 얻은 것과 유사한 오류가 있습니다. 나는 기회가있을 때 다시 시도해야 할 것입니다. – ripper234