2014-11-07 25 views
54

Próbuję udostępnić moim współpracownikom błyszczące aplikacje bez konieczności uruchamiania lub nawet instalowania programu R.Hosting i konfigurowanie własnych, błyszczących aplikacji bez błyszczącego serwera

Więc czytam this webpage i znalazłem to zdanie:

Jeśli jesteś zaznajomiony z hostingu lub mają dostęp do działu IT , można udostępnić swoje błyszczące aplikacje siebie.

pod "Udział jako strona internetowa" -sekcja.

Zastanawiam się, czy ktoś może wskazać mi jakąś pomoc dotyczącą tego tematu? Podobnie jak minimalne wymagania (lub nawet samouczek). Problem polega na tym, że moja firma jest zobowiązana do pewnych ograniczeń dotyczących hostingu i bezpieczeństwa itd. I nie będzie (na razie) płacić za błyszczącego serwera-pro.

Ale powyższe zdanie daje mi nadzieję, że sami stworzymy coś, aby ich przekonać.

+1

Być może [rozpoczęcie pracy z błyszczącym serwerem] (https://github.com/rstudio/shiny-server)? – hrbrmstr

Odpowiedz

55

Jeśli komputer i komputery współpracowników należą do tej samej sieci LAN, jest to dość łatwe. Wystarczy uruchomić aplikację poprzez:

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

Wartość ustawiona przez host argumentu mówi przyjąć żadnego połączenia (nie tylko z localhost). Argument port może przyjąć dowolną wartość (wystarczy upewnić się, aby nie wybierać portów używanych przez inne usługi, takie jak ssh lub http). Następnie zanotuj swój lokalny adres IP (jeśli jesteś pod Linuksem, możesz go zobaczyć poprzez ifconfig). Załóżmy, że Twoje IP to 192.168.1.70. Twoi współpracownicy mogą korzystać z aplikacji, wstawiając na pasku adresu przeglądarki 192.168.1.70:5050, tzn. Twój adres IP, a następnie : i wybrany numer portu.

Jeśli chcesz uzyskać dostęp spoza sieci LAN, możesz skierować router na komputer, gdy ktoś połączy się z Twoim publicznym IP przez port 5050.

+2

Dziękuję. Spróbuję tego w poniedziałek. Ale to oznacza, że ​​muszę mieć R i aplikację uruchomioną, podczas gdy inni mają do niej dostęp? – schlusie

+1

Tak. Twoja aplikacja musi być uruchomiona na twoim komputerze. – nicola

+5

OK. Wypróbowałem to teraz i zadziałało. Ale czy istnieje możliwość bez uruchamiania aplikacji na moim komputerze? tak jak powiedziałem, mamy dostęp do działu IT, a niektóre serwery i cytowane zdanie wskazują na możliwość zrobienia tego. – schlusie

11

Udostępnianie aplikacji w sieci LAN jest całkiem fajne, ale jest to hack. Próbowałem go z niektórymi współpracownikami i działa, ale jest to raczej chwyt biurowy niż zrównoważone rozwiązanie.

Właśnie skończyłem opracowywać pakiet RInno dla tego konkretnego problemu, tj. Gdy firma nie będzie płacić za Błyszczący Serwer lub są obawy dotyczące bezpieczeństwa w przypadku usług w chmurze.

Aby zacząć:

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

Następnie wystarczy zadzwonić dwie funkcje, aby stworzyć ramy instalacyjny:

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

Jeśli chcesz zawierać R dla swoich współpracowników, którzy don „t mieć zainstalowany, aby dodać include_R = TRUEcreate_app:

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

Domyślnie jest to błyszczący, mgrittr i jsonlite, więc jeśli używasz innych pakietów, takich jak ggplot2 lub sprytnie, po prostu dodaj je do argumentu pkgs.Można także pakiety GitHub do remotes argumentu:

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

Jeśli jesteś zainteresowany innymi funkcjami, sprawdź FI Labs - RInno

+2

Tylko dla Windows ^^ – Pawamoy

+0

Tak, kupiłem laptopa na Linuxa i szukam sposobów na wsparcie Ubuntu –

0

Niedawno zainstalowano Shiny na Centos 7 Linux OS serwerze mamy lokalnie. Użyliśmy przewodnika poniżej w przeważającej części. https://www.vultr.com/docs/how-to-install-shiny-server-on-centos-7

Możesz też zadawać pytania na temat problemów z konfiguracją, aby inni korzystający z przewodnika mogli zobaczyć odpowiedzi!

Sprawdziliśmy również, czy chcemy go przesłać na serwerze AWS, i zdecydowaliśmy się na nasz własny, ponieważ treść jest wrażliwa. W przeciwnym razie oba rozwiązania wyglądały podobnie. System Linux i Shiny są lekkie, możesz je uruchomić na darmowym serwerze Amazon!