目录
云服务器配置
本地设置
域名相关
云服务器
1.采用阿里云单核CPU云服务器ECS
2.云服务器安全组规则
1 | 网卡类型:内网 |
3.在云服务器上配置Nginx和Git
- 安装
1
2apt install nginx
apt install git
4.配置blog文件路径
- 建立文件夹
1
mkdir /var/blog/
- 修改权限
1
2chown -R $USER:$USER /var/repo/
chmod -R 755 /var/repo/ - Git初始化
1
2cd /var/blog
git init --bare {自定义仓库名name}.git
5.配置Nginx托管文件路径
- 建立文件夹
1
2
3mkdir -p /var/www/hexo
chown -R $USER:$USER /var/www/hexo
chmod -R 755 /var/www/hexo - 修改Nginx配置文件的server使root指向文件路径server_name后写入自己的域名或公网ip(写一个就行)
1
root /var/www/hexo
1
server_name 39.105.120.230 kenway-20.com www.kenway-20.com;
6.Git钩子(hook)
- 新建一个钩子文件
1
vim /var/blog/kenwayBlog.git/hooks/post-receive
- 在该钩子文件中添加以下代码
1
2
3#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/blog/kenwayBlog.git checkout -f - 将钩子文件保存后再赋予其权限
1
chmod +x /var/blog/kenwayBlog.git/hooks/post-receive
本地设置
1.在任意本地目录把云服务器的git文件夹clone下来(目的是与云服务器的公网ip建立信任)
1 | git clone root@39.105.120.230:/var/blog/kenwayBlog.git |
2.更改本地Hexo的_config.yml文件
1 | url: https://39.105.120.230/ |
3.到此为止,已经完成了博客远程部署到云服务器上,可以使用以下命令更新博客
1 | hexo clean |
4.免密部署
- 若第一次则先执行以下代码生成ssh,否则直接执行第二步
1
ssh-keygen -t rsa
- 在本地查看本地ssh
1
cat ~/.ssh/id_rsa.pub
- 在云端打开ssh文件将刚才的本地ssh信息粘贴进去并保存
1
vim ~/.ssh/authorized_keys
1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDjRCORY/PX2Ht3PYAA8yOijOw1x0tpZ+M7THxolqTL+mRKtfrFITrqYyHzRVdlmALdgCbQ9R2UgnBVfU5WX4SyJgEWLwQNRahdtoccJSJZFXPozDmBtyh6mMZxRrphTjCDOWSP08Sq8udrG01Eex9vq4mvbRRisVdnjOurpLB+Ss07MoiqVQL6BVu7BJNVkzLPcmfG9y1KVSTQ6laFe0vELY6F7gFVFgyZ6C1w9C0Yy7OXNc3cOSmwjrn/L4qn5itAPrM9UyxsPpenl4eiXPktl2VYhpoRS4JsmyRVREXvCkHNmWFoY3zzRmtl5LOQR+1DRb3gCTZPjXp7/H1QWf4d universeeddy@outlook.com
更换电脑后移植博客步骤
1.安装git和node.js,windows在分别在其官网上下载exe或msi版本即可
2.呼出git控制台安装Hexo
1 | npm install -g hexo-cli |
3.新建一个Hexo文件夹,然后在该路径初始化Hexo
1 | Hexo init |
4.把原先的Hexo文件夹里的所有文件复制过来替换所有文件(注意不需要额外安装主题,直接复制过来即可,主题相当于静态文件)
5.免密部署到云服务器
- 先在本地查看本地ssh
1
cat ~/.ssh/id_rsa.pub
- 在云端打开ssh文件将刚才的本地ssh信息粘贴追加到后面并保存
1
vim ~/.ssh/authorized_keys
1
2类似以下形式:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDjRCORY/PX2Ht3PYAA8yOijOw1x0tpZ+M7THxolqTL+mRKtfrFITrqYyHzRVdlmALdgCbQ9R2UgnBVfU5WX4SyJgEWLwQNRahdtoccJSJZFXPozDmBtyh6mMZxRrphTjCDOWSP08Sq8udrG01Eex9vq4mvbRRisVdnjOurpLB+Ss07MoiqVQL6BVu7BJNVkzLPcmfG9y1KVSTQ6laFe0vELY6F7gFVFgyZ6C1w9C0Yy7OXNc3cOSmwjrn/L4qn5itAPrM9UyxsPpenl4eiXPktl2VYhpoRS4JsmyRVREXvCkHNmWFoY3zzRmtl5LOQR+1DRb3gCTZPjXp7/H1QWf4d universeeddy@outlook.com
6.自动化部署bat
- 先在系统环境变量中的path添加git的安装路径
1
xx/Git/bin
- 再在Git\usr\bin路径下写一个名为git-blog文件(用记事本编写后删除后缀名),其内容如下
1
2
3
4
5
6
7
8
9#!/bin/sh
echo 开始进行blog远程部署
hexo clean
echo 第一步hexo clean成功
hexo g
echo 第二步hexo g成功
hexo d
echo 第三步hexo d成功
echo blog已成功在远程服务器上更新 - 再在Hexo文件夹内写一个更新博客.bat文件(用记事本编写接着后缀改成.bat),其内容如下
1
2
3git blog
pause - 以上原理如下
- 双击批处理文件bat后会执行git blog命令
- git blog命令在环境变量的指引下会在.bat文件所处的目录处用git控制台去执行git\usr\bin内的git-blog中的语句并将反馈输出到.bat启动的控制台屏幕上
- #!/bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面跟的是解释此脚本的shell的路径
域名相关
1.先在域名查询网站找到所需的域名,然后填写相关信息后购买,注意购买后仍未能使用,需要提交实名认证信息(1-3天)
2.在域名的解析设置中添加记录
1 | 记录类型选择:A:指向一个IPv4地址 |
和
1 | 记录类型选择:A:指向一个IPv4地址 |
分别使www.kenway-20.com和kenway-20.com能访问到你的公网ip
3.在网上进行网站备案(一般要在域名实名认证完成1-2天后才能进行),江苏需要到派出所办理居住证明