使用hugo + nginx,在阿里云服务器上部署自己的博客

配置hugo的主题

主题

人麻了,hugo使用的是go语言编写的,以其轻便、快捷、方便出名,但是我配这个,配到吐,一开始想用hugo + github.io 这个组合的,但是由于你懂的原因,github上不去,而且机场也不是很好用,所以尝试了很多次,最后放弃。

由于之前曾经白嫖过阿里云的服务器,自己也购买了域名,并作了备案。所以又变成了hugo + nginx 😭😭,hugo的安装就不介绍了,最重要的是主题的选择,本人选了PaperMod,当时赶脚挺简洁的,就入坑了。

hugo的主题设置,我主要参考的是 大神的配置方案(感谢大神,ღ( ´・ᴗ・` )比心),只不过需要强调的是,一开始的时候,出现了在使用

hugo -F --cleanDestinationDir 的命令之后,打开网站之后,发现没有将部署的博客展示出来,最后经过排查发现,对于baseURL:这个配置项,不能写成www.xxx.com这种形式,必须加上http://,这是第一个注意点

而对于展示的评论区,标签等等,都需要在layouts文件下再加入其他的文件,如下示例 这部分参考的是另几个大神,感谢

感谢

多次尝试就变成了现在的网页(可能这里面有些坑,但自己不走过怎么能叫坑呢???😅😅😅)

文章头部的配置信息

对于文章头部的配置信息,参考第一个链接,然后根据自己的需要进行相应的调整,即可

nginx

服务器是阿里云的,在安装anginx时,尝试了很多教程的方法之后,最终选择 安装aginx第二种方式,使用安装包的方法,这种最稳定,同时需要注意执行./configure时,需要装上ssl_mode等,不然就会在http->https时出现问题。

http -> https

在阿里云服务器,使用 Certbot 申请 LetsEncrypt 泛域名免费证书,并实现自动续订, 亲测有用的链接 ,其中需要为RAM用户创建AccessKey,参考 阿里云官方

在运行的时候,发现Nginx未开启SSL模块,配置Https时提示错误,参考 感谢,最终处理了问题。🌹🌹🌹

省去www + http自动跳转https

为了访问的便捷,肯定希望直接输入xxx.com就能访问,如果想实现这个,以本人为例,从阿里云上购买的域名,因此需要在阿里云的域名解析上,定义好相应的规则@.xxx.comwww.xxx.com两种,再在nginx.conf的几个位置配置rewrite ^(.*)$ https://www.$server_name$1 permanent;以及rewrite ^(.*)$ https://$host$1 permanent;等代码,这部分由于网上有很多的教程,就不赘述,只是有很多教程可能只适合他(她)自己的服务器😅😅😅

nginx命令

cd /usr/local/nginx/sbin

./nginx -t

./nginx

./nginx -s reload

./nginx -s stop

hugo -F --cleanDestinationDir