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

即可传到服务器上啦

相关推荐
鹿鸣天涯6 小时前
Xftp传输文件时,解决“无法显示远程文件夹”方法
运维·服务器·计算机
unDl IONA6 小时前
服务器部署,用 nginx 部署后页面刷新 404 问题,宝塔面板修改(修改 nginx.conf 配置文件)
运维·服务器·nginx
Web极客码6 小时前
WordPress管理员角色详解及注意事项
运维·服务器·wordpress
CSCN新手听安7 小时前
【linux】高级IO,以ET模式运行的epoll版本的TCP服务器实现reactor反应堆
linux·运维·服务器·c++·高级io·epoll·reactor反应堆
Java后端的Ai之路7 小时前
Linux端口进程查找与终止教程
linux·运维·服务器
奇妙之二进制9 小时前
zmq源码分析之own_t
服务器·网络
mounter6259 小时前
深度解析:Linux 内核为何要移除“直接映射” (Direct Map)?
linux·运维·服务器·security·linux kernel·direct mem map
带娃的IT创业者10 小时前
零停机迁移:如何将服务器成本从 $1432 降至 $233
运维·服务器·网络·成本优化·服务器迁移·零停机·hetzner
va学弟11 小时前
Agent入门开发
java·运维·服务器·ai
014-code12 小时前
Chronicle Queue:把 Disruptor 的数据落盘
java·服务器