반짝이는 서버없이 자체 반짝이는 앱 호스팅 및 설정


95

동료가 실행하거나 R을 설치하지 않고도 반짝이는 앱을 사용할 수 있도록하려고합니다.

그래서이 웹 페이지를 읽고 다음 문장을 찾았습니다.

웹 호스팅에 익숙하거나 IT 부서에 액세스 할 수있는 경우 Shiny 앱을 직접 호스팅 할 수 있습니다.

' 웹 페이지로 공유 '섹션 아래에 있습니다.

어떻게 할 수 있습니까?

문제는 우리 회사가 웹 호스팅 및 보안 등과 관련된 특정 제한 사항에 묶여 있으며 (현재) 반짝이는 서버 프로에 대해 지불하지 않을 것이라는 것입니다.

그러나 위의 문장은 그들을 설득하기 위해 스스로 무언가를 설정하고 싶다는 희망을줍니다.


1
아마도 반짝이는 서버로 시작 하시겠습니까?
hrbrmstr 2014

답변:


87

PC와 동료 PC가 동일한 LAN에 속해 있다면이 작업은 매우 쉽습니다. 다음을 통해 앱을 실행하십시오.

runApp(host="0.0.0.0",port=5050)

host인수를 통해 설정된 값 은 로컬 호스트뿐만 아니라 모든 연결을 수락하도록 말합니다. port인수는 (처럼 다른 서비스에서 사용하는 포트를 선택하지 않도록 보장하려는 값 가정 할 수 있습니다 ssh또는 http). 그런 다음 로컬 IP를 기록해 둡니다 (리눅스를 사용하는 경우를 통해 확인할 수 있음 ifconfig). 귀하의 IP는 192.168.1.70. 동료는 브라우저의 주소 표시 줄에 192.168.1.70:5050사용자의 IP :와 선택한 포트 번호를 입력 하여 앱을 사용할 수 있습니다.

LAN 외부에서 액세스하려면 누군가가 5050 포트를 통해 공용 IP에 연결할 때 라우터를 PC로 보낼 수 있습니다.


2
감사합니다. 월요일에해볼 게요. 그러나 이것은 다른 사람들이 액세스하는 동안 R과 앱을 실행해야 함을 의미합니까?
schlusie 2014

2
예. 응용 프로그램이 PC에서 실행되고 있어야합니다.
니콜라

5
괜찮아. 나는 지금 그것을 시도했고 작동했습니다. 하지만 내 컴퓨터에서 앱을 실행하지 않을 가능성이 있습니까? 내가 말했듯이 우리는 IT 부서와 일부 서버에 액세스 할 수 있으며 인용 된 문장은이를 수행 할 가능성을 나타냅니다.
schlusie 2014

3
앱은 어딘가에서 실행되어야합니다. 그것을 호스팅하는 머신은 R, 반짝 거리고 그것을 실행하기 위해 필요한 모든 종속성을 가지고 있어야합니다.
nicola

6
이것은 매우 유용한 게시물입니다. 제 후속 질문은 얼마나 많은 사람들이 동시에 앱에 액세스 할 수 있습니까?
md1630

35

이와 같이 LAN을 통해 앱을 공유하는 것은 꽤 멋지지만 일종의 해킹입니다. 동료들과 시도 해봤는데 효과가 있지만 지속 가능한 솔루션 이라기보다는 사무실 속임수에 가깝습니다.

나는 회사가 Shiny Server에 대한 비용을 지불하지 않거나 클라우드 서비스에 대한 보안 문제가있는 경우와 같은 정확한 문제에 대한 RInno 패키지 개발을 방금 완료했습니다 .

시작하려면 :

install.packages("RInno")
require(RInno)
RInno::install_inno()

그런 다음 설치 프레임 워크를 만들기 위해 두 개의 함수를 호출하면됩니다.

create_app(app_name = "myapp", app_dir = "path/to/myapp")
compile_iss()

당신이 당신의 동료에 대한 연구를하고 싶으 시다면 누가 추가가 설치되어 있지 않은 include_R = TRUEcreate_app:

create_app(app_name = "myapp", app_dir = "path/to/myapp", include_R = TRUE)

기본적으로 shiny, magrittr 및 jsonlite를 포함하므로 ggplot2 또는 plotly와 같은 다른 패키지를 사용하는 경우 pkgs인수에 추가하기 만하면 됩니다. remotes인수에 GitHub 패키지를 포함 할 수도 있습니다 .

create_app(
    app_name = "myapp", 
    app_dir  = "path/to/myapp"
    pkgs     = c("shiny", "jsonlite", "magrittr", "plotly", "ggplot2"),
    remotes  = c("talgalili/installr", "daattali/shinyjs"))

다른 기능에 관심이있는 경우 FI Labs-RInno를 확인 하세요.


3
만 ^^ Windows 용
pawamoy

2
그래, 나는 리눅스 노트북을 구입하고 다음 우분투를 지원하는 방안을 찾고 있어요
조나단 힐에게


3

최근 로컬에있는 Centos 7 Linux OS 서버에 Shiny를 설치했습니다. 우리는 대부분 아래 가이드를 사용했습니다. https://www.vultr.com/docs/how-to-install-shiny-server-on-centos-7

가이드를 사용하는 다른 사람이 답을 볼 수 있도록 여기에서 설정 문제에 대한 질문을 자유롭게 물어보십시오!

우리는 또한 콘텐츠가 민감하기 때문에 우리 자신을 선택하여 AWS 서버에서 푸시하는 방법을 검토했습니다. 그렇지 않으면 두 솔루션이 비슷해 보였습니다. Linux 및 Shiny 시스템은 가볍기 때문에 무료 Amazon 서버에서 실행할 수 있습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.