Je suis en train d'installer R Shiny Server sur mon exemple Amazon Linux AWS EC2 et je reçois l'erreur suivante:Shiny Server Erreur sur la page Web: Une erreur s'est produite L'application n'a pas pu démarrer. L'application est sortie lors de l'initialisation
Une erreur est survenue
L'application n'a pas pu démarrer.
L'application est sortie pendant l'initialisation.
J'ai fait un sudo-serveur brillant pour voir ce qui se passe et voir l'erreur EADDRINUSE:
$ sudo shiny-server
[2017-01-29 13:21:22.724] [INFO] shiny-server - Shiny Server v1.5.1.834 (Node.js v6.9.1)
[2017-01-29 13:21:22.728] [INFO] shiny-server - Using config file "/etc/shiny-server/shiny-server.conf"
[2017-01-29 13:21:22.764] [INFO] shiny-server - Starting listener on 0.0.0.0:80
[2017-01-29 13:21:22.771] [ERROR] shiny-server - HTTP server error (0.0.0.0:80): listen EADDRINUSE 0.0.0.0:80
[2017-01-29 13:21:22.771] [INFO] shiny-server - Shutting down worker processes
J'ai vérifié que brillant, rmarkdown et, brillant serveur et R sont correctement installés sur mon exemple:
R --version
R version 3.2.2 (2015-08-14) -- "Fire Safety"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-redhat-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.
> library(shiny)
> library(rmarkdown)
>
J'ai également vérifié la connexion réseau sur mon instance EC2:
$ sudo netstat --tcp -nlpa | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1875/shiny-server
Mon instance EC2 groupe de sécurité réseau:
$ aws ec2 describe-security-groups --group-name launch-wizard-7
{
"SecurityGroups": [
{
"IpPermissionsEgress": [
{
"IpProtocol": "-1",
"PrefixListIds": [],
"IpRanges": [
{
"CidrIp": "0.0.0.0/0"
}
],
"UserIdGroupPairs": [],
"Ipv6Ranges": []
}
],
"Description": "launch-wizard-7 created 2017-01-28T14:22:51.817-05:00",
"IpPermissions": [
{
"PrefixListIds": [],
"FromPort": 80,
"IpRanges": [
{
"CidrIp": "0.0.0.0/0"
}
],
"ToPort": 80,
"IpProtocol": "tcp",
"UserIdGroupPairs": [],
"Ipv6Ranges": []
},
(il y a une autre entrée, mais que ssh dans ma propre machine donc je ne vais pas mettre cette information)
et voici mon fichier-server.conf brillant de /etc/shiny-server/shiny-server.conf
$ cat /etc/shiny-server/shiny-server.conf
# Instruct Shiny Server to run applications as the user "shiny"
run_as shiny;
# Define a server that listens on port 3838
server {
listen 3838;
# Define a location at the base URL
location/{
# 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;
}
}
Toute aide serait vraiment appréciée. J'ai essayé de laisser AWS écouter la demande pour le port 80 pour toutes les adresses IP et pour le serveur brillant car je pensais que les deux services ne devraient peut-être pas écouter le même port mais cela n'a pas fonctionné. Je suis juste en train de déployer l'exemple d'application fourni avec le serveur brillant.
url: http://34.198.107.126/sample-apps/hello/
Je suis également errant si mon groupe de sécurité AWS devrait permettre le trafic entrant pour le port 80 pour toutes les adresses IP et serveur brillant écouter le port 3838 ou l'inverse. – jonathan1987