把本地搭建的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: [email protected]:/home/git/blog.git # 用户名@服务器ip:git仓库地址
  branch: main

在删除这两个文件:

输入:

复制代码
hexo clean & hexo g & hexo d

即可传到服务器上啦

相关推荐
Rverdoser4 小时前
服务器(一种管理计算资源的计算机)
运维·服务器
_考不上研究生不改名5 小时前
【完美解决】VSCode连接HPC节点,已配置密钥却还是提示需要输入密码
linux·服务器·vscode·远程连接·hpc·超算集群
IT _oA6 小时前
Active Directory 域服务
运维·服务器·网络·windows·笔记
·云扬·7 小时前
【BUG】阿里云服务器数据库远程连接报错
服务器·阿里云·bug
MXsoft6187 小时前
云原生运维在 2025 年的发展蓝图
运维·服务器·数据库
嵌入式-老费7 小时前
Linux上位机开发实践(一个硬件算法加速的示例)
linux·运维·服务器
CZIDC8 小时前
华为昇腾服务器上查看固件、驱动和CANN版本的常用方法
linux·运维·服务器
怪兽也会哭哭8 小时前
网页部署到宝塔服务器上,发送请求报错?org.springframework.data.redis.RedisSystemException,让我来看看
运维·服务器·redis
啊卡无敌9 小时前
记一次gitlab服务器负载过高问题处理
服务器·gitlab·github
跑得动9 小时前
头歌 | WPS文档基本操作
运维·服务器·wps