如何在Debian服务器的子文件夹上使用Sphinx加载文档

4

我对Sphinx并不熟悉。我在Sphinx的官方文档站点上阅读了一些内容,并按照这些步骤在我的Debian Wheezy服务器上进行了安装和配置:

  1. 首先,我在http://example.com/documentation-path/上安装了Sphinx源代码。

    pip install sphinx

  2. 我执行了脚本sphinx-quickstart来配置根目录和conf.py文件。

    sphinx-quickstart

  3. 我执行了make html命令,在我的目录路径下构建HTML文件。

    make html

  4. 我安装了Sphinx autobuild来处理我的文档的每一个更改/更新,正如@toast38coza所写的文章

    pip install sphinx-autobuild

    sphinx-autobuild source build/html

[我已经修复的问题]

我的第一个问题是,由于服务器开始监视文档文件的更改,位于http://127.0.0.1:8000(本地主机端口为8000)处,因此我无法正确查看文档索引模板。所以当我在当前电脑上安装它时,得到了与我预期相同的url路径。而且如我在本地版本测试中所说,它运行良好。
由于我正在寻找类似URL路径配置(http://example.com)的东西,因此我决定添加-host和-port参数,让它在Debian上正常工作:

-p / --port选项用于指定文档所服务的端口(默认为8000) -H / --host选项用于指定文档所服务的主机(默认为127.0.0.1) 然后我进行了配置,启动它,它正常工作。

>> sphinx-autobuild source build/html --host http://example.com --port8000 

现在,如果我浏览http://example.com:8000, 我会得到正确的文档索引模板视图。 [我的主要问题] 如何在不同的URL路径上启动此视图,例如子文件夹http://example.com/documentation-path/,即使Sphinx安装的根路径是/documentation-path/? [我的次要问题] 如何自动化查看模板视图的过程,而无需每次在Debian控制台上编写指令sphinx-autobuild与--port和--host? [重要通知] Debian服务器目前配置了对我来说完全新的NGINX。
1个回答

2

最终,在NGINX文档的帮助下,我自己解决了子文件夹路径问题。

location /documentation {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:8000;
    index index.php index.html index.htm;
}

关于自动加载的问题,我刚刚从Sphinx切换到了Markdown。之后,我使用couscousPHP从Markdown文档生成了一个GitHub页面网站。

这对我来说是更明智的方式,可以提供静态html文件,而不必每次都从ssh控制台重新加载。实际上,我只需输入命令couscous generate即可轻松生成我的转换html文件。


1
顺便提一下,Sphinx 也可以生成静态 HTML 文件。只需要运行 make html 就可以了。 - strugee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接