静态博客–Hexo
静态博客:是指没有后端数据库的博客,所有文章都是以文件的形式存储,是一种纯前端的博客框架。
本地安装
-
电脑先装好git这个工具吧!
-
安装Node.js:
npm install -g hexo-cli
- 查看版本:
hexo -v
Node.js安装成功后,同时会自动安装一个包管理器,称为npm(Node Package Manager)。
什么是npm?
npm是一个包管理器,发布者将自己的代码发布(npm publish)到代码仓库(registry),使用者将自己需要的包写入package.json文件中,到代码仓库中把代码下载(npm install)下来。
由于npm代码仓库的服务器在国外,由于Great Firewall的缘故,下载速度可能不尽如人意,这时你可以使用淘宝的npm代码仓库,通过npm安装cnpm,
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装成功后,可以通过以下命令查看cnpm版本
```bash
cnpm -v
通过cnpm来操作下载速度会得到很大提升,但包的版本不一定是最新的。
本地使用
-
创建目录
Hexo的所有文章都是以文件的形式存储在目录下的,所以首先需要新建一个目录,我的是blog,在此目录下操作。 -
初始化博客
hexo init
- 新建文章
hexo new “BlogName” (BlogName是你的文章名称)会在source/_posts目录下生成BlogName.md文件,可以用typora、vscode等编辑器进行修改。
- 生成博客静态文件
hexo g(g代表generate),生成博客静态文件
每次修改文章后,都需要通过hexo clean清理一下,
然后通过hexo g重新生成,
最后也不要忘了通过hexo s重新启动Hexo。
要部署到github或者服务器记得hexo d。
- 启动博客
hexo s(s代表sever)
-
更换主题
将需要更换的主题下载并解压缩到theme/yourThemeName目录下,yourThemeName是你给主题取的名字,如我用的主题是hexo-theme-matery,只需要解压缩到blog/themes/目录下即可,
当然你也可以直接在blog目录下执行git clone https://github.com/blinkfox/hexo-theme-matery
解压完成后,修改_config.yaml文件中的theme属性,默认是landscape,修改为hexo-theme-matery -
其他_config.yaml配置
_config.yaml文件是Hexo项目的全局配置文件,根据注释即可修改模板。
本来呢,就是想搭个博客,自己玩玩,没想到丙丙和阿里云合作送粉丝长达半年的服务器(莫名开心,啊哈哈哈),白嫖到服务器后,当初也不知道怎么玩,老小白了。经过一波了解,直接买了个域名,经过10天的备案后,终于可以访问我的网站了,开心!
域名备案
域名解析
备完案后,就开始解析你的域名吧!
远程提交代码
为了使本地可以跟远程的github建立联系,需要在本地配置SSH密钥,这样我们就可以在本地直接提交代码到 GitHub或者远端git仓库。
- 使用rsa加密
ssh-keygen -t rsa
- 在目录C:\Users\86131.ssh找到id_rsa.pub这个文件,先复制里面的公钥。
用Git与本地建立连接
- 用远程连接工具连接阿里云服务器,这里我用Xshell6连接
看到Welcome to Alibaba…就成功啦。
#阿里云安装git
yum install git
#装完可以查看git的版本
git --version
- 添加一个用户git,并修改他的权限
adduser git
chmod 740 /etc/sudoers
- 修改/etc/sudoers文件, 添上git ALL=(ALL) ALL
vim /etc/sudoers
如图:
- 修改所有者只读的权限
chmod 400 /etc/sudoers
- 给git用户设置密码
sudo passwd git
- 切换至 git 用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
这里是要把刚刚复制的公钥复制到authorized_keys中。
- 赋予权限
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh
- 打开主机的cmd终端,输入命令
ssh -v git@server
#server是你的阿里云服务器的ip地址
看到这里就说明主机可以连接服务器了。
配置Git钩子
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。
- 现在我们将阿里云用户切回root:
su
#回车后,输入密码,再回车
- 我们在/var建一个目录repo作为仓库的目录:
mkdir /var/repo
- 改变repo目录的拥有者和权限:
chown -R git:git /var/repo
chmod -R 755 /var/repo
- 在/var目录建一个跟目录hexo作为网站根目录:
mkdir /var/hexo
- 改变repo目录的拥有者和权限:
chown -R git:git /var/hexo
chmod -R 755 /var/hexo
- 切换到repo目录,创建git仓库
cd /var/repo
git init --bare hexo.git
- 在刚刚生成的仓库/var/repo/hexo.git下,有一个自动生成的 hooks 文目录。我们需要在里边新建一个新的钩子文件 post-receive。
vim /var/repo/hexo.git/hooks/post-receive
- 在里面输入内容:
#!/bin/bash
git --work-tree=/var/hexo --git-dir=/var/repo/hexo.git checkout -f
- 然后修改一下钩子文件的拥有者和权限就行了。
chown -R git:git /var/repo/hexo.git/hooks/post-receive
chmod +x /var/repo/hexo.git/hooks/post-receive
宝塔的使用
bt是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等多项服务器管理功能。
- 安装和使用
-
宝塔的官网:宝塔面板
-
首先在你的阿里云服务器控制台,在防火墙开放8888这个端口,不然你的主机访问不了的哦。
-
在阿里云服务器输入命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
- 安装完成后有网址、账号、密码:
复制外网在浏览器打开。
如果账号密码忘了怎么办呢?没关系,在命令行输入bt default又会出来啦。
进去后选择安装LNMP:
-
安装完点击网站添加站点:
-
然后点击设置:
-
设置网站的目录:
-
修改server_name(你的网站域名)和root网站内容部署路径:
-
重启宝塔,配置生效
service bt restart
最后进入找到主机hexo文件夹找到_config.yml文件,在最后修改推送地址:
然后就可以快乐的玩耍啦!!