Linux使用Docker部署RStudio Server结合内网穿透实现公网访问本地服务

文章目录

  • 前言
    • 1. 安装RStudio Server
    • 2. 本地访问
    • 3. Linux 安装cpolar
    • 4. 配置RStudio server公网访问地址
    • 5. 公网远程访问RStudio
    • 6. 固定RStudio公网地址

前言

RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE,并通过 Web 浏览器进行访问,从而将 RStudio IDE 的强大功能和工作效率带到基于服务器的集中式环境中。

下面介绍在Linux docker中安装RStudio Server并结合cpolar内网穿透工具,实现远程访问,docker方式安装可以避免很多问题,一键安装,如设备没有安装docker,需提前安装docker

1. 安装RStudio Server

执行docker 一键启动命令,其中-e PASSWORD=设置自己的登录密码,端口默认8787,其他参数默认

docker run -itd -p 8787:8787 --name rstudio -e PASSWORD=自己设置密码 --privileged=true -v /srv/shinyapps/:/home/rstudio/shinyapps -v /srv/shinylog/:/home/rstudio/shinylogs rocker/rstudio 

执行后,会自动下载镜像,然后启动容器,完成后,输入docker ps 即可看到运行的RStudio容器,运行挂载的端口为:8787,docker安装就完成了,非常简单快捷,且省去了繁琐的环境配置

2. 本地访问

上面安装完成后,访问Linux 8787端口,如局域网访问,需检查一下防火墙,这里使用Linux 内部浏览器访问,可以看到成功访问

输入用户名: rstudio 和自己设置的密码,即可登录成功,这样就完成了Linux RStudio Server安装且正常访问,下面安装cpolar 工具,实现在任意设备浏览器也可以访问RStudio

3. Linux 安装cpolar

上面我们成功安装了RStudio server,并局域网访问ok,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

4. 配置RStudio server公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个RStudio 的cpolar 公网地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:8787(docker 挂载的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

5. 公网远程访问RStudio

使用上面的https公网地址在任意设备的浏览器访问,即可成功看到我们RStudio 界面,这样一个公网地址且可以远程访问就创建好了,新地址访问,可能需要重新登录

输入账号密码,即可登录成功,这样一个远程地址就创建好了,在cpolar中,默认是随机地址,下面我们设置固定地址

6. 固定RStudio公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留成功的二级子域名的名称

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

最后,我们使用固定的公网地址访问RStudio工具,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,新地址访问,可能需要重新登录!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/785567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java如何使用nignx实现静态资源服务

在Java应用中,通常我们不会直接用Nginx来服务静态资源,而是会让Java应用(如Spring Boot应用)处理动态请求,而将静态资源(如HTML、CSS、JS、图片等)交给Nginx来服务。这样的架构有很多好处&#…

标准版IP地址证书

IP地址证书是一种网络安全工具,用于确保互联网通信中IP地址的所有权和真实性。它类似于为网站颁发的SSL/TLS证书,但专门针对IP地址。这种证书由受信任的第三方机构(如证书颁发机构)签发,包含公钥、所有者信息和有效期。…

抖店被清退身份证还能入驻吗?被清退保证金可以退吗?

在抖音平台上开设自己的抖店是许多人追求的梦想,但有时候由于一些原因,抖店可能会被清退。此时,很多人会担心自己的身份证是否还能用来再次入驻。 一、抖店被清退身份证还能入驻吗? 首先,需要明确的是,抖…

【Linux】开始掌握进程控制吧!

送给大家一句话: 我并不期待人生可以一直过得很顺利,但我希望碰到人生难关的时候,自己可以是它的对手。—— 加缪 开始学习进程控制 1 前言2 进程创建2.1 fork函数初识2.2 fork函数返回值2.3 写时拷贝2.4 fork常规用法2.5 fork调用失败的原因…

Free RTOS day2

1.思维导图 2.使用PWMADC光敏电阻完成光控灯的实验 int adc_val0;//用于保存ADC采样得到的数值 float volt0;//用于保存电压值 int main(void) {MX_GPIO_Init();MX_DMA_Init();MX_TIM1_Init();MX_USART1_UART_Init();MX_ADC_Init();MX_TIM3_Init();HAL_TIM_PWM_Start(&hti…

【linux】基础IO(一)

文件只有站在系统层面才能彻底理解 简单回顾一下文件: 首先我们要明确一点,我们说的打开文件不是写下fopen就打开文件,而是当我们的进程运行起来,进程打开的文件。 我们在C语言一般都会使用过如下的代码进行向文件中写入 但是除…

GUID测试程序

全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。G…

【软考高项范文】论信息系统项目的风险管理与安全管理

1. 项目背景和参与工作 我曾参与管理的信息系统项目是一家金融机构的核心银行系统升级项目。这家金融机构是一家全球性银行,拥有多个分支机构和数百万客户。项目的背景是为了提高核心银行系统的性能、安全性和可扩展性,以适应不断增长的客户需求和市场竞争。项目规模庞大,包…

插槽 Slots

插槽内容与出口​ 在之前的章节中,我们已经了解到组件能够接收任意类型的 JavaScript 值作为 props,但组件要如何接收模板内容呢?在某些场景中,我们可能想要为子组件传递一些模板片段,让子组件在它们的组件中渲染这些…

Clickhouse-表引擎探索之MergeTree

引言 前文曾说过,Clickhouse是一个强大的数据库Clickhouse-一个潜力无限的大数据分析数据库系统 其中一个强大的点就在于支持各类表引擎以用于不同的业务场景。 MergeTree MergeTree系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一…

手写SpringBoot(二)之动态切换Servlet容器

系列文章目录 手写SpringBoot(一)之简易版SpringBoot 手写SpringBoot(二)之动态切换Servlet容器 手写SpringBoot(三)之自动配置 手写SpringBoot(四)之bean动态加载 手写SpringBoot&…

衍生品交易概况

场内 场外 交易台架构 报价、交易、研究、程序个股、股指Flow、Exotic线性、非线性 对冲管理 管理风险敞口 做好情景分析 尊重市场选择 及时调整策略 理解头寸 善于学习 场外衍生品交易员的一天 盘前 回顾市场、决定今天总体方向处理隔夜敞口 盘中 处理客户询价…

C语言中入门到实战————动态内存管理

目录 前言 一、为什么要有动态内存分配 二、 malloc和free 2.1 malloc 2.2 free 三、calloc和realloc 3.1 calloc 3.2 realloc 四. 常见的动态内存的错误 4.1 对NULL指针的解引用操作 4.2 对动态开辟空间的越界访问 4.3 对非动态开辟内存使用free释放 4.4 使…

【算法】01背包问题(代码+详解+练习题)

题目: 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整…

面经(七)南京先维

总体评价: 哈哈,感觉又没了前半段发挥还挺好,但到了后面,听录屏的声音,越来越底气不足,回答也是极尽含糊虽然问的问题不难,都是基础知识,但关键是,只会单纯地用&#xf…

视频素材库有哪些网站?八大平台视频素材库创作推荐

视频创作的小达人们,是不是经常在想,视频素材库有哪些网站能提供高质量的素材呢?别担心,今天我要为你们揭秘八个超棒的视频素材网站,让你的视频制作更加轻松在创作的路上如鱼得水! 蛙学网:海量…

【BlossomConfig】配置中心Core核心功能代码的编写

文章目录 Core什么是配置中心?以及如何实现一个配置中心?SpringBoot如何实现配置的管控?SpringCloud项目是如何对bootstrap配置文件进行加载的?Nacos是如何实现配置文件的读取加载的?开发配置中心前必须了解的前置知识…

关于 MySQL 优化(详解)

文章目录 关于 MySQL 优化一、硬件方面的优化1、关于 CPU2、关于内存3、关于磁盘 二、MySQL 配置文件1、 default-time-zone8:002、interactive_timeout 1203、wait_timeout 1204、open_files_limit 102405、group_concat_max_len 1024006、usermysql7、character-set-serv…

深入探索Yarn:安装与使用指南

Yarn 是一个由 Facebook 开发的 JavaScript 包管理器,旨在提供更快、更可靠的包管理体验。它与 npm 类似,但在某些方面更加高效和可靠。本文将介绍如何安装 Yarn,并展示如何使用它来管理 JavaScript 项目的依赖。 1. 安装 Yarn Yarn 可以通…

Web软件测试面试总结

整理下最近遇到的Web软件测试会被问到的问题,来自测下你掌握得怎么样? 一、编程语言相关 1、字符串反转 s "I am Donny" reversed_s s[::-1] print(reversed_s)这将输出 “ynnoD ma I”。 2、基础数据类型 基本数据类型(Prim…