Skip to content

shiny-server #
Find similar titles

개요 #

R shiny는 R 코드로 웹 애플리케이션 제작을 도와주는 라이브러리이다. shiny를 이용하여 개발된 앱을 배포(deployment)하는 방법으로는 클라우드 서비스인 shinyapps.io를 이용하거나 서버에 직접 shiny-server를 설치하여 배포하는 방법이 있다. 여기서는 shiny-server를 서버에 설치 후 사용하는 방법에 대하여 설명한다.

설치 및 설정 #

shiny-server 설치 전 R과 shiny 라이브러리가 설치되어야 한다. rpm 파일이나 deb 등의 설치 파일을 다운로드 받아 설치하며 도커 image를 이용한 설치도 지원한다. 도커를 사용하는 경우 별도의 연관 라이브러리 설치 단계 없이 간단하게 설치하여 사용할 수 있다. 아래는 도커를 기반으로 한 설치 및 활용 방법을 서술한다.

docker 기반 설치 #

아래와 같이 pull 명령어를 이용하여 이미지를 다운로드 받은 뒤 포트를 설정 후 run 명령어를 이용하여 컨테이너를 실행한다.

$ docker pull rocker/shiny-verse
$ docker run --rm -p 3838:3838 rocker/shiny-verse

** 옵션 설명
--rm : 실행 프로세스 완료 후 컨테이너 삭제 
-p : 포트번호 지정

위를 참조하여 컨테이너를 실행하고 크롬 등 웹 브라우저에서 http://{server ip or localhost}:3838로 접속 시 아래와 같은 화면이 생성되면 정상적으로 shiny-server 설치가 완료된 것이다.

Image

shiny 앱 사용 방법 #

개발한 shiny 앱은 컨테이너의 /srv/shiny-server/{appDir} 위치에 마운트하거나 복사 후 웹 브라우저에서 http://{server ip or localhost}:3838/{appDir} 로 접속하여 사용할 수 있다. 아래는 앱 폴더를 컨테이너에 마운트 하여 실행하는 명령어 예시이다.

$ docker run -d -v {path/to/shiny apps of host}:/srv/shiny-server/ --name {shiny-server name} -p 3838:3838 rocker/shiny

** 옵션 설명 
 -d : detach 실행 
 -v : host 폴더 마운트
 --name : 컨테이너명 지정

log 보기 #

실행 후 로그를 확인할 경우 아래와 같은 명령어를 이용하여 로그를 확인한다.

$ docker logs -f  {shiny-server container name or container ID}

참조문헌 #

0.0.1_20210630_7_v33