目录

网站上云

前置工作

  • 七牛云图片服务器
  • 阿里云ECS实例
  • 阿里云已备案域名

图片服务器

七牛云官网

  1. 创建bucket

  2. 配置CNAME 参考

  3. 使用picgo搭建图床环境

  4. 获取AccessKey和SecretKey

    点击七牛云头像 -> 密钥管理,这里一个用户只能使用两个密钥,随便选择一个即可

  5. 打开pigo图床工具进行设置

    http://img.cana.space/picStore/20201015125023.png

    确认存储区域可以访问官方给的文档,看下设置的地区是哪里 链接

  6. 设置防盗链,这样别人就盗不了你的图了

    在空间设置里,添加自己的域名白名单只允许自己的域名使用图片

  7. 测试

云服务器上传下载

搭建远程仓库

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 在云服务器上选择一个目录作为web服务器根目录,比如我的根目录
cd /usr/local/nginx/web
git init
# 切换到web父目录,创建一个web.git目录 用作bare仓库
cd ..
mkdir web.git
cd web.git
# 从原始代码仓库创建bare仓库,作为“中央”仓库,其他机器(包括本机的原始仓库)往这里push,从这里pull
git clone --bare ../web ../web.git
# 回到web仓库,将web.git添加为remote
git remote add origin ../web.git
git branch --set-upstream-to=rogin/master master

本地仓库绑定远程仓库

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 进入到本地静态网站根目录
cd /Users/david/my/cana.space/public
# 删除原先关联的github仓库配置
rm -rf .git
# 关联remote
git remote add origin root@47.97.9.157:/usr/local/nginx/web.git
# 本地执行提交操作
git add .
git commit -m 'init'
git push -u origin master

使用nginx搭建服务器

修改nginx.conf配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
user  root;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    charset utf-8;        # 设置编码格式

    server {
        listen 80;             # 端口号
        server_name cana.space;           # 配置域名信息
        root web;
        index index.html;
        
        location /favicon.ico {
            root web;
        }
    }
}

完成以上步骤就愉快地进行访问了,下面附一个脚本用于一键部署

shell脚本一键部署

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env bash

BLOG_ROOT_DIR=/Users/david/my/cana.space
PUBLIC_DIR=$BLOG_ROOT_DIR/public

read -p "input commit message:" msg

echo "blog 根目录: ${BLOG_ROOT_DIR}"
echo "public 目录: ${PUBLIC_DIR}"

echo "=====开始部署========="

# 备份
# todo

# 构建
echo "======开始构建========"
cd $BLOG_ROOT_DIR
hugo

echo "=======git add commit======"
# 上传
cd $PUBLIC_DIR
git add .

# 如果msg为空则使用时间代替
if [ -z "$msg" ];then
	echo "you have not input the msg, now it will take the defualt msg whit tiemstamp."
	msg=$(date +%Y_%m_%d_%H_%M%S)
fi

git commit -m msg
echo "=======git push======"
git push 

echo "========上传代码到远程成功========="

ssh root@47.97.9.157 "cd /usr/local/nginx/web && git pull"

echo "========部署成功========="

现在运行 . blog_deploy.sh 即可完成部署工作。

友情提示
重新部署后记得强制刷新页面,否则会因为缓存导致看到的还是老页面