分类 博客建设 下的文章

使用Github Pages部署静态网页

一、关于Github Pages

github pages是github提供的静态文件托管服务,支持部署仓库内的静态页面文件,特别适合hexojekyll以及gitbook等应用部署网站使用。Github Pages有以下几个优点:

  1. 完全免费
  2. 支持自定义域名
  3. 支持HTTPS
  4. 免备案

其实国内像gitee.comcoding.net也都是提供Pages服务的,但是经过几年的使用感受来说,这两家相对于github还略有不足。主要体现在:

  1. coding在几年前是免费的,也支持自定义域名和HTTPS,无需备案,当时甚至支持对php动态程序的托管。如果coding一直是这种情况,我肯定毫无疑问选择coding,但是coding在17年底18年初和腾讯合作之后,功能就被阉割了。几个功能不是开会员才能使用,就是服务器得收钱。特别是在推广的Web IDE用起来完全没有之前清爽,感觉很笨重。因此后面在改版之后基本就没用过了(当时是在coding部署的hexo博客,改版后导致我后面直接连hexo都没用了T_T)。
  2. gitee也是近两年才大力改善Pages的功能,以前是不支持自定义域名的,部署之后得用用户名.gitee.com/仓库名/来访问,HTTPS功能更是没有(因为太挫了所以gitee基本不用)。现在是支持了自定义域名,但是要开通会员才能自定义域名,每年99(直接放弃)。

对比来看,github还算比较良心的,这也是为什么会选择github来托管的原因。但是github pages也有功能是不足的地方:

  1. 不支持分支部署,只支持部署master分支或者master分支下的docs目录。而上面两家国内托管机构支持多分支部署。
  2. 不支持目录部署,例如希望通过book.xxxx.com/a/和book.xxxx.com/b/分别部署两个仓库,在github pages中是不支持的。只能是通过多个自定义域名来区分,如a.book.xxxx.com和b.book.xxxx.com。

二、设置github pages

2.1 部署静态页面

pages的设置在setting页面中:

image50039403e34d74f1.png

点击后,一直往下拖就可以看到pages设置:

imagec8363663057f9ca9.png

pages目前只支持对master分支或者master的docs目录添加静态页面托管,要想托管页面,必须把文件放到master主目录或者docs目录下。而对于大多数应用(如gitbook)来说,主目录一般都是源码文件,因此建议把生成的静态文件放到docs目录下。当代码库中存在docs目录时,第二个选项会自动亮起。

imageaa67e5d9092374a8.png

点击后就可以使用username.gitee.io/projectname来访问静态页面了。

2.2 添加自定义域名

默认情况下,部署完成后,访问的URL为username.gitee.io/projectname,github支持自定义域名来重定向这个页面。

配置方法:Custom domain栏目中输入自定义的域名,点击Save即可。

我这里绑定的域名是html.book.maqian.io

image54a31ad6812de112.png

配置好后,页面会提示:

Your site is ready to be published at http://html.book.maqian.io/

现在要做的就是把域名添加指向到github pages的服务地址,有两种方法:

  1. 添加一条CNAME记录,指向username.github.io。可以参考Quick start: Setting up a custom domainCustom domain redirects for GitHub Pages sites
  2. 添加A记录,指向github服务器的IP地址,IP地址要在Troubleshooting custom domains找到。

正常情况下建议使用CNAME解析来指向github,因为域名都有套CDN,访问速度优于指向IP地址。

更多相关信息可参考Using a custom domain with GitHub Pages

添加CNAME解析

CNAME解析在DNS服务商处添加,因为打算把*.book.maqian.io都作为自定义域名,因此添加了以下CNAME解析:

imagea88cf94ba8d3a9b3.png

加好后,确认本机可以解析:

C:\Users\maqian>nslookup html.book.maqian.io
服务器:  public1.alidns.com
Address:  223.5.5.5

非权威应答:
名称:    maqianplus.github.io
Addresses:  185.199.111.153
          185.199.109.153
          185.199.108.153
          185.199.110.153
Aliases:  html.book.maqian.io

然后访问网站,部署的页面就出来了:

imagedab906d8bae5d8ef.png

2.3 强制https

github pages支持添加https,会自动申请Let's encrypt的证书,勾选上Enforce HTTPS选项就可以了:

imagedbb515b8a50c0195.png

选框无法被勾选的时候,先清空Custom domain里面的内容,点击Save,然后再勾选上Enforce HTTPS,填入自定义域名。

看到以下信息的时候,说明https证书已经在申请过程中了,耐心等待一段时间:

image8bdc5e1d6af76a8b.png

申请完成之后,勾选上选框:

image1b3d2accc9aa6543.png

再次访问就是https的了:

image409221fd63d000ce.png

next主题从5升级到6后,不管怎么设置语言都是一直为英语。

后面查看主题的语言包才发现6.0的中文语言包名字已经改了,之前是zh-Hans ,现在已经做了对应的调整。

[ma@ma maqianos.coding.me]$ ls -l themes/next-v6/languages/zh-*
-rw-r--r-- 1 ma root 1849 Feb 28 15:54 themes/next-v6/languages/zh-CN.yml
-rw-r--r-- 1 ma root 1842 Feb 28 15:54 themes/next-v6/languages/zh-HK.yml
-rw-r--r-- 1 ma root 1839 Feb 28 15:54 themes/next-v6/languages/zh-TW.yml

在站点配置文件_config.yml 中修改language: zh-Hanslanguage: zh-CN 即可。

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

$ hexo new "My New Post"

More info: Writing

Run server

$ hexo server

More info: Server

Generate static files

$ hexo generate

More info: Generating

Deploy to remote sites

$ hexo deploy

More info: Deployment

一、问题描述

给网站加了CDN 后,网页的部分字体加载不出,同时一些图标也会显示异常:

控制台报以下错误:

Access to Font at "http://test.dyxmq.cn/wp-content/themes/chuxia3.0/fonts/iconfont.ttf" from origin "http://www.dyxmq.cn" has been blocked by CORS policy: No "Access-Control-Allow-Origin" header is present on the requested resource. Origin "http://www.dyxmq.cn" is therefore not allowed access. The response had HTTP status code 404

- 阅读剩余部分 -

一、概述

xmlrpc.php  是wordpress默认就有的一个离线发布模块,我们可以使用诸如windows live writer  之类的软件进行离线发布,在发布的过程中会验证wordpress帐号的密码,不管帐号密码正确失败,都会给予相应的回复。对于攻击者来说,这就是一个漏洞,因为他们知道每一次尝试登陆的结果,于是就可以无限制利用这个文件进行暴力密码破解,直到得到一次正确的返回——即尝试到了一个正确的账户密码。

- 阅读剩余部分 -

一、说明

今天进博客的时候发现所有页面都被植入了广告,气愤之余也是非常的震惊,没想到我一个日访问流量不超过10的小网站还能引起黑客的注意,而且服务器还一直收到暴力破解的请求,几秒钟就有一次,实在是难以理解。

博客建起到现在差不多三个多月,刚搭起的时候也是想过安全问题,当时只是觉得别人怎么看得上 我这一个小网站,一没流量二没钱,所以一直没有深入研究安全问题。也是直到今天才发现这个观点有问题,所以花了小半天研究了一下。

- 阅读剩余部分 -

社交生活越来越少,越来与不喜欢把生活和个人情绪都往公共空间放了,QQ、微信、微博这一些的都已经基本是要废了。更多的生活状态都只是装在心里,不再愿意展现出来,也逐渐开始习惯用博客记录下生活的点滴,平常的生活、学习或是其他。

wordpress  确实是个好东西,很多时候有些话想说了写在这里在合适不过了,只是不太和谐的是就算是写几句话也得弄篇文章出来,这就有点费劲了,所以还是更希望有个类似说说  的功能,几条简单的语句表达出来就行。

- 阅读剩余部分 -

一、概述

前些天折腾七牛云把wordpress  媒体库迁移到了七牛云,然后意外发现了新大陆,可以把所有的静态资源全部放到七牛的CDN上去 给博客加速,然后打开博客的时候就会从七牛哪里读取静态的资源文件,例如图片。

百度上面的方法大多都是用WPJAM BASIC 插件,试了一下,感觉不是很好,用了两天就换了。

这里是使用SUPER CACHE 插件来实现CDN加速

- 阅读剩余部分 -