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 服务:构建静态网页(二)

相关推荐
逝川长叹11 分钟前
利用 SSI-COV 算法自动识别线状结构在环境振动下的模态参数研究(Matlab代码实现)
前端·算法·支持向量机·matlab
唐装鼠11 分钟前
linux vscode解压版 AI账号无法登陆问题(浏览器无法打开vscode)
linux·运维·vscode
玉树临风江流儿11 分钟前
炸鸡派-echoAI机器人项目解析
linux
xkxnq15 分钟前
第一阶段:Vue 基础入门(第 13天)
前端·javascript·vue.js
qq_4198540517 分钟前
Excel预览
前端
一个平凡而乐于分享的小比特23 分钟前
Linux最小系统详解
linux·最小系统
Levin__NLP_CV_AIGC24 分钟前
Ubuntu部署Dufs
linux·运维·服务器·ubuntu·ssh
PieroPc26 分钟前
用FastAPI 后端 和 Vue3 前端写一个博客系统 例
前端·vue·fastapi
xiaoyustudiowww36 分钟前
fetch异步简单版本(Tomcat 9)
java·前端·tomcat
TOPGUS36 分钟前
谷歌Chrome浏览器即将对HTTP网站设卡:突出展示“始终使用安全连接”功能
前端·网络·chrome·http·搜索引擎·seo·数字营销