把本地搭建的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

即可传到服务器上啦

相关推荐
开开心心_Every21 小时前
家常菜谱软件推荐:分类齐全无广告步骤详细
linux·运维·服务器·华为od·edge·pdf·华为云
i建模21 小时前
在 Arch Linux 中安装 **Xorg 服务器**
linux·运维·服务器
Trouvaille ~21 小时前
【Linux】线程同步与互斥(一):线程互斥原理与mutex详解
linux·运维·服务器·c++·算法·线程·互斥锁
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.21 小时前
Keepalived 双主(Active‑Active)模式
运维·服务器
zzzsde21 小时前
【Linux】进程(2):进程概念与操作理解
linux·运维·服务器
郝学胜-神的一滴21 小时前
Linux Socket模型创建流程详解
linux·服务器·开发语言·网络·c++·程序人生
Morantkk21 小时前
股票复盘11.20-11.27
服务器
浪客灿心1 天前
Linux的Ext系列文件系统
linux·运维·服务器·c语言
落笔映浮华丶1 天前
linux项目自动构建工具 -make/makefile
linux·运维·服务器
m0_663234011 天前
Python代码示例:数字求和实现
linux·服务器·前端