38、【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(一)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

之前内网穿透系列的 blog
【Ubuntu】【远程开发】内网穿透:SSH 反向隧道

已经建立了稳定的 SSH 反向隧道,然后在 Nuttx 系列的 blog
【OS】【Nuttx】【周边】文档构建渲染:效果呈现

介绍了如何生成 Nuttx 帮助文档网站,OK,现在介绍如何将两者结合起来,从外地访问内网的 Web 服务

拉出内网 Web 服务

首先,拉出内网 Web 服务是建立在 SSH 隧道已经建立的情况,如果这里没达成,先看该专栏下内网穿透系列 blog,建立起远程连接

OK,然后根据 Nuttx 系列最新的 blog
【Nuttx】【工具】Esbonio 更新后无法使用(一)
【Nuttx】【工具】Esbonio 更新后无法使用(二)

更新到 Esbonio v1.0 的插件,在终端输入

bash 复制代码
sphinx-build -b html Documentation/ sphinx_build/

这里 Documentation/ 是 Nuttx 中 Sphinx 项目的位置,sphinx_build/ 是构建件的输出目录,关于 -b 选项,在终端输入 sphinx-build --help,可以查看器帮助内容如下

这里面描述了 sphinx-build 命令比较多东西,这里稍微说下,首先是其命令格式的基本格式
sphinx-build [OPTIONS] SOURCEDIR OUTPUTDIR [FILENAMES...]

  • [OPTIONS]:表示可选参数,比如上面的 -b html,表示构建出 html 网页
  • SOURCEDIR:表示文档源文件所在的目录,也就是包含 .rst 文件的目录
  • OUTPUTDIR:表示生成的文档要输出到哪个目录
    [FILENAMES...]:可选,表示只重新构建指定的某些文件,一般不用,都是全量构建

OK,然后看下这里描述的东西

  • sphinx-build 命令的作用是将 .rst 等源文件生成漂亮的文档,比如网页,pdf 等,该命令会读取 SOURCEDIR 源目录里的文档源码,然后把生成的结果放到 OUTPUTDIR 输出目录里
  • sphinx-build 命令会在 SOURCEDIR 里查找配置文件 conf.py,这就是之前 blog 【OS】【Nuttx】【周边】文档构建渲染:安装 Sphinx 扩展(下) 里提到的,conf.py 里会定义文档的标题,作者,扩展,主题等设置
  • 如果是第一次写 Sphinx 项目,可以用 sphinx-quickstart 命令,这个命令会生成一些初始项目结构,比如 conf.py 和首页 index.rst
  • Sphinx 支持多种输出格式,比如网页 HTMLPDF/LaTeXLaTeX 用来写公式会很优美),man 手册页(类似 Linux 手册页那种),epub 电子书等,可以通过 -b <builder> 选项来选择格式,默认是网页 HTML,也就是 -b html
  • 默认情况下,Sphinx 只重新构建有改动,或者过期的文件(可以加快构建速度)

OK ,分析完 sphinx-build 命令的作用,然后可以看到网页 HTML 构建成功

OK,网页构建成功,接着在终端输入命令

bash 复制代码
python3 -m http.server 2025

就可以在 http://localhost:2025 上看到网页了,注意,这里说的 localhost 指的是远程的内网服务器,不是本地电脑

下面再说下 python3 -m http.server 2025 这组命令

之前的 blog 【OS】【Nuttx】【周边】效果呈现方案解析:端口映射(二) 介绍过,这个命令在启动本地服务器时,同时 VSCode 也会在后台持续监控远程机器上新启动的监听端口 ,比如通过 netstat 或 lsof 等工具命令,此时一旦发现有进程比如上面的 python -m http.server 2025 开始监听 localhost:8000就会触发端口自动转发功能,关于 VSCode 的端口自动转发功能,还是参考 blog

【OS】【Nuttx】【周边】效果呈现方案解析:端口映射(一)
【OS】【Nuttx】【周边】效果呈现方案解析:端口映射(二)
【OS】【Nuttx】【周边】效果呈现方案解析:端口映射(三)

这个时候就可以在本地浏览器打开 http://localhost:2025


OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog
【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(二)

相关推荐
~无忧花开~3 小时前
JavaScript实现PDF本地预览技巧
开发语言·前端·javascript
小时前端3 小时前
“能说说事件循环吗?”—— 我从候选人回答中看到的浏览器与Node.js核心差异
前端·面试·浏览器
IT_陈寒3 小时前
Vite 5.0实战:10个你可能不知道的性能优化技巧与插件生态深度解析
前端·人工智能·后端
大牙Adela3 小时前
在Mac上通过Multipass虚拟机中的Ubuntu系统使用Graphviz工具
c语言·qt·ubuntu·macos·multipass·graphviz
SAP庖丁解码3 小时前
【SAP Web Dispatcher负载均衡】
运维·前端·负载均衡
码上上班4 小时前
ubuntu 安装ragflow
linux·运维·ubuntu
天蓝色的鱼鱼4 小时前
Ant Design 6.0 正式发布:前端开发者的福音与革新
前端·react.js·ant design
XH-hui4 小时前
【打靶日记】HackMyVm 之 hunter
linux·网络安全·hackmyvm·hmv
零一科技4 小时前
Vue3拓展:自定义权限指令
前端·vue.js