我正在尝试在服务器上启动闪亮的应用程序。我只是按照管理指南中的说明进行操作:
mkdir ~/ShinyApps
sudo cp -R /opt/shiny-server/samples/sample-apps/hello ~/ShinyApps/
然后尝试通过http://<server-address>:3838/<your_username>/hello
访问hello应用程序但是它显示此页面无法显示错误。任何人都知道可能导致这个问题的原因是什么?谢谢!
续 谢谢Jeff,我在指南中使用了完全相同的部分。 这是shiny-server.conf文件:
server {
listen 3838;
# Define a location at the base URL
location /users {
#this is set up so that I can run apps sithout sudo
run_as :HOME_USER:
user_dirs;
}
location /apps {
run_as shiny;
# Host the directory of Shiny Apps stored in this directory
site_dir /srv/shiny-server;
# Log all Shiny output to files in this directory
log_dir /var/log/shiny-server;
# When a user visits the base URL rather than a particular application,
# an index of the applications available in this directory will be shown.
directory_index on;
}
}
shiny-server.log显示了很多错误:
[32m[2014-04-28 11:04:42.871] [INFO] shiny-server - [39mShiny Server v1.1.0.10000 (Node.js v0.10.21)
[32m[2014-04-28 11:04:42.875] [INFO] shiny-server - [39mUsing pidfile /var/run/shiny-server.pid
[32m[2014-04-28 11:04:42.877] [INFO] shiny-server - [39mUsing config file "/etc/shiny-server/shiny-server.conf"
[33m[2014-04-28 11:04:42.973] [WARN] shiny-server - [39mRunning as root unnecessarily is a security risk! You could be running more securely as non-root.
[31m[2014-04-28 11:04:42.217] [ERROR] shiny-server - [39mError loading config: location directive must contain (or inherit) one of site_dir, user_apps, app_dir, or redirect (/etc/shiny-server/shiny-server.conf:10:3)
[32m[2014-04-28 11:04:42.218] [INFO] shiny-server - [39mShutting down worker processes
如何解决这些错误?
答案 0 :(得分:3)
我假设您从指南的this部分获得了该命令?如果是这样,您是否也使用deploy-example
脚本来更改配置文件?运行该脚本时是否收到任何错误?
或者,编辑您的问题以在/etc/shiny-server/shiny-server.conf
包含您的配置文件,我们将能够查看您的服务器是否已正确配置为使用user_dirs
,用户可以使用该/var/log/shiny-server.log
主持自己的应用程序。
同时检查(和/或编辑您要包含的问题)服务器日志中{{1}}的最新条目。
答案 1 :(得分:1)
尝试网址http://<server-address>:4949/sample-apps/
。
如果不是4949,请尝试3838。
答案 2 :(得分:0)
原因是port 3838
是否开放。如果它没有打开,也许您应该在服务器中运行以下指令:
iptables -I INPUT -p tcp --dport 3838 -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT