Hexo部署至服务器(Ubuntu 20.04)

前言

本文将指导您如何从零开始,将Hexo项目部署到Ubuntu 20.04服务器上。

正文环境服务器:虚拟机(Ubuntu 20.04)IP:192.168.75.138客户端:Windows 10,使用Xshell连接服务器进行操作。

在Ubuntu上搭建Git服务器首先,使用Xshell连接服务器,并切换到root用户,返回到根路径。

Hexo部署至服务器(Ubuntu 20.04)

创建Git仓库

安装openssh-server

命令如下:

MOKI MOKI

MOKI是美图推出的一款AI短片创作工具,旨在通过AI技术自动生成分镜图并转为视频素材。

MOKI 375 查看详情 MOKI

sudo apt-get install openssh-server

Hexo部署至服务器(Ubuntu 20.04)

安装完成后,检查ssh服务是否已启动

命令如下:

ps -e|grep ssh

Hexo部署至服务器(Ubuntu 20.04)

创建一个名为blog的用户,用于管理Hexo项目

命令如下:

adduser blog

系统会提示输入密码,重复确认密码,后续内容直接回车即可。

Hexo部署至服务器(Ubuntu 20.04)

为blog用户添加文件写入权限

使用vim编辑/etc/sudoers文件

vim /etc/sudoers

找到User privilege specification部分,添加如下内容:

blog    ALL=(ALL:ALL) ALL

Hexo部署至服务器(Ubuntu 20.04)

切换到blog用户

su blog

安装git

命令如下:

sudo apt-get install git-core

Hexo部署至服务器(Ubuntu 20.04)

返回到根路径(cd /),在/var/repo下创建名为hexo_static的裸仓库

命令如下:

sudo mkdir /var/reposudo chown -R $USER:$USER /var/reposudo chmod -R 755 /var/repocd /var/repogit init --bare hexo_static.git

Hexo部署至服务器(Ubuntu 20.04)

进入该目录进行查看

Hexo部署至服务器(Ubuntu 20.04)

配置Nginx托管文件目录

首先安装Nginx

命令如下:

sudo apt-get install nginx -y

Hexo部署至服务器(Ubuntu 20.04)

创建/var/www/hexo目录,用于Nginx托管,修改目录所有权和权限

命令如下:

sudo mkdir -p /var/www/hexosudo chown -R $USER:$USER /var/www/hexosudo chmod -R 755 /var/www/hexo

Hexo部署至服务器(Ubuntu 20.04)

使用vim修改/etc/nginx/sites-enabled/default,使root指向hexo目录

命令如下:

sudo vim /etc/nginx/sites-enabled/default

找到server部分,修改如下内容:

root /var/www/hexo;

Hexo部署至服务器(Ubuntu 20.04)

重启Nginx服务,使得改动生效

命令如下:

sudo service nginx restart

Hexo部署至服务器(Ubuntu 20.04)

创建Git钩子

在之前创建的hexo_static裸仓库下有一个hooks文件夹,在其中创建一个名为post-receive的钩子文件:

命令如下:

vim /var/repo/hexo_static.git/hooks/post-receive

在其中写入如下内容:

#!/bin/bashgit --work-tree=/var/www/hexo --git-dir=/var/repo/hexo_static.git checkout -f

保存后退出。

使该文件变为可执行文件

命令如下:

chmod +x /var/repo/hexo_static.git/hooks/post-receive

在Windows上搭建客户端首先安装git,这里不再详细说明。使用命令ssh-keygen -t rsa在Windows用户下的.ssh文件夹中生成密钥。将生成的公钥id_rsa.pub复制到Ubuntu服务器的/home/blog/.ssh/authorized_keys上。首先创建.ssh目录,并进入该目录:

sudo mkdir .sshcd .ssh/

接着创建authorized_keys文件:

sudo touch authorized_keys

Hexo部署至服务器(Ubuntu 20.04)

将Windows下的id_rsa.pub文件内容复制到Ubuntu下的authorized_keys文件

命令如下:

sudo vim .ssh/authorized_keys

Hexo部署至服务器(Ubuntu 20.04)

部署Hexo项目编辑Hexo的config.yml文件,在deploy部分修改repo项:

deploy:  type: git  repo: blog@server_ip:/var/repo/hexo_static.git  branch: master

执行命令hexo deploy,将静态文件上传至Ubuntu服务器。

Hexo部署至服务器(Ubuntu 20.04)

进入目录var/www/hexo/下,可以看到静态文件已全部上传。

Hexo部署至服务器(Ubuntu 20.04)

访问测试打开浏览器,输入Ubuntu服务器的IP地址,就可以看到博客页面。

Hexo部署至服务器(Ubuntu 20.04)

补充如果部署到购买的云服务器(如阿里云)上,可能出现访问服务器IP没有响应的情况。

点击云服务器/ECS,在安全组规则中手动添加一条80端口的规则:

Hexo部署至服务器(Ubuntu 20.04)

后记(后续补充域名的配置操作)

参考资料:

用Hexo部署博客到Ubuntu服务器 – 简书 (jianshu.com)Git版本控制之ubuntu搭建Git服务器 – StoneGeek – 博客园 (cnblogs.com)

以上就是Hexo部署至服务器(Ubuntu 20.04)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/814890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
js中匿名函数的作用是什么
上一篇 2025年11月27日 00:32:18
崩坏星穹铁道3.2四星光锥推荐
下一篇 2025年11月27日 00:32:23

相关推荐

发表回复

登录后才能评论
关注微信