nginx - Rstudio y configuración brillante del servidor proxy
shiny-server (1)
He instalado RStudio Server v0.98.507 y Shiny Server v1.1.0.10000 en mi ubuntu14
la configuración de mi rstudio proxy en nginx por defecto
location /rstudio/ {
rewrite ^/rstudio/(.*)$ /$1 break;
proxy_pass http://localhost:8787;
proxy_redirect http://localhost:8787/ $scheme://$host/rstudio/;
}
esa ''configuración de mi servidor brillante en /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;
}
}
Sin embargo, puedo ejecutar tanto rstudio como servidor brillante cuando llamo a un ejemplo brillante como
library(shiny)
runExample("01_hello")
cuando RSTudio complier prompt
Listening on http://''127.0.0.1'':7146
la URL devuelve una respuesta no válida y aquí se muestra la consola en mi Chrome
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.
Sin embargo, cuando elimino el bypass proxy de RStudio en nginx por defecto para
#location /rstudio/ {
# rewrite ^/rstudio/(.*)$ /$1 break;
# proxy_pass http://localhost:8787;
# proxy_redirect http://localhost:8787/ $scheme://$host/rstudio/;
# }
puede ejecutar la brillante aplicación de RStudio.
Mi pregunta es cómo podría configurar el servidor RStudio y Shiny para poder eliminar: 8787 para ejecutar el rstudio y: 3838 para ejecutar el servidor brillante.
Solicitud de compilador de RStudio
Listening on http://''127.0.0.1'':7146
¿Esto no significa que debe pasar la solicitud de proxy a 7146
lugar de 8787
?
El mensaje de error 404 indica que la ruta no se encuentra.
Para responder la pregunta más directamente, mira aquí: http://table1.org/setting-up-an-ubuntu-server-with-nginx-up-to-run-shiny-applications .
Esa página le da al archivo nginx siteconf para que lea:
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/;
}
}
Por lo tanto, debería poder ejecutar su servidor brillante sin tener que usar un proxy a través de RStudio. Como desea ejecutarlo en un subdirectorio, es posible que pueda usar este código:
location /rstudio/ {
rewrite ^/rstudio/(.*)$ /$1 break;
proxy_pass http://localhost:3838;
proxy_redirect http://localhost:3838/ $scheme://$host/rstudio/;
}
Si eso no funciona, intente cambiar localhost
por 127.0.0.1
o la dirección IP real.