i have installed RStudio Server v0.98.507 and Shiny Server v1.1.0.10000 on my ubuntu14
my rstudio proxy setting on nginx default
location /rstudio/ {
rewrite ^/rstudio/(.*)$ /$1 break;
proxy_pass http://localhost:8787;
proxy_redirect http://localhost:8787/ $scheme://$host/rstudio/;
}
that' my shiny server setting at /etc/shiny-server/shiny-server.conf
# Define the user we should use when spawning R Shiny processes
run_as shiny;
# Define a top-level server which will listen on a port
server {
# Instruct this server to listen on port 3838
listen 3838;
# Define the location available at the base URL
location / {
# Run this location in 'site_dir' mode, which hosts the entire directory
# tree at '/srv/shiny-server'
site_dir /srv/shiny-server;
# Define where we should put the log files for this location
log_dir /var/log/shiny-server;
# Should we list the contents of a (non-Shiny-App) directory when the user
# visits the corresponding URL?
directory_index on;
}
}
i can run both rstudio and shiny-server, however, when i call a shiny example such as
library(shiny)
runExample("01_hello")
when RStudio complier prompt
Listening on http://'127.0.0.1':7146
the url return a invalid response and here the console on my chrome shown
WebSocket connection to 'ws://mydomain.com/rstudio/p/7146/websocket/' failed: Error during WebSocket handshake: Unexpected response code: 404 mydomaion.com/rstudio/p/7146/shared/shiny.js:507
WebSocket is already in CLOSING or CLOSED state.
However, when i remove the proxy bypass of the RStudio in nginx default to
#location /rstudio/ {
# rewrite ^/rstudio/(.*)$ /$1 break;
# proxy_pass http://localhost:8787;
# proxy_redirect http://localhost:8787/ $scheme://$host/rstudio/;
# }
it can run the shiny application from RStudio.
My question is how could i config the RStudio and Shiny server so i could remove :8787 to run the rstudio and :3838 to run the shiny server.
RStudio complier prompt
Listening on http://'127.0.0.1':7146
Doesn't this mean that you should be passing the proxied request to 7146 rather than 8787?
The 404 error message indicates that the path isn't found.
To answer the question more directly, look here: http://table1.org/setting-up-an-ubuntu-server-with-nginx-up-to-run-shiny-applications.
That page gives the nginx siteconf file to read:
server {
listen 80;
server_name shinyapp.domain.name;
location / {
proxy_pass http://server-ip-address:3838/shinyapp/;
proxy_redirect http://server-ip-address:3838/ $scheme:$host/;
}
}
So, you should be able to run your shiny server without having to proxy it through RStudio. Since you want to run it in a sub directory, you might be able to use this code:
location /rstudio/ {
rewrite ^/rstudio/(.*)$ /$1 break;
proxy_pass http://localhost:3838;
proxy_redirect http://localhost:3838/ $scheme://$host/rstudio/;
}
If that doesn't work, try changing out localhost for 127.0.0.1 or the actual ip address.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With