createBlog | 李博的博客
0%

createBlog

我的博客
henu

建站步骤

Macos系统的npm使用全局安装npm install -g会出现权限问题,不要直接使用sudo,会造成不好的后果,使用下面代码将npm目录的拥有者修改为当前用户的名字(你账户的用户名)。

1
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
  1. 本地环境搭建,确保安装好了Node.js和Git

    1
    2
    3
    4
    5
    6
    $ node -v
    v12.10.0
    $ npm -v
    6.11.3
    $ git --version
    git version 2.23.0
  2. 安装Hexo
    npm install -g hexo-cli

  3. 博客初始化
    首先cd到你要存你的博客的路径,我是cd到~/blog
    然后 hexo init ,接着 npm install
    执行下述命令生成本地网页文件并开启服务器,通过http://localhost:4000查看本地博客

    1
    2
    hexo g
    hexo s
  4. npm install hexo-deployer-git --save

  5. 本地博客代码上传至github
    这步之前确保你在github已经建好了名字为你的github名.github.io的仓库
    首先将blog文件夹下的_config.yml打开,修改最后部分如下

    1
    2
    3
    4
    deploy:
    type: git
    repository: https://github.com/你的github名字/你的github名字.github.io.git
    branch: master

    然后运行:

    1
    2
    sudo hexo g
    sudo hexo d

    若未关联github需要先关联你的GitHub

    1
    2
    git config --global user.name ”yourusername”
    git config --global user.email ”youremail”
  6. 添加ssh keys到GitHub
    运行下面代码并两次回车
    ssh-keygen -t rsa -C "your_email@exampl"
    然后在Mac下运行open ~/.ssh打开文件夹,打开id_rsa.pub文件,里面的信息就是ssh key,将此信息复制,打开GitHub,路径github->setting->ssh keys->add ssh key,点击add后将复制的内容粘贴进去即可。最后通过sudo hexo gsudo hexo d更新一下。

  7. 更换hexo主题等

    我是用的 NexT 主题,官方文档:NexT!

小技巧

  • hexo g && hexo d可以简化为hexo d -g
  • 新建文章是hexo new "标题"
  • 如果你本地hexo s后显示的和网页上的不一致可以做下面的尝试:
    1. 清除一下浏览器的缓存。
    2. hexo clean一下,然后重新hexo d -g

今天把博客部署到我的阿里云服务器了 2019-7-16 (现在又回到了github的怀抱)

服务器系统: centos7

1
2
3
4
5
6
7
8
# 在服务器端安装git
yum install git
# 在服务器端创建工作文件夹、裸仓库
mkdir /home/git
mkdir /home/git/hexoblog
git init --bare /home/git/hexo.git
# 新建钩子文件
vim /home/git/hexo.git/hooks/post-receive

把下面的代码放进去

1
2
#!/bin/bash
git --work-tree=/home/git/hexoblog --git-dir=/home/git/hexo.git checkout -f

然后保存并退出

1
2
3
4
5
6
7
# 为文件添加执行权限
chmod +x /home/git/hexo.git/hooks/post-receive
# 安装nginx并启动
yum install -y nginx
systemctl start nginx
# 修改配置文件
vim /etc/nginx/nginx.conf

接着修改下面两个信息

1
2
3
4
server{
root /home/git/hexoblog; # 即存放静态文件的目录
server_name okkk.top; # 你的域名
}

最后重启 nginx 服务器

1
systemctl restart nginx

在自己本地的 Hexo 配置文件中修改如下:

1
2
3
4
deploy:
- type: git
repo: root@IP:/home/git/hexo.git
branch: master

如果服务器登录端口不是默认的22,则配置文件中repo应改为
repo: ssh://root@IP:2333/home/git/hexo.git,此处2333改为自己的端口即可。
当然还可以设置本机和服务器的ssh免密登录,就不用每次部署的时候都需要输入密码了。

为网站添加HTTPS安全证书

1
2
sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx

之后输入邮箱、需要部署的域名、部署方式,看到Congratulations就已经部署成功了。
再回到nginx的配置文件中把信息更新一下即可访问。
由于Let的加密证书有效期是90天,之后就会过期,需要重新再做一次上面的操作,Certbot提供了一个自动续期的功能,只需:

1
sudo certbot renew --dry-run

如果显示网站 403 ,那么就将 /etc/selinux/config 文件中的 SELINUX=enforcing 改为SELINUX=disabled

然后重启服务器,重启 nginx 即可。

分类:
https://blog.csdn.net/koudaidai/article/details/8063252

升级Next 7.4.1 2019-10-6

使用 github + jsdelivrcdn ,每个图片 url 前都加上 (已经弃用,改用又拍云CDN)

1
https://cdn.jsdelivr.net/gh/wolibo/ck@master

有一个bug。
在这次更新以后 mathjax 的 cdn 不能用了,用了后就会导致网站所有小图标404。

开启本地搜索功能
1
npm install hexo-generator-search --save

站点配置文件 添加以下内容:

1
2
3
4
5
6
# Search 
search:
path: ./public/search.xml
field: post
format: html
limit: 10000

主题配置文件 找到 local_search 并修改成下面的:

1
2
3
4
local_search:
enable: true
trigger: auto
top_n_per_article: 1

添加又拍云联盟 2019-10-12

logo添加是 https://leotian.cn/ 教我的。

修改目录:themes/next/layout/_partials/ 下的 footer.swig 文件,增加:

1
2
3
4
5
6
7
8
<p>Hosted by
<a href="https://www.upyun.com/?utm_source=lianmeng&utm_medium=referral" style="border:0">
<img
src="/images/upyun_logo.min.svg"
style="width: 60px; display: inline; vertical-align: middle;"
/>
</a>
</p>

插件集合

1
2
3
4
5
本地搜索 npm install hexo-generator-search --save
百度自动提交 npm i hexo-baidu-url-submit
部署 npm install hexo-deployer-git --save
站点地图 npm install hexo-generator-sitemap --save
baidu站点地图 npm install hexo-generator-baidu-sitemap --save
如果对您有帮助,请我喝杯奶茶?
  • 本文作者: 李博
  • 本文链接: https://pyai.top/createBlog/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!