R shiny部署简略版¶
Step1:安装R和shiny¶
sudo yum install R
su - -c "R -e \"install.packages(c('shiny', 'rmarkdown', 'devtools', 'RJDBC'), repos='https://nexus.hengrui.com/repository/r-proxy-cran/')\""
# 服务器可以访问https://nexus.hengrui.com/repository/r-proxy-cran/,但很多包没有最新版本,推荐使用https://cran.rstudio.com/
download: https://download3.rstudio.org/centos8/x86_64/shiny-server-1.5.23.1030-x86_64.rpm
sudo yum install --nogpgcheck shiny-server-1.5.23.1030-x86_64.rpm
sudo systemctl start shiny-server
sudo systemctl enable shiny-server
Step2:创建/检查config文件¶
- config_dir: /etc/shiny-server/shiny-server.conf 参考说明-Server Management部分:https://docs.posit.co/shiny-server/#server-management
Step3:安装R包需要的依赖¶
yum install harfbuzz-devel fribidi-devel
yum install freetype-devel libpng-devel libtiff-devel libjpeg-turbo-devel
yum install poppler-cpp-devel
yum install libcurl-devel libxml2-devel openssl-devel libgit2-devel
yum install cairo-devel cmake
yum install ImageMagick-c++-devel
yum install openssl-devel cyrus-sasl-devel
Step4:安装R包 - https://cran.rstudio.com/¶
install.packages(c('attempt', 'aws.s3', 'bs4Dash', 'bslib', 'colourpicker', 'config', 'cowplot', 'data.table', 'digest', 'dplyr', 'DT', 'flextable', 'formatters', 'ggnewscale', 'ggplot2', 'ggpubr', 'ggsci', 'golem', 'Hmisc', 'htmltools', 'httr', 'IDEAFilter', 'labelled', 'lubridate', 'magick', 'openxlsx', 'patchwork', 'pkgload', 'plyr', 'purrr', 'r2rtf', 'readr', 'readxl', 'rjson', 'RSQLite', 'rtables', 'shinipsum', 'shiny', 'shinyalert', 'shinycssloaders', 'shinydisconnect', 'shinyEventLogger', 'shinyFiles', 'shinyglide', 'shinyjs', 'shinyWidgets', 'stringr', 'survminer', 'svglite', 'tern', 'tidyr', 'Tplyr', 'xml2', 'magick', 'shinyEventLogger'),
repos='https://cran.rstudio.com/', dependencies = T)
R shiny相关文件路径¶
- site_dir: cd /srv/shiny-server 【新建项目都可以放到这个下面(必须要有app.R文件)】
- log_dir: cd /var/log/shiny-server
- event.log: /srv/shiny-server/MedReviewTool/events.log 【存放于各shiny项目文件夹下】
当新项目出现权限不够error时,授予项目访问权限¶
sudo chown -R shiny:shiny /srv/shiny-server/MedReviewTool1
sudo chmod -R 775 /srv/shiny-server/MedReviewTool1
RENEW:上传package-安装package/覆盖代码-重启服务器¶
install.packages(pkgs = '/tmp/MedReviewTool_1.2.250821.tar.gz', lib = .libPaths()[length(.libPaths())], repos = NULL, dependencies = T)
## 可能需要安装新package
install.packages('xxxx', repos='https://cran.rstudio.com/', dependencies = T)
MediSum额外需要上传golem-config.yml文件
!!NEW:新服务器需要更新的文件和内容¶
- 文件1:/etc/shiny-server/shiny-server.conf
- 文件2:/usr/local/openresty/nginx/conf/shiny_server.conf 更新上述两个文件的对应部分。
然后运行
SPECIAL:现在服务器安装依赖包需要使用类似后面的语句 sudo dnf --disablerepo=openresty install pdftk-java