闪亮的服务器安装:服务器在端口 3838 上没有响应

Posted

技术标签:

【中文标题】闪亮的服务器安装:服务器在端口 3838 上没有响应【英文标题】:Shiny-server installation: Server not responding on port 3838 【发布时间】:2017-01-01 12:34:18 【问题描述】:

我在 Ubuntu 16.04.1 上安装了闪亮服务器,根据控制台输出,它处于活动状态并正在运行:

    systemctl status shiny-server
● shiny-server.service - ShinyServer
   Loaded: loaded (/etc/systemd/system/shiny-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2016-08-24 18:17:09 CEST; 15h ago
  Process: 13175 ExecStartPost=/bin/sleep 3 (code=exited, status=0/SUCCESS)
 Main PID: 13179 (shiny-server)
    Tasks: 7
   Memory: 28.5M
      CPU: 158ms
   CGroup: /system.slice/shiny-server.service
           ├─13174 /bin/bash -c /opt/shiny-server/bin/shiny-server --pidfile=/var/run/shiny-server.p
           └─13179 /opt/shiny-server/ext/node/bin/shiny-server /opt/shiny-server/lib/main.js --pidfi
lines 1-11/11 (END)

然后我按照安装指南中的说明打开了3838端口:

netstat -ntlp | grep LISTEN
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:3838            0.0.0.0:*               LISTEN      -
tcp6       0      0 :::80                   :::*                    LISTEN      -
tcp6       0      0 :::22                   :::*                    LISTEN      -

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
3838/tcp                   ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
3838/tcp (v6)              ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)

但是,如果我尝试在浏览器中通过端口 3838 访问我的服务器,我没有收到来自服务器的任何响应,并且该站点保持空白并最终超时。

有什么我可能缺少的想法吗?

【问题讨论】:

【参考方案1】:

显然我的服务器上的 3838 端口有问题。尽管上面的控制台输出表明它已打开并列为“LISTEN”,但它仍然不起作用。当我将配置文件 (/etc/shiny-server/shiny-server.conf) 中闪亮服务器的默认端口更改为 80 时,它突然起作用了:

    # Define a top-level server which will listen on a port
    server 
       # Instruct this server to listen on port 3838
       listen 80;
       ...

【讨论】:

以上是关于闪亮的服务器安装:服务器在端口 3838 上没有响应的主要内容,如果未能解决你的问题,请参考以下文章

使用闪亮的服务器和 nginx 设置用于缓存的 http 标头

个人应用程序的闪亮服务器配置

如何使用UDP协议访问Amazon的Shiny-Server

如何使用 UDP 协议通过 Amazon 访问 Shiny-Server

在 R 闪亮的应用程序中接受 HTTP 请求

Centos 配置上的闪亮服务器