shiny-server
#
Find similar titles
- (rev. 2)
- jhkim
Table of Contents
개요 #
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 설치가 완료된 것이다.
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}