使用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.com
和www.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