我的博客,欢迎来访: www.zxwsbg.cn
搭建
安装git、nodejs
sudo apt-get install git
sudo apt-get install nodejs
sudo apt-get install npm
安装Hexo
npm install -g hexo-cli
安装完了以后初始化,其中myblog随便起什么名字都可以,不加sudo可能会遇到问题。
sudo hexo init myblog
cd myblog
sudo npm install
新建完成后,指定文件夹目录下有:
node_modules
: 依赖包public
:存放生成的页面scaffolds
:生成文章的一些模板source
:用来存放你的文章themes
:主题_config.yml
: 博客的配置文件
sudo hexo g
sudo hexo server
打开hexo的服务,在浏览器输入localhost:4000就可以看到你生成的博客了。
github创建
生成秘钥
yourname是你github账户的名称,email是注册时候的邮箱。
git config --global user.name "yourname"
git config --global user.email "youremail"
ssh-keygen -t rsa -C "youremail"
然后在主目录下使用
ls -a
可以看到隐藏文件,打开.ssh
文件夹,有一个叫id_rsa.pub
的文件,这个是公钥,另一个是私钥,打开它,把里面的东西复制出来。
接着打开github,按照顺序点击添加公钥。然后将刚刚的公钥复制进去。
然后查看是否成功,需要输入一个yes,成功会有提示Hi zxwsbg! You’ve successfully authenticated, but GitHub does not provide shell access.。
ssh -T git@github.com
创建repo
在github上面创建一个项目,名为用户名+github.io
。
比如我的用户名是zxwsbg,那么我新建的项目名称就是zxwsbg.github.io
。
然后进入这个repo,点击最右侧的setting。
在这个界面一直往下拉,可以看到
将hexo部署到github
打开站点配置文件_config.yml
,翻到最后,进行修改。其中YourgithubName
就是你的GitHub账户。
deploy:
type: git
repo: https://github.com/YourgithubName/YourgithubName.github.io.git
branch: master
这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。
deploy时要你输入username和password。
sudo npm install hexo-deployer-git --save
sudo hexo clean
sudo hexo generate
sudo hexo deploy
其中 hexo clean
清除了你之前生成的东西,也可以不加。
hexo generate
顾名思义,生成静态文章,可以用 hexo g缩写
hexo deploy
部署文章,可以用hexo d缩写
然后等一会,就可以在https://zxwsbg.github.io/
看到你的博客了,其中zxwsbg是我的用户名。
设置个人域名
因为我以前曾在腾讯云上买过一个域名且还没有过期的域名。
首先登录腾讯云的域名管理,点击解析
点击如图所示,这边可能有人显示的是新手快速添加。
点击 网站解析
,这时候它要你输入ip。
于是我们在终端中查看自己网站的ip
ping zxwsbg.github.io
就可以看到域名是185.199.109.153,把这个输入进去即可。
线路类型选择默认
。
登录github,进入刚才的项目,点击setting,然后往下拉(或使用ctrl+F),找到Custom domain
,输入自己的域名。
在刚才的myblog文件夹下的source文件夹中创建一个名为CNAME
文件,不要后缀。写上你的域名。
cd myblog/source/
sudo gedit CNAME
在终端中输入
sudo hexo clean
sudo hexo g
sudo hexo d
然后就可以在 www.zxwsbg.cn 中看到我的博客了。
配置
更换next主题
http://theme-next.iissnan.com/getting-started.html 它的官方文档里用非常详细的教程。百度上也有很多,就不细说了。
扩展
部署到coding
初始部署
由于百度无法爬github,于是我们也要将其部署到coding。
同样的,在coding中创建项目,项目名称与用户名
相同。
然后修改_config.yml
文件,拖到最后,将deploy部分改成
deploy:
type: git
repo:
coding: git@git.dev.tencent.com:zxwsbg/zxwsbg.git,master
github: git@github.com:zxwsbg/zxwsbg.github.io.git,master
注意,冒号后面要加空格!!! 最好直接复制上述代码然后再修改。由于YAML要求很严格,空格位置需要跟我一样。 这里如果使用https,那么需要每次都输入密码。如果使用ssh,那么你可能遇到令人窒息的错误,解决问题的方法可以看我的另一篇博客 解决Permission Denied的方法。 这里就简要提一句,sudo加了以后找公钥是从/root/.ssh
里面找,但是会找不到。
执行一键部署命令。
hexo clean
hexo g
hexo d
coding pages服务
在source/需要创建一个空白文件,coding.net需要这个文件来作为以静态文件部署的标志。
cd source/
touch Staticfile #名字必须是Staticfile
进入coding,打开如下界面
一路按照提示操作即可,最后会显示访问地址。
修改域名解析
和github一样,终端键入刚刚的访问地址,查询ip。在腾讯云的域名管理处添加网站解析
即可。如果这一步不清楚请参考之前github添加域名解析的部分。
ping zxwsbg.coding.me
参考博客
[1] https://blog.csdn.net/sinat_37781304/article/details/82729029
[2] https://blog.csdn.net/qintian888/article/details/82195097
[3] https://blog.csdn.net/heimu24/article/details/81159099
[4] https://hexo.io/zh-cn/docs/