【hexo】在其他服务器上运行(tomcat为例)

本文介绍如何在云服务器上使用Hexo生成静态博客,并将其部署到Tomcat服务器上,实现80端口访问。涉及Hexo环境搭建、admin插件使用及自动化部署脚本。

1. 编写目的

我们既希望能够使用hexo这样简洁的博客管理框架,又想让自己的博客在其他web服务器上运行,也就是说,使用hexo生成静态网页在tomcat这样服务器上运行。
因为我们不希望把80端口完全让给hexo,我们可能需要展示别的项目。
另外我们如果只是生成静态文件然后复制粘贴到tomcat的webapp/ROOT 文件夹中去,也会遇到一些问题,比如如何写文章等。
下面就是一个解决方法。

2. 概述

  • 云服务器上搭建node npm 环境。推荐参考这个博客:
    https://blog.csdn.net/smileyan9/article/details/86708978
  • 服务器上安装hexo,安装hexo-admin插件。
  • 云服务安全组保证打开某个端口给hexo发布博客,并且初步测试完成云服务器上的hexo博客展示。
  • 配置hexo自己的博客,将静态生成文件地址改为自己80端口服务器的地址(tomcat为例:tomcat/webapp/ROOT)
  • 执行hexo g命令,将静态文件生成到目标地址。
  • 访问自己服务器的80端口,查看hexo的博客。
  • 在hexo运行端口写博客,然后再次执行hexo g命令。

3. 过程

刚刚再次测试了一下,上面的步骤是没有问题的,为了检测方便,具体过程如下:

  1. 在某个路径下执行 hexo init yan 指令,初始化一个文件夹,起名为yan。

  2. 配置hexo的public。表示执行 hexo -g 时生成静态文件的路径。

    编辑 _config.yml 文件,找到 public_dir 标签,在后面写上自己的tomcat的路径(特别要注意,是webapp/ROOT路径)。
    在这里插入图片描述

  3. 配置好了后,执行 hexo g 指令,让hexo 生成静态文件到tomcat的webapp/ROOT文件夹下,执行后效果如下:
    在这里插入图片描述
    这个时候需要可以查看index.html,可以看到依赖的css等文件都是这样的格式 /css/style.css ,也就是说使用的是绝对路径,所以这个时候,我们需要启动tomcat,然后再访问tomcat的根路径 localhost:8080/

可以看到效果如下:
在这里插入图片描述
也就是说我们的目标实现了!

Smileyan 2019年4月22日

2020.4.24 补充

补充内容:

  1. 运行环境: centOS
  2. 运行效果: 80端口部署的是tomcat,hexo 使用的是4000端口,用户通过使用admin插件写博客并发布到tomcat中。也就是说写博客使用的是4000端口,但是外界可以通过80端口进行访问。
  3. 这样的好处也很明显:告别命令行,部署方便,不占用80端口。

方法如下:

  1. 安装admin插件,修改_config.yml文件,配置密码。

  2. 配置发布路径,即hexo生成html文件的路径。这个时候需要配置路径到tomcat的webapps里面的相关路径。例子如下:
    修改 _config.yml 文件,找到 publish_dir,修改一下,如下:

    public_dir: /root/apache-tomcat-8.5.54/webapps/ROOT
    
  3. 添加脚本文件,在这个脚本文件中写部署指令,这里以 publish.sh 为例,在与 _config.yml 同级的目录下添加这个文件,内容如下:

    hexo g -d
    
  4. 把这个文件改成可执行文件,命令如下:

    chmod a+x publish.sh
    
  5. 修改 _config.yml 文件,配置使用deployCommand指令:

    admin:
      username: root
      password_hash: $dfdfdAX4CYPjREOWYZJ2cdHUvmeBlqtNepsH3RrBJ/LesG
      secret: dxgbfsd
      deployCommand: './publish.sh'
    
  6. 使用方法:启动tomcat与hexo项目后,登录admin,然后每次写博客、修改博客、删除博客,都需要运行一下自己写的脚本文件,表示生成静态html文件到tomcat的webapps某个文件夹中去。如图所示:
    在这里插入图片描述
    如果没有什么异常,输出内容大致如下:
    在这里插入图片描述
    最终访问tomcat对应的路径即可看到部署成功了。

    可能会遇到的问题:

    • 没有让脚本成为可执行文件。因为很多博客是windows环境,然而如果使用的是linux环境的话,都需要指定一下,让这个文件成为可执行文件。很简单,命令如下所示。
    • 指定的脚本的路径有问题。推荐使用绝对路径测试一下,成功后,再考虑使用相对路径测试。

2029.4.24 17:24

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smile-yan

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值