把本地搭建的hexo博客部署到自己的服务器上

配置远程服务器的git

安装git

  1. 安装依赖工具包
Bash 复制代码
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
  1. 安装编译工具
Bash 复制代码
yum install -y gcc perl-ExtUtils-MakeMaker package
  1. 下载git,也可以去官网下载了传到服务器上

    wget https://www.kernel.org/pub/software/scm/git/git-2.34.0.tar.gz --no-check-certificate

  2. 解压文件

    tar -zxf git-2.34.0.tar.gz

  3. 安装git:进入到git目录下,编译:

    cd git-2.34.0
    make all prefix=/usr/local/git

安装git到/usr/local/git下:

make install prefix=/usr/local/git
  1. 配置git环境变量,将git加入PATH目录中:

    echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc

使配置生效:

source /etc/bashrc

查看git版本,如果成功说明已经安装成功:git --version

创建用户并配置ssh免密登录

  1. 在服务器上创建用户并设置密码

    adduser xiaolin
    passwd 密码

  2. 为用户分配选线

    usermod xiaolin -G wheel

  3. 创建本地密钥:在本机cmd输入

    ssh-keygen -t rsa

去对应的路径下查看生成好的密钥id_rsa.pub

  1. 回到linux服务器,切换前面创建的xiaolin用户:

    su - xiaolin

  2. 创建.ssh文件:

    mkdir .ssh
    vim .ssh/authorized_keys

把前边本机生成的密钥复制到这个文件夹里

git仓库配置

切换到root用户

  1. 创建git目录,并修改目录的所有权和用户权限

    mkdir /home/git/
    chown -R xiaolin:xiaolin /home/git/
    chmod -R 755 /home/git/

  2. 进入目录后,建立git仓库,修改权限

    cd /home/git/
    git init --bare blog.git # 初始化git仓库
    chown xiaolin:xiaolin -R blog.git

  3. 新建钩子文件post-receive

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

把以下内容复制到post-receive文件:

#!/bin/bash
git --work-tree=/home/blog --git-dir=/home/git/blog.git checkout -f

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

  1. 修改文件权限:

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

配置远程服务器的nginx

安装nginx

  1. 安装nginx

    yum install -y nginx

  2. 启动nginx:

    systemctl start nginx.service

查看nginx的状态systemctl status nginx.service ,如果为actice,说明安装成功。

修改nginx的转发配置

使用nginx -t查看nginx配置文件的路径:

server_name:服务器的IP或域名

root:博客存放的路径/home/git/blog.git

配置Blog根目录

在hexo博客打开_config.yml文件

yml 复制代码
deploy:
  type: git
  # repository: https://github.com/xiaolin0333/xiaolin0333.github.io.git # 传到github使用
  repository: xiaolin@xxx.xxx.xxx.xxx:/home/git/blog.git # 用户名@服务器ip:git仓库地址
  branch: main

在删除这两个文件:

输入:

hexo clean & hexo g & hexo d

即可传到服务器上啦

相关推荐
wayuncn13 分钟前
哈尔滨服务器租用的流程
运维·服务器
fanxiaohui121382 小时前
元脑服务器的创新应用:浪潮信息引领AI计算新时代
运维·服务器·人工智能
Elastic 中国社区官方博客3 小时前
使用 Elastic-Agent 或 Beats 将 Journald 中的 syslog 和 auth 日志导入 Elastic Stack
大数据·linux·服务器·elasticsearch·搜索引擎·信息可视化·debian
pyliumy7 小时前
在基于Arm架构的华为鲲鹏服务器上,针对openEuler 20.03 LTS操作系统, 安装Ansible 和MySQL
服务器·架构·ansible
努力学习的小廉7 小时前
深入了解Linux —— 调试程序
linux·运维·服务器
只做开心事8 小时前
Linux网络之数据链路层协议
linux·服务器·网络
AI学IT8 小时前
(安全防御)旁挂组网双机热备负载分担实验
运维·服务器·网络
已是上好佳8 小时前
介绍一下Qt中的事件过滤
java·服务器·数据库
code monkey.9 小时前
【寻找Linux的奥秘】第一章:基础指令
linux·运维·服务器
anguruanjian10 小时前
安固软件指南:确保外发文件安全的全面策略
服务器·网络·安全·企业微信·安固软件