nginx – Rstudio和闪亮的服务器代理设置

前端之家收集整理的这篇文章主要介绍了nginx – Rstudio和闪亮的服务器代理设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在我的ubuntu14上安装了RStudio Server v0.98.507和Shiny Server v1.1.0.10000

我在Nginx默认的rstudio代理设置

location /rstudio/ {
     rewrite ^/rstudio/(.*)$/$1 break;
     proxy_pass http://localhost:8787;
     proxy_redirect http://localhost:8787/ $scheme://$host/rstudio/;
}

那个’我的闪亮服务器设置在/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;
      }
    }

我可以运行rstudio和shiny-server,但是,当我打电话给一个闪亮的例子,如

library(shiny)
runExample("01_hello")

当RStudio complier提示

Listening on http://'127.0.0.1':7146

url返回无效响应,此处显示我的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. 

但是,当我删除Nginx默认为RStudio的代理旁路时

 #location /rstudio/ {
 #        rewrite ^/rstudio/(.*)$/$1 break;
 #       proxy_pass http://localhost:8787;
 #      proxy_redirect http://localhost:8787/ $scheme://$host/rstudio/;
 # }

它可以从RStudio运行闪亮的应用程序.

我的问题是如何配置RStudio和Shiny服务器,以便我可以删除:8787运行rstudio和:3838运行闪亮的服务器.

RStudio complier prompt

Listening on http://'127.0.0.1':7146

这是不是意味着您应该将代理请求传递给7146而不是8787?

404错误消息表明找不到路径.

要更直接地回答这个问题,请看这里:http://table1.org/setting-up-an-ubuntu-server-with-nginx-up-to-run-shiny-applications.

页面提供了Nginx siteconf文件

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/;
    }
}

因此,您应该能够运行闪亮的服务器,而无需通过RStudio代理它.由于您希望在子目录中运行它,因此您可以使用以下代码

location /rstudio/ {
     rewrite ^/rstudio/(.*)$/$1 break;
     proxy_pass http://localhost:3838;
     proxy_redirect http://localhost:3838/ $scheme://$host/rstudio/;
}

如果这不起作用,请尝试更改localhost for 127.0.0.1或实际的IP地址.

原文链接:https://www.f2er.com/nginx/434914.html

猜你在找的Nginx相关文章