ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用 Hugo 和阿里云ECS搭建个人站

2021-10-31 19:32:28  阅读:461  来源: 互联网

标签:git Hugo ECS ssh home sudo hugo 服务端 搭建


之前个人站一直使用的是 Hexo ,时间久了一方面审美疲劳另一方面文章越来越多在 Hexo 下生成越来越慢,所以这个周末考虑迁移到 Hugo 下

总体上比较顺利,但是网上大多是在githubPage下建站,使用个人服务器的不多,故简单记录一下

本地配置

1 安装 Hugo

跟着 官方文档 来就行了,比如我在mac下

brew install hugo
2 建站

简单,一行命令,比如我想在本地目录/home/Mysite下建站,那就用该目录替换掉 path 即可

hugo new site path
cd path
3 安装主题

clone 一个主题配置,您可以直接clone,也可以添加git子模块,注意进入上一步建站根目录,比如我选择 papermod

直接 clone 到建站根目录下/themes/PaperMod路径

git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1
cd themes/PaperMod
git pull

最后在config.yaml下修改主题配置,可能建站之后得到的是.toml配置文件,看个人喜好了,我习惯写yaml所以直接格式转换过来了

theme: "PaperMod"

到这一步,本地的建站就完成了,没有任何困难

hugo server -D

可以直接预览

服务端配置

接下来就是网上介绍比较少的服务端配置

1 ssh 进自己的服务器
ssh root@XXX.XXX.XX.XX
2 建立 git 用户
sudo adduser git
3 安装 git
sudo apt install git
4 在服务端新建 git 仓库

注意这里建的不是 Github 仓库,是自己的服务器上的 git 仓库

  • git目录下建立一个仓库 hugo.git
  • 同时建立一个文件夹hugo用来存放仓库文件
su git
cd /home
mkdir git
cd git
git init --bare hugo.git
sudo chown -R git:git hugo.git
mkdir hugo
5 配置钩子
vim /home/git/hugo.git/hooks/post-receive

写入以下文本

git --work-tree=/home/git/hugo --git-dir=/home/git/hugo.git checkout -f

配置权限

sudo chmod +x /home/git/hugo.git/hooks/post-receive
6 配置Nginx

安装Nginx

sudo apt install nginx

修改Nginx配置文件

vim /etc/nginx/sites-available/default

只要改一个地方,把root路径从/var/www/html改成刚刚建立的存放仓库文件的/home/git/hugo

重启服务

service nginx reload
service nginx restart
7 配置SSH公钥

先在本地生成

ssh-keygen -t RSA -C "usr邮箱"
cat .ssh/id_rsa.pub

然后把 cat 内容复制到服务端的 .ssh/authorized_keys 文件内

mkdir .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
vim .ssh/authorized_keys

到此为止完成了服务端全部配置,以上任何一步操作如果提示缺少了什么就sudo apt install一下

部署本地到服务端

1 配置文件

把本地网站 config 文件内 baseURL 修改成自己的域名

baseURL: "https://wonghaotian.com/"
2 域名解析

去购买域名的地方把自己的域名解析到自己的服务器 ip

这个具体百度

3 部署

在本地运行

hugo

命令后,网站根目录内生成一个 public 文件夹,里面是静态网页文件,把这个 public文件夹整个 push 到我们刚刚在服务器端配置的 hugo.git 仓库里面

远程 git 仓库地址格式

git@[服务器 IP]:[hugo.git 路径]

如果您严格按照我刚刚说的步骤,那应该是:
git@XXX.XXX.XX.XX:/home/git/hugo.git
cd public
git init
git add .
git commit -m 'First Commit'
git remote add origin git@XXX.XXX.XX.XX:/home/git/hugo.git
git push -u origin master

如果一切顺利,那么您的个人 hugo 站点已经成功部署在云服务器上,访问域名即可显示

欢迎来我的小站 tiiaan

标签:git,Hugo,ECS,ssh,home,sudo,hugo,服务端,搭建
来源: https://blog.csdn.net/BAR_WORKSHOP/article/details/121068543

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有