# 一、本地配置.
npm install hexo-cli -g # 安装 hexo, 官网的指令 | |
hexo init blog # 初始化 hexo | |
cd blog | |
npm install # 安装依赖 |
hexo 命令
hexo s # 启动本地调试服务
hexo g #编译静态资源
hexo n "name" # 生成文件名为 name 的 md 文件
hexo d #将静态资源 push 到仓库
# 二、服务器配置
安装依赖环境
sudo apt update
sudo apt install npm nodejs nginx # 安装 npm, node, nginx
如下图测试是否安装成功:
配置博客仓库
mkdir blog.git # 创建 blog.git | |
cd blog.git | |
git init --bare # 初始化 | |
git clone yourusername@server_ip:/home/blog.git # 测试本地能否克隆仓库 |
- 修改 hooks 文件
cd blog.git/hooks | |
vim post-receive # 创建 hook 钩子函数 | |
chmod +x post-receive # 添加权限 | |
chmod 777 /home/blog # 添加权限 |
post_receive 输入以下内容,路径根据自己实际路径修改,需要自己创建:
#!/bin/sh | |
git --work-tree=/home/blog --git-dir=/home/blog.git checkout -f |
- 配置 nginx
查看 nginx 配置
nginx -t # 检测配置文件的语法是否正确,且能看到配置文件路径
conf 配置如下,
- 在
/etc/nginx/nginx.conf
文件中添加include /etc/nginx/sites-enabled/*
; nginx
下创建目录cert
, 存放 ssl 证书Sites-enabled
下创建目录wen2go.site
, 我的配置设置如下
# 虚拟主机
server {
listen 80;
server_name wen2go.site; # 浏览器访问域名
return 301 https://$server_name$request_uri;
}
server {
listen 80;
server_name blog.wen2go.site; # 浏览器访问域名
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name wen2go.site; # 浏览器访问域名
charset utf-8;
#access_log logs/localhost.access.log access;
ssl on;
ssl_certificate /etc/nginx/cert/wen2go.site_bundle.pem;
ssl_certificate_key /etc/nginx/cert/wen2go.site.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
# 路由
location / {
root /home/blog; # 访问根目录
index index.html index.htm; # 入口文件
}
}
server {
listen 443 ssl;
server_name blog.wen2go.site;
charset utf-8;
#access_log logs/localhost.access.log access;
ssl on;
ssl_certificate /etc/nginx/cert/blog.wen2go.site_bundle.pem;
ssl_certificate_key /etc/nginx/cert/blog.wen2go.site.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
# 路由
location / {
root /home/blog; # 访问根目录
index index.html index.htm; # 入口文件
}
}
- 在
重启 nginx 服务
sudo systemctl restart nginx
本地 hexo 配置
设置仓库地址:
上传更新的代码
hexo d -g # 编译并上传