hexo + nginx 搭建个人博客
1.安装hexo
参考官方安装文档https://hexo.io/zh-cn/docs/
2.选择一套自己喜欢的主题
github搜索hexo themes
或者在hexo的主题官网上查看
3.开始写作
hexo new article-name
4.搭建git服务器
#创建git用户
useradd git
#给git用户设置密码,或者在git用户的.ssh目录的authorized_keys文件里面添加自己的公钥
passwd git
#切换到git用户
su git
#创建一个文件夹存放git的代码
cd ~;mkdir git/project/blog.git
#初始化git仓库
cd ~/git/project/blog.git
git init --bare
#回到本地仓库
git init
git add .
git commit -m 'initial commit'
#这里的gitserver就是你的git服务器的ip或者域名
git remote add origin git@gitserver:~/git/project/blog.git
git push -u origin master
5.部署网站
#在服务器选择一个放置网站的目录,假设这个目录为/var/www/blog
mkdir -p /var/www/blog
cd /var/www/blog
git clone ~/git/project/blog.git
#安装npm的依赖
npm install
#生成静态文件
hexo generate
6.自动部署
git 有个功能叫做hook,也就是说在我们提交代码的时候会触发一些操作,这就是hook Git的挂钩(Hook)主要包含:
applypatch-msg post-update pre-rebase commit-msg pre-applypatch update post-commit pre-commit post-receive prepare-commit-msg
我们要用到的是post-update这个hook 进入到我们的git服务器的文件夹~/git/project/blog.git 进入到hook文件夹 使用ls命令可以看到许多hook脚本的sample
hooks]$ ls
applypatch-msg.sample pre-applypatch.sample pre-rebase.sample
commit-msg.sample pre-commit.sample update.sample prepare-commit-msg.sample
post-update.sample pre-push.sample
新建一个post-update脚本 输入以下命令
#!/bin/sh
cd /var/www/blog
env -i git pull
hexo generate
保存退出,chmod +x post-receive.
7.配置nginx
编辑nginx的配置文件/etc/nginx/conf.d/default.conf
server {
server_name your_server_name;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /var/www/blog/public;
这里主要修改server_name为你的域名 修改root目录为hexo静态文件的目录,以上面目录举例/var/www/blog/public 要注意nginx需要有该目录的文件读取权限
8.配置nginx ssl
安装certbot工具帮我们签发证书
yum install certbot python2-certbot-nginx
#certbot自动配置nginx证书,按照提示配置即可
certbot --nginx
#cron job 自动更新证书
systemctl start crond
crontab -e
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
crontab -l
- 原文作者:iamdev
- 原文链接:https://blog.iamdev.cn/post/hexo-nginx/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止转载 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。