[통계, 데이터분석 언어 R] R Shiny Server를 사용해 보자.

R Shiny Server를 사용해 보자.

 

R로 만든 plot들을 web에서 동적으로 보여줄 수 있다.

Shiny는 Rstudio에서 만든 R package이자 소프트웨어이다.

Shiny에서 제공하고 있는 Gallery를 보면, 어떤 것인지 바로 이해할 수 있다.

자기가 고민한 내용들을 사람들에게 직접 체험해 보게 한다는 점에서 매우 효과적이다. 2014년 처음 알게 되었을 때는 아름답다고까지 생각했다.

R로 Shiny app을 만들어 web에 deploy하는 방법은 크게 두 가지가 있다. 후자에 비해 전자가 쉽지만, free plan은 여러가지 제약이 많은 편이다.

  • Shinyapps.io라는 cloud service를 이용하는 방법
  • 직접 server를 돌리는 방법

개인 서버가 존재한다면, 직접 shiny server를 설치하여 운영하는 것이 유리할 수 있다.

shiny server는 여기에서 다운로드 받아 설치하면 된다. 설치 방법은 해당 페이지에 잘 설명되어 있기 때문에 크게 어렵지 않다. 일단 설치가 끝나면 리부팅 후에도 자동으로 실행되기 때문에 더 필요한 일이 없다.

그러나 아래와 같이 사용자의 필요에 따라 config file을 손봐야 할 때가 있다. config file은 /etc/shiny-server/shiny-server.conf에 위치하고 있다.

  • 실행 권한 문제를 해결 run_as shiny;
  • port 변경 listen 3838;
  • app 실행 경로 변경 site_dir /srv/shiny-server;

수정 후에는 sudo systemctl restart shiny-server를 통해 서버를 재시작 한다.

상세한 내용들은 Administrator’s Guide에 잘 설명되어 있다. 물론 양이 많지만 말이다.

이 글에서는 몇 가지 문제들과 해결책을 기록해 둔다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

권한 문제

shiny server에 올바른 shiny app을 올렸으나 브라우저에 error를 내며 올바르게 실행되지 않는 경우가 있다. 이런 경우에는 log file을 확인해 본다. log file은 기본적으로 /var/log/shiny-server에 위치하고 있으며, 실행시킨 시간과 해당 app을 file name으로 하고 있다.

열어 보면 대부분 어떤 library가 설치되어 있지 않다고 나온다. R에 이미 설치되어 있는데도 말이다. 참으로 답답한 일이다.

이 문제의 원인은 user가 달라 생긴다. shiny server는 shiny라는 user로 실행 되는데, R console에서 library를 설치할 때는 주로 일반적인 사용자 user로 설치하기 때문이다. 따라서 shiny user 입장에서는 설치 안된 셈이 된다.

이 문제는 shiny server를 R을 다루는 user로 실행시키면 해결할 수 있다. 만약 ubuntu라는 user로 R console을 사용하고 library를 설치한다면, shiny를 ubuntu라는 user로 실행시킬 수 있다. 앞서 config file에서 run_as shiny;라고 되어 있는 것을 run_as ubuntu;라고 바꿔주면 된다.

REF

plot에 한글이나 한자가 표시되지 않는 문제

이 문제는 shiny의 문제라기 보다는 server 자체의 문제이다. server 자체에 해당되는 font가 존재하지 않기 때문에 표시할 수 없어서 발생한다. 이런 문제는 ubuntu 등 linux 기반 서버들에서 공통적으로 나타날 수 있다.

이를 해결하기 위해서는 os에 한글이나 한자를 지원하는 font를 설치해 주면 된다. 설치 방법은 다음과 같다. (ubuntu 기준)

해당 font를 /usr/share/fonts/ 폴더에 넣어준다.

그런 다음 아래 명령을 실행한다.

# bash
fc-cache -f -v

 

[출처] https://pinedance.github.io/blog/2018/09/27/R-Shiny-Server

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86113
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78624
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95338
46 [데이터분석 & 데이터 사이언스] 수많은 데이터 사이언티스트들이 직장을 떠나는 이유는 무엇인가? file 졸리운_곰 2025.03.09 901
45 [데이터분석][파이썬][python] 한글 글꼴 사용 (matplotlib) 졸리운_곰 2024.04.18 1360
44 [데이터분석 & 데이터 사이언스] 데이터에 관한 꼭 알아야 할 오해와 진실 12가지 졸리운_곰 2024.01.17 1315
43 [데이터분석][파이썬][python] Awesome Dash Awesome file 졸리운_곰 2021.07.10 2338
42 [데이터분석][파이썬][python] ???? Introducing Dash ???? file 졸리운_곰 2021.07.10 1606
41 [dataset] (한글) 욕설 감지 데이터셋 file 졸리운_곰 2021.05.12 1559
40 [데이터분석][python] Dash를 사용하는 초보자 및 기타 모든 사용자를위한 Python의 대시 보드 file 졸리운_곰 2021.04.14 1762
39 [데이터분석][python] Dash를 사용하는 초보자 및 기타 모든 사용자를위한 Python의 대시 보드 file 졸리운_곰 2021.04.14 1602
38 [데이터분석][데이터 사이언스][python][Dash] Python, Dash 및 Plotly를 사용하여 COVID-19 사례 데이터 시각화 file 졸리운_곰 2021.03.28 1501
37 [데이터분석][머신러닝] When not to use machine learning or AI Adventures in wishful thinking, nonstationarity, and pattern-finding / 기계 학습 또는 AI를 사용하지 않아야하는 경우 희망찬 사고, 비정상 성, 패턴 찾기의 모험 file 졸리운_곰 2021.03.28 21621
36 [MSA][머신러닝] 쿠버네티스 기반의 End2End 머신러닝 플랫폼 Kubeflow #1 - 소개 file 졸리운_곰 2021.03.21 1135
35 [데이터사이언스] 데이터 과학자를위한 3 가지 훌륭한 디자인 패턴, 3 Great Design Patterns for Data Scientists file 졸리운_곰 2021.03.04 779
34 [데이터분석] 시계열 데이터에 AI를 사용하는 이유는 무엇입니까? file 졸리운_곰 2021.02.28 1191
33 [데이터분석] AI 예측 및 이상 탐지를위한 시계열 데이터 전처리 file 졸리운_곰 2021.02.28 1031
32 [데이터분석] bitcoin analysis 비트 코인 시계열 데이터에 대한 AI 이상 탐지 file 졸리운_곰 2021.02.27 1588
31 [데이터분석 & 데이터 사이언스] How To Create a Data Science Portfolio Website file 졸리운_곰 2021.02.14 1823
30 [데이터수집4] 오픈 API 데이터 수집 (소셜미디어 데이터 수집) file 졸리운_곰 2020.06.12 1950
29 [데이터수집3] 관계형 데이터베이스 데이터 수집 file 졸리운_곰 2020.06.12 1317
28 [데이터수집2] 분산시스템 로그 수집 (빅데이터 수집) file 졸리운_곰 2020.06.12 1492
27 [데이터수집1] 웹 크롤링, 웹 스크래핑 file 졸리운_곰 2020.06.12 1804
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED