前言

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

对象存储和服务器对比

对象存储平台

国内有阿里云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. Archlinux常用软件推荐 更新于2021年4月

    记录一下常用软件 必装软件 包管理工具 yay 代替pacman的包管理 yaourt 备用 终端工具 zsh oh-my-zsh-git 搭配zsh利器` proxychains4 终端代理工具` ...

  2. 学习Python中出现的错误集合(不定时更新)jupyter平台

    出现的问题:1. 本图的错误,一个是line 7 init的两侧应该是是双下划线"__"导致所示错误 2. 本图的错误是 line 12 Student.student_tatal ...

  3. Mobileye 自动驾驶策略(二)

    Mobileye 自动驾驶策略(二) 与多方都成功进行了合作,其中比较大型的合作包括法雷奥.百度和中国 ITS. 法雷奥是最近的的 Tier 1 合作伙伴,法雷奥和 Mobileye 签署协议,表示未 ...

  4. OpenCV读写图像文件解析

    OpenCV读写图像文件解析 imdecode 从内存中的缓冲区读取图像. C++:Mat imdecode(InputArray buf, int flags) C++:Mat imdecode(I ...

  5. 基于ARM Cortex-M的SoC存储体系结构和实战

    基于ARM Cortex-M的SoC存储体系结构和实战 System on Chip Architecture Tutorial Memory Architecture for ARM Cortex- ...

  6. Linkerd 2.10(Step by Step)—1. 将您的服务添加到 Linkerd

    为了让您的服务利用 Linkerd,它们还需要通过将 Linkerd 的数据平面代理(data plane proxy)注入到它们服务的 pod 中,从而进行网格化. Linkerd 2.10 中文手 ...

  7. UF_UI 界面相关

    Open C   uc1600uc1601uc1603  uc1605uc1607uc1608uc1609uc1613  获取用户输入的字符串uc1615uc1616uc1617uc1618uc163 ...

  8. Java IO学习笔记八:Netty入门

    作者:Grey 原文地址:Java IO学习笔记八:Netty入门 多路复用多线程方式还是有点麻烦,Netty帮我们做了封装,大大简化了编码的复杂度,接下来熟悉一下netty的基本使用. Netty+ ...

  9. 深度解读MRS IoTDB时序数据库的整体架构设计与实现

    [本期推荐]华为云社区6月刊来了,新鲜出炉的Top10技术干货.重磅技术专题分享:还有毕业季闯关大挑战,华为云专家带你做好职业规划. 摘要:本文将会系统地为大家介绍MRS IoTDB的来龙去脉和功能特 ...

  10. 百炼 POJ2393:Yogurt factory【把存储费用用递推的方式表达】

    2393:Yogurt factory 总时间限制:  1000ms 内存限制:  65536kB 描述 The cows have purchased a yogurt factory that m ...