前言

完成前期的准备工作后,在部署阶段需要配置服务器或对象存储服务。

对象存储和服务器对比

对象存储平台

国内有阿里云OSS、腾讯COS、又拍云、七牛云等。国外有Github Pages、Netlify、Azure、Google等,其中Github Pages免费,但是有个说法:Github屏蔽百度爬虫,使用Github Pages的网站百度搜不到。

对象存储平台也可以做为Markdown图床,配合CDN,加快图片加载速度。

笔者的服务器是阿里家的,所以对象存储也用了阿里云OSS。

阿里云OSS部署参考

对象存储的配置非常简单,哈喽沃德先生的这篇文章已经很详细了,按照这篇文章可以完成上传操作。文章最后的“阅读全文”可以绕过,方法是在Chrome控制台的Network中找到readmore.js,右键Block request URL

需要注意的是,上传的Bucket要设置为公共读权限,同时限制Refer,做好防盗链。

服务器

平时有使用VPS需求,可选择使用VPS。

对比

  1. 对象存储:

    优点:便宜,不需要搭建环境。

    缺点:流量费用,要考虑图床的防盗链。
  2. 服务器:

    优点各种踩坑,可以提升技能。
  3. 费用:

    对象存储平台不考虑流量费:7.2元/年。

    阿里云服务器,学生党及年龄小于等于24岁:10元/月;不满足以上条件的个人:121元/月。
  4. 结论

    对象存储上手简单,成本低。

服务器环境

不使用服务器部署的读者,可跳过这部分。

操作系统Ubuntu

更新安装源

apt update

修改hostname

hostnamectl --static set-hostname localhost
重启

安装软件

apt install git
apt install nginx
apt install rz
apt install unzip

SSH安全配置

  • 安全组限制IP通过SSH远程登陆。如果使用Github Action安全组无法限制,Github Action的服务器部署在Azure上,官方文档中包含几万行IP段,不适合做限制。
  • 修改22端口。由于第一个原因,只能修改端口。否则Massscan3分钟全网段扫描,触发SSH口令暴力破解,几乎每天都有告警。注意!修改之后,确定其他端口可以登陆再关闭22端口。
  • 配置SSH key避免执行*git*命令时用户密码验证。

Nginx配置

root权限启动。避免前端访问403的问题。/etc/nginx/nginx.conf中启动配置的用户与实际启动nginx的用户需要保持一致,可修改为低权限用户启动。

如果Nginx版本存在漏洞,以root权限启动,存在被拿到root权限的风险。

配置 /etc/nginx/nginx.conf

...
include /etc/nginx/conf.d/*.conf;
# 注释下面这行。如果sites-enabled/路径下存在默认配置文件,可能覆盖/etc/nginx/conf.d/default.conf配置
# include /etc/nginx/sites-enabled/*;
...

配置 /etc/nginx/conf.d/default.conf配置

server {
listen 80;
server_name www.xiaodejiyi.com xiaodejiyi.com; # 注意www和没有www都要配置
index index.html index.htm;
root /var/www/html/public; location / {
root /var/www/html/public;
index index.html;
}
error_page 404 /404.html;
}

上传

将blog的public目录压缩为zip格式,使用rz命令上传到服务器上,unzip命令解压到Nginx配置的网站根目录中。

正常情况下,域名解析到CDN,CDN设置源站IP。到这一部可以访问域名,查看部署结果。如果blog配置未完成,可以先上传一张图片做测试。

参考

使用Hugo框架搭建博客的过程 - 部署的更多相关文章

  1. 使用Hugo框架搭建博客的过程 - 页面模板

    前言 最初在制作友链界面时,没有学习Hugo框架,一头雾水.网上有关的教程甚少,只能去学一遍Hugo. 在学习Hugo的过程中,了解了列表模板,分类模板.开发了几个功能页面,如:留言板,友链,记忆分类 ...

  2. 使用Hugo框架搭建博客的过程 - 前期准备

    前言 这篇教程介绍了如何搭建这样效果的博客. 所需步骤 可以从这样的角度出发: 注册域名. 使用CDN加快网站访问速度. 网站内容需要部署在服务器或对象存储平台上. 重要的是放什么内容.博客需要选择框 ...

  3. 使用Hugo框架搭建博客的过程 - 功能拓展

    前言 本文介绍一些拓展功能,如文章页面功能增加二级菜单,相关文章推荐和赞赏.另外,使用脚本会大大简化写作后的上传流程. 文章页面功能 这部分功能的拓展主要是用前端的JS和CSS,如果对前端不了解,可以 ...

  4. 使用Hugo框架搭建博客的过程 - 主题配置

    前言 博客部署完成后,恭喜你可以发表第一篇:Hello world!但是LoveIt这么好用的主题,不配置一番可惜了. 基本功能配置 主题配置最好参考已有的配置,比如LoveIt作者写的介绍,还有主题 ...

  5. 使用Hexo框架搭建博客,并部署到github上

    开发背景:年后回来公司业务不忙,闲暇时间了解一下node的使用场景,一篇文章吸引了我15个Nodejs应用场景,然后就被这个hexo框架吸引了,说时迟,那时快,赶紧动手搭建起来,网上找了好多资料一天时 ...

  6. 用 Hugo 快速搭建博客

    用 Hugo 搭建博客 Hugo 是一个用 Go 编写的静态站点生成器,生成速度很快 下面是具体操作: 1.安装 Hugo Windows 用户 使用 Chocolatey 或者 Scoop 快速安装 ...

  7. 在Windows下使用Hexo+GithubPage搭建博客的过程

    1.安装Node.js 下载地址:传送门 去 node.js 官网下载相应版本,进行安装即可. 可以通过node -v的命令来测试NodeJS是否安装成功 2.安装Git 下载地址:传送门 去 Git ...

  8. Hugo hexo 搭建博客系列1:自己的服务器

    hexo jekyll https://hexo.io/zh-cn/ http://theme-next.iissnan.com/getting-started.html Hexo 是高效的静态站点生 ...

  9. hugo + nginx 搭建博客记录

    作为一个萌新Gopher,经常逛网站能看到那种极简的博客,引入眼帘的不是花里胡哨的图片和样式,而是黑白搭配,简简单单的文章标题,这种风格很吸引我.正好看到煎鱼佬也在用这种风格的博客,于是卸载了我的wo ...

随机推荐

  1. unity中使用Highlighting System v4.0插件给物体添加高亮

    插件:Highlighting System v4.0 操作:在摄像机上挂上HighlightingRenderer脚本 脚本目录在\Assets\Plugins\HighlightingSystem ...

  2. .NET平台系列16 .NET5/Asp.Net Core 在全球Web框架权威性能测试 Web Framework Benchmarks 中的吊炸天表现

    系列目录     [已更新最新开发文章,点击查看详细] TechEmpower Web Framework Benchmarks 是许多Web应用程序框架执行基本任务(如JSON序列化.数据库访问和服 ...

  3. openresty 学习笔记三:连接redis和进行相关操作

    openresty 学习笔记三:连接redis和进行相关操作 openresty 因其非阻塞的调用,令服务器拥有高性能高并发,当涉及到数据库操作时,更应该选择有高速读写速度的redis进行数据处理.避 ...

  4. 批量执行异步任务CompletionService

    批量执行异步任务CompletionService 核心思想,就是将异步结果放入到阻塞队列中,然后再消费队列,实现异步任务批量执行 接口方法说明 Future<V> submit(Call ...

  5. 图像超分辨率算法:CVPR2020

    图像超分辨率算法:CVPR2020 Unpaired Image Super-Resolution using Pseudo-Supervision 论文地址: http://openaccess.t ...

  6. GVS灵动系列家族上新 | 稳住,我们能“银”

    用天赐的色库 给生活增加些艺术的气息 生活本应多点探索的乐趣 今天 GVS灵动系列家族流光银(白玻璃) 全新上线 用灵感朝圣自然之道 邂逅另一种柔性美学 与早前的经典黑.星耀灰 和而不同,美美与共 携 ...

  7. 尚硅谷Java——宋红康笔记【day19-day24】

    day19 测试Thread中的常用方法: start():启动当前线程:调用当前线程的run() run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中 curr ...

  8. HDFS 07 - HDFS 性能调优之 合并小文件

    目录 1 - 为什么要合并小文件 2 - 合并本地的小文件,上传到 HDFS 3 - 合并 HDFS 的小文件,下载到本地 4 - 通过 Java API 实现文件合并和上传 版权声明 1 - 为什么 ...

  9. Linux命令基础(二)

    一.列表显示目录内容-ls 1.显示目录中内容,包括子目录和文件相关属性信息 ls(列表的形式去显示目录内容)                    [选项](可有可无的)              ...

  10. csp-s模拟测试44「D·E·F」

    用心出题,用脚造数据 乱搞场 1 #include<bits/stdc++.h> 2 #define re register 3 #define int long long 4 #defi ...