2017-09-24 81 views
0

我的應用程序在本地運行良好。我可以與它進行交互等。但是,在全局部署時,它會立即引發「從服務器斷開連接」錯誤。我一直在Google上搜索幾天,並嘗試了一切我知道如何嘗試。閃亮的應用程序在本地加載,部署時從服務器斷開連接

首先第一件事情:

  • 我試圖卸載然後再重新安裝一堆包
  • 我所有的軟件包更新我使用
  • 沒有信息都在閃亮的日誌。 「這個應用程序目前沒有日誌。」
  • 我的數據(CSV)只有17MB(3列,1M十歲上下行)
  • 當我把它縮小到只有大約200行我繼續有同樣的問題
  • 我通過設置去,改變了啓動超時時間設置爲300,並逐一系統地更改每個其他設置。
  • 我已經閱讀了瀏覽器的JavaScript日誌的端到端。他們沒有多少意義(可能是因爲我不懂JavaScript),但沒有任何明顯的突出。
  • 我不跟整個文件路徑加載我的數據,剛剛結束部分

我的「部署」登錄RStudio表示成功部署:

Preparing to deploy application...DONE 
Uploading bundle for application: 193997...DONE 
Deploying bundle: 994423 for application: 193997 ... 
Waiting for task: 489405538 
    building: Building image: 992534 
    building: Fetching packages 
    building: Installing packages 
    building: Installing files 
    building: Pushing image: 992534 
    deploying: Starting instances 
    rollforward: Activating new instances 
    terminating: Stopping old instances 
Application successfully deployed to https://jesstme.shinyapps.io/shinynames/ 
Deployment completed: https://jesstme.shinyapps.io/shinynames/ 

鏈接到應用程序本身: https://jesstme.shinyapps.io/shinynames/

Server代碼:

#set wd & environment---- 
setwd("/Users/OldJess/Dropbox/R Stuff (Home)/ShinyNames") 

#load packages------ 
library(datasets) 
library(ggplot2) 
library(viridis) 
library(ggthemes) 
library(gridExtra) 
library(dplyr) 
library(rdrop2) 
library(shiny) 
library(devtools) 

#base <- read.csv("data/NationalNamesBrief.csv", stringsAsFactors = FALSE,  row.names = NULL, na.strings = c("NA","","#MULTIVALUE")) 

#temporary df for demonstration purposes 
base <- structure(list(Name = c("Ellie", "Ellie", "Ellie", "Ellie", "Ellie", 
          "Ellie"), 
        Year = c(1880L, 1881L, 1882L, 1883L, 1883L, 1884L), 
        Gender = c("F", "F", "F", "F", "M", "F"), 
        Count = c(17L, 27L, 37L, 24L, 7L, 28L)), 
       .Names = c("Name", "Year", "Gender", "Count"), 
       row.names = c(NA, 6L), class = "data.frame") 

#clean data---- 
base$name <- tolower(base$Name) 
base$MF <- as.factor(base$Gender) 

#add ranking data by Year 
base <- base %>% 
    group_by(Year) %>% 
    arrange(Year, desc(Count)) %>% 
    mutate(Rank = row_number()) 

#add ranking data by Year AND Gender 
base <- base %>% 
    group_by(Year, Gender) %>% 
    arrange(Year, desc(Count)) %>% 
    mutate(GenderRank = row_number()) 

#create functions---- 
#function to create line & heat charts 
lineHeatCharts <- function(pickaname){ 
    pickanameLower <- tolower(pickaname) 
    subDf <- subset(base[base$name == pickanameLower,]) 
    heat <- ggplot(subDf, aes(x = Year, y = MF, fill = Count)) + 
    scale_fill_viridis(name = "", 
        option = "B", 
        limits = c(0, max(subDf$Count))) + 
    geom_tile(color = "white", size = 0) + 
    theme_tufte() + 
    theme(axis.text.x = element_text(angle = 90, vjust = 1, hjust = 1), 
     axis.ticks.x = element_blank()) + 
    scale_x_continuous(breaks = seq(min(subDf$Year), 
           max(subDf$Year), by = 5)) + 
    labs(x = "Year", y = "") 
    line <- ggplot(subDf, aes(x = Year, y = Count, fill = MF)) + 
geom_line(aes(colour = factor(subDf$Gender)), size = 1.5) + 
theme_tufte() + 
theme(axis.text.x = element_blank(), 
     axis.ticks.x = element_blank()) + 
scale_x_continuous(breaks = seq(min(subDf$Year), 
           max(subDf$Year), by = 5)) + 
labs(x = "", y = "", color = "") 
    return(grid.arrange(line, heat, 
        ncol = 1, nrow = 2, 
        heights = c(5, 2), top = max(subDf$Name))) 
} 

# Define server logic 
function(input, output) { 

    output$view <- renderPlot({ 
    lineHeatCharts(input$list) 
    }) 
} 

UI代碼:

library(shiny) 
library(shinythemes) 

# Define UI for dataset viewer application 
fluidPage(theme = shinytheme("flatly"), 

    # Application title 
    titlePanel("First Names on U.S. Social Security Applications, 1880 - 2014"), 

    sidebarLayout(
    sidebarPanel(
     textInput(inputId = "list", label = "Enter a name:", value = "Ellie"), 

     helpText("Note: This page will take about 30 seconds to load the first  time you open it. Data are from US Social Security applications via data.gov. For privacy, only names with at least 5 babies per year are included. Errors in Social Security form submission, like incorrect sex, are not corrected. Names with special characters and spaces are not included."), 

    submitButton("Refresh View") 
), 

mainPanel(
    h4(""), 
    plotOutput("view") 
    ) 
) 
) 
+1

你能提供整個應用程序嗎? –

+0

@PorkChop完成。 – jesstme

回答

0

事實證明有兩個問題: 1)我需要刪除我的代碼setwd()二號線2)閃亮的日誌不起作用。

我發佈在Google的Shiny論壇上,一個RStudio人員解決了這個問題。一旦日誌正常工作,我看到這個錯誤指向了我試圖網絡化的東西。刪除了該問題並解決了問題。保持這個問題是因爲我確信這個問題會在某些時候困擾別人。

1

試試這個:

#set wd & environment---- 
#setwd("/Users/OldJess/Dropbox/R Stuff (Home)/ShinyNames") 

#load packages------ 
library(datasets) 
library(ggplot2) 
library(viridis) 
library(ggthemes) 
library(gridExtra) 
library(dplyr) 
library(shiny) 
library(shinythemes) 

#base <- read.csv("data/NationalNamesBrief.csv", stringsAsFactors = FALSE,  row.names = NULL, na.strings = c("NA","","#MULTIVALUE")) 

#temporary df for demonstration purposes 
base <- structure(list(Name = c("Ellie", "Ellie", "Ellie", "Ellie", "Ellie", "Ellie"), 
         Year = c(1880L, 1881L, 1882L, 1883L, 1883L, 1884L), 
         Gender = c("F", "F", "F", "F", "M", "F"), 
         Count = c(17L, 27L, 37L, 24L, 7L, 28L)), 
        .Names = c("Name", "Year", "Gender", "Count"), 
        row.names = c(NA, 6L), class = "data.frame") 

#clean data---- 
base$name <- tolower(base$Name) 
base$MF <- as.factor(base$Gender) 

#add ranking data by Year 
base <- base %>% 
    group_by(Year) %>% 
    arrange(Year, desc(Count)) %>% 
    mutate(Rank = row_number()) 

#add ranking data by Year AND Gender 
base <- base %>% 
    group_by(Year, Gender) %>% 
    arrange(Year, desc(Count)) %>% 
    mutate(GenderRank = row_number()) 

#create functions---- 
#function to create line & heat charts 
lineHeatCharts <- function(pickaname){ 
    pickanameLower <- tolower(pickaname) 

    if(!any(base$name %in% pickanameLower)){ 
    return() 
    } 

    subDf <- subset(base[base$name == pickanameLower,]) 
    heat <- ggplot(subDf, aes(x = Year, y = MF, fill = Count)) + 
    scale_fill_viridis(name = "", 
         option = "B", 
         limits = c(0, max(subDf$Count))) + 
    geom_tile(color = "white", size = 0) + 
    theme_tufte() + 
    theme(axis.text.x = element_text(angle = 90, vjust = 1, hjust = 1), 
      axis.ticks.x = element_blank()) + 
    scale_x_continuous(breaks = seq(min(subDf$Year), max(subDf$Year), by = 5)) + 
    labs(x = "Year", y = "") 
    line <- ggplot(subDf, aes(x = Year, y = Count, fill = MF)) + 
    geom_line(aes(colour = factor(subDf$Gender)), size = 1.5) + 
    theme_tufte() + 
    theme(axis.text.x = element_blank(), 
      axis.ticks.x = element_blank()) + 
    scale_x_continuous(breaks = seq(min(subDf$Year), 
            max(subDf$Year), by = 5)) + 
    labs(x = "", y = "", color = "") 
    return(grid.arrange(line, heat, ncol = 1, nrow = 2, heights = c(5, 2), top = max(subDf$Name))) 
} 

ui <- fluidPage(theme = shinytheme("flatly"), 

       # Application title 
       titlePanel("First Names on U.S. Social Security Applications, 1880 - 2014"), 

       sidebarLayout(
        sidebarPanel(
        textInput(inputId = "list", label = "Enter a name:", value = "Ellie"), 

        helpText("Note: This page will take about 30 seconds to load the first  time you open it. Data are from US Social Security applications via data.gov. For privacy, only names with at least 5 babies per year are included. Errors in Social Security form submission, like incorrect sex, are not corrected. Names with special characters and spaces are not included."), 

        submitButton("Refresh View") 
       ), 
        mainPanel(
        h4(""), 
        plotOutput("view") 
       ) 
       ) 
) 

server <- function(input, output, session) { 

    output$view <- renderPlot({ 
    lineHeatCharts(input$list) 
    }) 
} 

shinyApp(ui, server) 

enter image description here

+0

除了最後一行之外,還增加了哪些其他更改? – jesstme

+0

我加了'if(!any(base $ name%in%pickanameLower)){return()}' –

相關問題