阅读 68

2020年,必须拥有自己的博客网站(下)

一般地,我们的博客站点放在github-pages上就足矣了,所以上两篇文章中,我们着重介绍了基于travis-ci和Github来自动化部署我们的站点()。零成本 + 流畅的写作体验 = 口碑爆好

然而,我们在愉快的创作之余,也不能忽视:即使是这么完美的方案,依旧存在一些小缺陷:

  • Github站点,国内各大搜索引擎基本未收纳,也就是说你的文章很难被用户搜索到
  • Github在国内的网速很慢,用户很难一直等待加载中的页面
  • 在github-pages上部署的站点,域名很长,很难被用户记住

基于此,我们还有最后的大招,但涉及的知识也挺多,所以不适合新手。至少得用过点linux系统,我们先看下待会要用到的资源和技能:

  • centos服务器一台
  • 装上nginx、Jenkins
  • 域名一个

web hooks

我们都知道钩子的概念在前端框架中用的很多,React、Vue的生命周期都是一个一个钩子。web hooks和生命周期很像,只不过是换了主语和宾语,这里的主语是github,宾语是Jenkins,用图表示:

需要安装的Jenkins插件

  • Generic Webhook Trigger Plugin
  • Publish Over SSH

第一个是为了配置钩子,第二个是为了连接服务器,我们先去Jenkins-系统配置中将服务器配置好

其中的Remote Directory是博客构建后代码放置的位置

生成hooks

在Jenkins的用户管理中生成Api Token

为Github的仓库配置web hooks

URL格式为 http://:@:<端口>/generic-webhook-trigger/invoke

配置Jenkins项目

构建触发器

选择构建环境

构建脚本

构建后操作

测试

现在,提交点代码,去Jenkins就能看到相关的构建信息了

Nginx

下一步就是nginx的配置,这一步相对简单

server {
    listen       80;
    server_name   wwww.xxxxx.com;

    location / {
        root /home/blog;
        index index.html;
    }
}
复制代码

最后reload一下nginx即可

nginx -s reload
复制代码

到这里,就可以通过自己的域名wwww.xxxxx.com访问博客了

注意

因为涉及的东西比较多,所以很多都是配了图而缺少文字解释,后面等我有时间,我再慢慢补充,慢慢解释。老铁们要是有问题或者疑问,欢迎留言,我会认真解答的!