nas-docker使用tomcat挂载hexo的静态站点

使用tomcat挂载hexo生成的的静态站点目录


前篇

  • hexo 目录结构


使用流程

  1. 实例一个 tomcat 实例出来, 挂载宿主的 hexo根目录 (如图所示是 my_hexo_blog 文件夹) 到 容器中的一个自定义目录中, 如: /myhexo

  2. 进入 tomcat 实例, 将配置文件 /usr/local/tomcat/conf/server.xml 拷贝到 /myhexo

    1
    # cp /usr/local/tomcat/conf/server.xml /myhexo/server.xml

    这一步主要是为了拷贝配置文件然后修改, 因为在 tomcat 容器是简单的 linux 系统, 没有编辑命令可以用, 只能拷贝到外部中编进.

  3. 在宿主 hexo根目录 就可以看到 server.xml 文件, 编辑增加默认 web 指向.

    1
    2
    3
    <Host name="localhost"  appBase="webapps"
    unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="/myhexo/public" /> <!-- 增加这一行代码, 注意一定要是之前自定义的目录 /myhexo 中的 public, public 是 hexo 生成的静态站点目录 -->
  4. 进入 tomcat实例 将配置文件覆盖原来的配置文件

    1
    # mv /myhexo/server.xml /usr/local/tomcat/conf/server.xml
  5. 重启 tomcat 实例. 之后可以直接用 hexo的生成命令生成静态站点, 都可以热更到这个 tomcat实例中.


踩坑

不能直接使用挂载 my_hexo_blog/public 到实例中 /myhexo, 然后配置文件 <Context path="" docBase="/myhexo" />, 这样重新生成 hexo 站点后, tomcat不能热更, 报错找不到服务器目录.