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

即可传到服务器上啦

相关推荐
Xena_Networks5 小时前
SierraNet协议分析使用指导[RDMA]| 如何设置 NVMe QP 端口以进行正确解码
linux·服务器·网络
purrrew5 小时前
【Java ee初阶】网络原理
java·运维·服务器·网络·网络协议·udp·java-ee
python算法(魔法师版)6 小时前
数据库故障排查指南:从连接问题和性能优化
服务器·网络·数据库·性能优化
滴水之功6 小时前
Ubuntu22.04怎么退出Emergency Mode(紧急模式)
linux·运维·服务器
又逢乱世7 小时前
Ubuntu 安装 HAProxy
服务器·网络·数据库
qrh_yogurt8 小时前
搭建spark伪分布集群
大数据·服务器·spark
还有几根头发呀8 小时前
深入理解 TCP:重传机制、滑动窗口、流量控制与拥塞控制
服务器·网络
小妖6669 小时前
vue2 provide 后 inject 数据不是响应式的,不实时更新
java·服务器·前端
purrrew10 小时前
【Java ee初阶】网络编程 TCP
java·服务器·网络·网络协议·tcp/ip·udp·java-ee
AWS官方合作商11 小时前
AWS SNS:解锁高并发消息通知与系统集成的云端利器
服务器·云计算·aws