前言

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

对象存储和服务器对比

对象存储平台

国内有阿里云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. MYSQL数据库快速添加测试数据方法

    先添加两条数据,这里最好添加两条不一样的数据 INSERT INTO "表名"(**, **) VALUES (**,**),(**,**) 然后再次添加数据,这次把查询到的数据添 ...

  2. ssh登录巨慢加速验证

    ssh登录巨慢怎么办,设计验证是好的,但是那些验证的确没啥用反而造成了一些不便修改/开启 /etc/ssh/ssh_config这三个参数再重启即可取消验证 StrictHostKeyChecking ...

  3. 第14讲 | HTTP协议:看个新闻原来这么麻烦

    第14讲 | HTTP协议:看个新闻原来这么麻烦 http://www.163.com 是个 URL,叫作统一资源定位符. 之所以叫统一,是因为它是有格式的.HTTP 称为协议,www.163.com ...

  4. 阿里云服务器安装Docker并部署nginx、jdk、redis、mysql

    阿里云服务器安装Docker并部署nginx.jdk.redis.mysql 一.安装Docker 1.安装Docker的依赖库 yum install -y yum-utils device-map ...

  5. IDEA2021.1 安装教程

    工欲善其事必先利其器. 一.下载 IDEA 官方下载地址: https://www.jetbrains.com/zh-cn/idea/download/ 二.安装 IDEA 注:安装IDEA之前需要我 ...

  6. mysql查看表的字段与含义

    查看表的字段与含义 select column_name,column_comment from information_schema.`COLUMNS` where table_Schema='lo ...

  7. 安装 error: Microsoft Visual C++ 14.0 is required 解决方案

    最近写的项目需要用到Python的第三方库,比如:mmh3, pyshark等等,而直接pip install ... 会报错:error: Microsoft Visual C++ 14.0 is ...

  8. “ compiler-rt”运行时runtime库

    " compiler-rt"运行时runtime库 编译器-rt项目包括: Builtins-一个简单的库,提供了代码生成和其他运行时runtime组件所需的特定于目标的低级接口. ...

  9. 理想的GVS智能照明体验,就在汕头迎宾花园酒店

    汕头,依海而生,海在城中央是汕头特色. 汕头湾将汕头分为南北两岸,造就绝美市区海岸线,一碧万顷的海湾,焕然一新的海港,在市区就能直接看海. 在北山湾,动可结伴冲浪,静可观海吹风,动静都是一种快乐. 当 ...

  10. oracle单机开机自启动

    ====================== 单机数据库开机自启动  ============================= 环境: oracle数据库单机 版本:11.2.0.4 1.修改配置文 ...