前置工作
- 七牛云图片服务器
- 阿里云ECS实例
- 阿里云已备案域名
图片服务器
七牛云官网
-
创建bucket
-
配置CNAME 参考
-
使用picgo搭建图床环境
-
获取AccessKey和SecretKey
点击七牛云头像 -> 密钥管理,这里一个用户只能使用两个密钥,随便选择一个即可
-
打开pigo图床工具进行设置

确认存储区域可以访问官方给的文档,看下设置的地区是哪里 链接
-
设置防盗链,这样别人就盗不了你的图了
在空间设置里,添加自己的域名白名单只允许自己的域名使用图片
-
测试
云服务器上传下载
搭建远程仓库
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
即可完成部署工作。
友情提示
重新部署后记得强制刷新页面,否则会因为缓存导致看到的还是老页面