होस्टिंग और चमकदार सर्वर के बिना अपने चमकदार क्षुधा की स्थापना


95

मैं अपने सहकर्मियों को चमकदार ऐप उपलब्ध कराने की कोशिश कर रहा हूं, बिना उन्हें चलाने या यहां तक ​​कि आर स्थापित करने के लिए।

इसलिए मैंने इस वेबपेज को पढ़ा और यह वाक्य पाया:

यदि आप वेब होस्टिंग से परिचित हैं या आपके पास एक आईटी विभाग तक पहुंच है, तो आप अपने चमकदार ऐप को स्वयं होस्ट कर सकते हैं।

' वेब पेज के रूप में साझा करें ' के तहत -section।

मैं यह कैसे कर सकता हूँ?

समस्या यह है कि मेरी कंपनी वेब होस्टिंग और सुरक्षा आदि के बारे में कुछ प्रतिबंधों के लिए बाध्य है, और एक चमकदार-सर्वर-प्रो के लिए (अभी के लिए) भुगतान नहीं करेगी।

लेकिन ऊपर दिए गए वाक्य से मुझे खुद को समझाने के लिए खुद को स्थापित करने की उम्मीद है।


जवाबों:


86

यदि आपका PC और आपके सहकर्मी PC एक ही LAN से संबंधित हैं, तो इसे प्राप्त करना बहुत आसान है। बस अपना ऐप चलाएं:

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

hostतर्क के माध्यम से निर्धारित मान किसी भी कनेक्शन को स्वीकार करने के लिए कहता है (न कि केवल स्थानीयहोस्ट से)। portतर्क किसी भी मूल्य है कि आप करना चाहते हैं (जैसे अन्य सेवाओं द्वारा इस्तेमाल किया बंदरगाहों का चयन करने से बचने के लिए विश्वास दिलाता हूं मान सकते हैं sshया http)। फिर, अपने स्थानीय आईपी पर ध्यान दें (यदि आप लिनक्स के नीचे हैं, तो आप इसे देख सकते हैं ifconfig)। मान लें कि आपका आईपी है 192.168.1.70। आपके सहकर्मी आपके ब्राउज़र के एड्रेस बार में 192.168.1.70:5050, यानी आपके द्वारा पीछा किया गया आईपी :पोर्ट और आपके द्वारा चुने गए पोर्ट नंबर को डालकर आपके ऐप का उपयोग कर सकते हैं ।

यदि आप अपने LAN के बाहर से पहुंच चाहते हैं, तो आप अपने रूटर को अपने पीसी पर निर्देशित कर सकते हैं जब कोई व्यक्ति 5050 पोर्ट के माध्यम से आपके सार्वजनिक आईपी से कनेक्ट होता है।


2
धन्यवाद। Im सोमवार को यह कोशिश करने वाला। लेकिन इसका मतलब यह है कि मेरे पास आर और ऐप होना चाहिए, जबकि अन्य इसे एक्सेस करते हैं?
schlusie

2
हाँ। आपका आवेदन आपके पीसी पर चलना चाहिए।
निकोला

5
ठीक है। मैंने अब इसकी कोशिश की और यह काम कर गया। लेकिन क्या मेरी मशीन पर ऐप चलाए बिना कोई संभावना है? जैसा मैंने कहा, हमारे पास एक आईटी विभाग और कुछ सर्वरों तक पहुंच है और उद्धृत वाक्य इसे करने की संभावना को इंगित करता है।
०१ में schlusie

3
ऐप को कहीं न कहीं चलाना होगा। इसे होस्ट करने वाली मशीन में आर, चमकदार और इसे चलाने के लिए सभी आवश्यक निर्भरताएं होनी चाहिए।
निकोला

6
यह एक बहुत ही उपयोगी पोस्ट है - मेरा अनुवर्ती प्रश्न है, एक ही समय में कितने लोग ऐप तक पहुंच सकते हैं?
md1630

34

लैन पर ऐप्स को इस तरह साझा करना बहुत अच्छा है, लेकिन यह एक हैक की तरह है। मैंने इसे कुछ सहकर्मियों के साथ करने की कोशिश की, और यह काम करता है, लेकिन यह एक स्थायी समाधान की तुलना में कार्यालय की चाल से अधिक है।

मैंने इस सटीक समस्या के लिए अभी RInno पैकेज विकसित करना समाप्त किया है, अर्थात जब कोई कंपनी शाइनी सर्वर के लिए भुगतान नहीं करेगी या क्लाउड सेवाओं के लिए सुरक्षा संबंधी चिंताएँ हैं।

आरंभ करना:

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

तब आपको एक इंस्टॉलेशन फ्रेमवर्क बनाने के लिए केवल दो कार्यों को कॉल करना होगा:

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

आप अपने सहकर्मियों के लिए R शामिल करने के लिए चाहते हैं, तो जो है, यह स्थापित नहीं है, जोड़ने include_R = TRUEके लिए create_app:

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

यह चमकदार, मैग्रिट्र और जोंसलाइट को शामिल करने के लिए डिफॉल्ट करता है, इसलिए यदि आप ggplot2 या प्लॉटली जैसे अन्य पैकेज का उपयोग कर रहे हैं, तो बस उन्हें pkgsतर्क में जोड़ें । आप GitHub पैकेज को remotesतर्क में शामिल कर सकते हैं :

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
केवल विंडोज के लिए ^ ^
pawamoy

2
हां, मैंने एक लिनक्स लैपटॉप खरीदा और उबंटू का समर्थन करने के तरीकों पर गौर कर रहा हूं
जोनाथन हिल

7

आप खुले स्रोत समाधान shinyproxy पर एक नज़र रखना चाहते हो सकता है ।

Shinyproxy का उपयोग करके आपको उन्हें होस्ट करने के लिए अपने ऐप्स को एक डॉकटर कंटेनर में लपेटना होगा।

यहां आप एक गाइड पा सकते हैं कि एक डॉक कंटेनर में एक चमकदार ऐप को कैसे तैनात किया जाए (जो कि btw है। एक अच्छी प्रैक्टिस है, यहां तक ​​कि शिनिप्रॉक्सी का उपयोग किए बिना, ऐप निर्भरता बनाए रखने के लिए)।

विभिन्न प्रमाणीकरण और स्केलिंग विधियाँ उपलब्ध हैं।


3

मैंने हाल ही में एक सेंटोस 7 लिनक्स ओएस सर्वर पर चमकदार स्थापित किया है जो हमारे पास स्थानीय रूप से है। हमने अधिकांश भाग के लिए नीचे दिए गए मार्गदर्शिका का उपयोग किया है। https://www.vultr.com/docs/how-to-install-shiny-server-on-centos-7

यहां सेटअप समस्याओं के बारे में कोई भी प्रश्न पूछने के लिए स्वतंत्र महसूस करें ताकि गाइड का उपयोग करने वाला कोई भी व्यक्ति उत्तर देख सके!

हमने इसे AWS सर्वर पर पुश करने पर भी ध्यान दिया, क्योंकि सामग्री संवेदनशील होने के कारण हमने अपने लिए चुना। अन्यथा दोनों समाधान समान दिखते थे। लिनक्स और चमकदार सिस्टम हल्का है, आप इसे मुफ्त अमेज़ॅन सर्वर पर चलाने में सक्षम हो सकते हैं!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.