0%

云服务器部署Hexo项目

  简单介绍下如何在云服务器上部署Hexo项目,在不使用宝塔面板的情况下,使用Nginx进行代理。(目前只测试过使用系统镜像 CentOS 7.6)。

购买服务器

购买服务器,可以选择阿里云腾讯云等。

连接服务器

第一次初始化实例后,登录密码一般会通过短信发送。

安装需要的依赖:

1
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
  • yum install:这是用于安装软件包的基本命令。
  • -y:该选项会自动确认所有询问,无需用户手动干预,这样能使命令自动执行。
  • curl-devel:此为 cURL 库的开发文件,它能为程序提供网络传输功能,像 HTTP、FTP 等协议的支持都包含在内。
  • expat-devel:这是 Expat XML 解析库的开发文件,可用于开发 XML 处理程序。
  • gettext-devel:该开发文件提供国际化和本地化功能,有助于开发多语言支持的应用程序。
  • openssl-devel:是 OpenSSL 加密库的开发文件,能为程序提供 SSL/TLS 和加密功能。
  • zlib-devel:这是 zlib 压缩库的开发文件,可用于开发数据压缩和解压缩程序。

安装编译工具:

1
yum install -y gcc perl-ExtUtils-MakeMaker package

检查Git是否安装:

1
git --version

安装Git:已经安装过的可以跳过这一步

1
yum install git -y

添加用户并设置密码:

1
2
useradd git
passwd git

创建博客目录:

1
mkdir /home/blog

给博客目录增加相应读写权限:

1
chmod -R a+rw /home/blog

注意:此命令表示所有用户都具有读写权限,可能会存在安全隐患,因为任何用户都可以修改这些文件。

建立Git仓库:

1
2
cd /home/git
git init --bare blog.git

给Git目录增加相应读写权限:

1
chmod -R a+rw /home/git

新建钩子文件:

1
vim /home/git/blog.git/hooks/post-receive

在文件中添加:

1
git --work-tree=/home/blog --git-dir=/home/git/blog.git checkout -f

这句命令是将存储库/home/git/blog.git强制检出并将文件放置到指定的工作树目录/home/blog

最终博客生成的静态文件是存储到/home/blog文件夹下的

给钩子文件增加可执行权限:

1
chmod +x /home/git/blog.git/hooks/post-receive

安装Nginx:

1
yum install nginx -y

启动Nginx:

1
systemctl start nginx.service

查看Nginx配置文件路径:

1
nginx -t

通过yum方式安装的Nginx,配置文件一般在/etc/nginx/nginx.conf

修改Nginx的配置文件:

1
vim /etc/nginx/nginx.conf

注意:一定要是自己主机上的Nginx的配置文件路径

1
2
server_name xxx; # ip或者域名
root /home/blog; # 博客文件路径

重启Nginx:

1
systemctl restart nginx.service

在Windows端博客目录下安装部署插件:

1
npm install hexo-deployer-git --save

以管理员方式打开终端进行安装。

修改Hexo的配置文件:

1
2
3
deploy:
type: git
repository: git用户名@服务器IP地址:/home/git/blog.git

删除文件

文件路径示例:C:\Users\YL\.ssh,中的known_hosts.oldknown_hosts两个文件。

重新部署Hexo

1
2
3
hexo cl
hexo g
hexo deploy

参考文档:
Hexo部署到服务器

赏包辣条吃吧