部署 Shiny 应用是在 CentOS 上运行 Shiny 应用的过程。Shiny 是一个基于 R 语言的 web 应用框架,可用于构建交互式的数据可视化应用程序。以下是在 CentOS 上部署 Shiny 应用的步骤。

1. 安装 R 和 Shiny 服务器

首先,需要在 CentOS 中安装 R 和 Shiny 服务器。可以通过以下命令来完成安装:

sudo yum install epel-release
sudo yum install R
sudo R -e "install.packages('shiny', repos='https://cran.rstudio.com/')" 
Bash

步骤 1 中的第一行命令将安装 EPEL 存储库,第二行将安装 R,第三行将使用 R 的 install.packages 函数安装 Shiny 包。

2. 构建并部署 Shiny 应用

现在,需要创建一个 Shiny 应用并将其部署到 CentOS 服务器上。可以按照以下步骤进行操作:

2.1 创建 Shiny 应用的目录结构。首先,创建一个新的目录来存放 Shiny 应用的文件。可以使用以下命令:

mkdir shiny_app
cd shiny_app
Bash

2.2 创建 Shiny 应用的 R 脚本。使用文本编辑器创建一个 R 脚本文件,例如 app.R。可以使用以下命令:

vi app.R
Bash
# 在app.R中编写Shiny应用的代码
library(shiny)
ui <- fluidPage(
   # Shiny应用的用户界面部分
)

server <- function(input, output) {
   # Shiny应用的服务器部分
}

shinyApp(ui = ui, server = server)
R

在 app.R 文件中,编写 Shiny 应用的代码。可以根据自己的需求进行修改和扩展。其中,ui 是 Shiny 应用的用户界面部分,server 是服务器部分。

2.3 运行 Shiny 应用。使用以下命令启动 Shiny 应用:

R -e "shiny::runApp('/path/to/shiny_app')"
Bash

上述命令将启动 Shiny 应用,并使用浏览器访问指定的 URL。

3. 使用 Nginx 代理 Shiny 应用

使用 Nginx 代理 Shiny 应用可以提供更好的性能和安全性。以下是将 Nginx 用作反向代理来代理 Shiny 应用的步骤:

3.1 安装 Nginx。可以使用以下命令来安装 Nginx:

sudo yum install nginx
Bash

3.2 配置 Nginx。使用文本编辑器打开 Nginx 的配置文件。

sudo vi /etc/nginx/nginx.conf
Bash

在配置文件中添加以下内容:

http {
   server {
      listen 80;
      server_name yourdomain.com;
      
      location / {
         proxy_pass http://localhost:3838;
         proxy_redirect http://localhost:3838/ $scheme://$host/;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
         proxy_set_header Host $host;
      }
   }
}
nginx

上述配置将请求转发到 Shiny 应用运行的端口(默认为 3838)。将 yourdomain.com 替换为您自己的域名。

3.3 启动 Nginx。使用以下命令启动 Nginx 服务器:

sudo systemctl start nginx
Bash

现在,您可以通过访问您的域名来访问 Shiny 应用,Nginx 将会代理到 Shiny 应用运行的端口。

通过以上三个步骤,您可以在 CentOS 上成功部署 Shiny 应用,并通过 Nginx 进行代理,以提升应用性能和安全性。