本地博客部署计划


前言

关于这篇文章的意义

从某种意义上来讲,这玩意有点费力不讨好。

首先,网上的虚拟主机平台很多,且便宜

如织音云就提供了多种种类的虚拟主机套餐,还挺实惠的,其他的暂时不了解

但这种服务平台多半都是FTP传输服务,不如vps配置好了git连接更加方便

所以有了这种frp+本地服务器搭建的方式

但是这种方式成本颇高,但比vps便宜。

准备

  1. 如果你是有这样需求的,应该至少是有编译设备的(pc或手机终端)

  2. frpc服务商(樱花frp,Open frp等)

  3. 本地服务器

  4. 网线

  5. 系统镜像

  6. 简单的linux知识

开始

连接上你的服务器

我的服务器ip为192.168.21.128,所以ssh ubuntu@192.168.21.128

因为命令面板是有点麻烦,所以我们采用面板来开始配置静态环境

我推荐是1Panel或者宝塔

我这里使用的是1Panel ,主要是这个是现代化UI设计(简称:好看)

# RedHat / CentOS 安装脚本
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

# Ubuntu 安装脚本
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

# Debian 安装脚本
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

安装成功后,控制台日志会提示对应端口号,可通过浏览器访问如下页面登录 1Panel:

http://目标服务器 IP 地址:目标端口

配置用户名和密码

面板首页

根据提示我们先安装OpenResty

随便写一个名字开始安装

等待一会就安装完毕

选择网站,创建网站

选择静态网站,域名哪里随便填写,其他域名那里填写127.0.0.1:任意端口

访问创建的网站

git环境配置

创建一个名为blog的用户,用于管理Hexo项目

sudo adduser blog

给blog账号添加权限

sudo vim /etc/sudores

# 找到User privilege specification部分,添加如下内容:
blog    ALL=(ALL:ALL) ALL

# 使用wq!强制保存

切换至blog用户

su blog

配置git环境

# 创建repo文件夹
sudo mkdir /var/repo/
# 添加权限
sudo chown -R $USER:$USER /var/repo/
sudo chmod -R 755 /var/repo/
# 切换至/var/repo文件夹,创建git库
cd /var/repo/
git init --bare hexo.git

创建git钩子

vim /var/repo/hexo.git/hooks/post-receive

写入下面内容

#!/bin/bash

git --work-tree=/opt/1panel/apps/openresty/jinghuashang/www/sites/hexo/index --git-dir=/var/repo/hexo.git checkout -f

注意:tree位置就是你的网站根目录

文件变为可执行文件

chmod +x /var/repo/hexo.git/hooks/post-receive

这样配置是无法上传的,得给网站根目录添加777权限

sudo chmod 777 /opt/1panel/apps/openresty/jinghuashang/www/sites/hexo/index

添加ssh公钥

每次上传都要输入密码,非常麻烦,所以添加一个免密验证

# 首先创建.ssh目录,并进入该目录
sudo mkdir .ssh
cd .ssh/

# 将你windows下的id_rsa.pub写入authorized_keys文件
sudo vim authorized_keys

给hexo 配置文件添加一下

 -  type: git
    repo: blog@你的服务器ip:/var/repo/hexo.git
    branch: master

上传

hexo d

提示

如果无法上传,基本上都是路径的权限问题。

frpc


文章作者: jinghuashang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 jinghuashang !
评论
  目录