11

我创建了一些网络应用程序,使用Rook它在端口 8000 处监听我的网络 ip (192.168.xx.xx)。我办公室里的每个人都可以连接到他们,只需http://192.168.xx.xx:8000/page_name在浏览器中输入。我需要监控这些页面的使用情况,并想知道如何获取连接到它们的网络 IP 地址。

我在 Web 开发方面没有经验,从目前所做的研究来看,使用客户端代码似乎JavaScript很难(几乎不可能)实现这一点,(如果我错了,请纠正我)。所以,我的问题是:有没有办法在 Rook 应用程序中使用服务器端代码获取网络客户端 IP?(如果需要,我愿意更改网络服务器,任何解决方案都值得赞赏)。

如果我的问题看起来令人困惑,请提前感谢和抱歉......特别是我不确定是否需要其他标签。

编辑:我也会接受使用不同于Rook(但仍在R)的答案

编辑 2:我在此链接之后设置了 Shiny Server 。根据@Thell,我正在配置服务器以获得access_log包含我需要的信息的信息。在shiny-server.conf我添加了相关语句,现在是:

run_as shiny;

server {
  listen 3838;

  location / {
    site_dir /var/shiny-server/www;
    log_dir /var/shiny-server/log;
    directory_index on;
  }

}

access_log /home/michelec/log.txt;

最后一行应该告诉闪亮将 access_log 写入我的主文件夹。然而什么也没发生,日志仍然是空白的。根据这里,在格式部分,我应该收到以下日志之一:

default ':remote-addr - - [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"'
short ':remote-addr - :method :url HTTP/:http-version :status :res[content-length] - :response-time ms'
tiny ':method :url :status :res[content-length] - :response-time ms'
dev concise output colored by response status for development use

取决于您是保留默认格式还是更改它。

4

1 回答 1

3

似乎 Rook 仅在 rApache 支持时才提供远程添加。

另一种选择是从优秀的人@ RStudio 设置闪亮服务器,然后配置访问日志,以便您能够使用您选择的所选访问日志格式解析它。

我倾向于 Shiny 解决方案,因为 rApache 的作者也帮助了 Shiny 和 Shiny(因为它是 RStudio 的官方产品)似乎已经准备好增长和长期可用性,我们不能真正说 rApache(很好照原样!)。

于 2013-06-23T16:54:07.303 回答