【工具】云服务器配置及域名绑定

目录

云服务器配置

本地设置

域名相关

云服务器

1.采用阿里云单核CPU云服务器ECS

2.云服务器安全组规则

1
2
3
4
5
6
7
8
网卡类型:内网
规则方向:入方向
授权策略:允许
协议类型:HTTP(80)
端口范围:80/80
优先级:100
授权类型:IPv4地址段访问
授权对象:0.0.0.0/0

3.在云服务器上配置Nginx和Git

  • 安装
    1
    2
    apt install nginx
    apt install git

4.配置blog文件路径

  • 建立文件夹
    1
    mkdir /var/blog/
  • 修改权限
    1
    2
    chown -R $USER:$USER /var/repo/
    chmod -R 755 /var/repo/
  • Git初始化
    1
    2
    cd /var/blog
    git init --bare {自定义仓库名name}.git

5.配置Nginx托管文件路径

  • 建立文件夹
    1
    2
    3
    mkdir -p /var/www/hexo
    chown -R $USER:$USER /var/www/hexo
    chmod -R 755 /var/www/hexo
  • 修改Nginx配置文件的server使root指向文件路径
    1
    root /var/www/hexo
    server_name后写入自己的域名或公网ip(写一个就行)
    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
2
3
4
git clone root@39.105.120.230:/var/blog/kenwayBlog.git

# 39.105.120.230是云服务器公网ip
# 出现提示clone的是空文件夹属正常现象

2.更改本地Hexo的_config.yml文件

1
2
3
4
5
6
7
url: https://39.105.120.230/

......

deploy:
type: git
repo: root@39.105.120.230:/var/blog/kenwayBlog.git

3.到此为止,已经完成了博客远程部署到云服务器上,可以使用以下命令更新博客

1
2
3
4
5
hexo clean
hexo g
hexo d

# 注意执行hexo d后需要输入云服务器root用户的密码

4.免密部署

  • 若第一次则先执行以下代码生成ssh,否则直接执行第二步
    1
    ssh-keygen -t rsa
  • 在本地查看本地ssh
    1
    cat ~/.ssh/id_rsa.pub
  • 在云端打开ssh文件
    1
    vim ~/.ssh/authorized_keys
    将刚才的本地ssh信息粘贴进去并保存
    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文件
    1
    vim ~/.ssh/authorized_keys
    将刚才的本地ssh信息粘贴追加到后面并保存
    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
    3
    git 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
2
3
4
5
6
记录类型选择:A:指向一个IPv4地址
主机记录填写:wwww
解析线路:默认
记录值填写:云服务器的公网IP地址
TTL填写:10分钟

1
2
3
4
5
记录类型选择:A:指向一个IPv4地址
主机记录填写:@
解析线路:默认
记录值填写:云服务器的公网IP地址
TTL填写:10分钟

分别使www.kenway-20.com和kenway-20.com能访问到你的公网ip

3.在网上进行网站备案(一般要在域名实名认证完成1-2天后才能进行),江苏需要到派出所办理居住证明