欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

将个人博客迁移到云服务器上

程序员文章站 2022-07-10 17:17:49
...

前言

之前通过github 和coding 来搭建的个人博客,但是搜索引擎一直不是很好,并且总感觉不稳定,访问很慢。最近刚刚买了一个云服务器,所以就打算将个人博客迁移到云服务器上。

服务器环境准备

我们登录云服务器,主要做一些准备工作。

安装git

yum install git

创建git 用户

这里我们需要创建一个git 用户来做服务器库。方便我们本地将文件推送到服务器库。

adduser git
sudo passwd git

然后给git 用户分配root 权限。

chmod 740 /etc/sudoers
vi /etc/sudoers

将个人博客迁移到云服务器上
改好之后,修改会权限

chmod 400 /etc/sudoers

上面这些都是在root 用户下操作的。

SSH 配置

想要我们本地直接推送文件到服务器上,需要配置SSH连接了。所以我们在自己本地生成ssh秘钥。

ssh-******

然后copy 下id_rsa.pub的内容。
将个人博客迁移到云服务器上
上面是本地操作的,接下来,我们上我们服务器,进入git 用户根目录下。

su git
cd ~
mkdir .ssh
cd .ssh
vim authorized_keys

authorized_keys 文件的内容就是我们本地复制的秘钥。这样本地就可以和服务器进行免密登录啦。
将个人博客迁移到云服务器上

服务器创建仓库

现在我们切换到root 用户操作。

#repo作为为Git仓库目录
mkdir /var/repo
chown -R git:git /var/repo
chmod -R 755 /var/repo
#hexo作为网站根目录
mkdir /var/www/hexo
chown -R git:git /var/www/hexo
chmod -R 755 /var/www/hexo

将个人博客迁移到云服务器上
上面的操作后,这两个文件的用户和用户组都是git .

做完上面这些,切换到git 用户操作。
进入到 /var/repo 目录下,初始化一个git仓库

cd var/repo
git init --bare blog.git

将个人博客迁移到云服务器上
创建一个新的 git 钩子,用于自动部署 在 /var/repo/blog.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive。

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

post-receive 内容如下:

#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f

增加post-receive 文件的写权限

chmod 755 post-receive 

将个人博客迁移到云服务器上
好了,服务器上的配置到此就都配置好了。

本地配置修改

我本地已经安装了nodeJS、git、hexo 这些东西,所以这些就不说了。我进入本地的博客目录。主要是修改_config.yml 配置。
将个人博客迁移到云服务器上
将个人博客迁移到云服务器上
url 修改为你的域名或者云服务器的外网ip 地址。

deploy:
  type: git
  repo: aaa@qq.com:/var/repo/blog.git
  branch: master

将个人博客迁移到云服务器上
deploy 推送到我们云服务上,IP就是我们云服务器的ip,可以指定端口,表示访问到是什么端口,不指定的话,就是默认的80 端口。
修改好之后,就在当前目录下打开 git base

hexo clean //清除
hexo g //编译
hexo d //上传发布

在执行hexo d 可能会报错,我报错的第一个本地git 版本低导致的,所以升级一下本地git 版本,在git base 中执行

$ git update-git-for-windows

将个人博客迁移到云服务器上
还有可能提示没有权限创建文件,这主要是我们需要用git 用户来初始化仓库。按照我前面的操作的来,就不会出现这个问题。

nginx 部署

hexo d 执行成功的话。我们还差最后一步,才能在浏览器*问。我们需要配置nginx 。至于下载nginx和 安装可以看这篇文章,这里就不说了。
centOS7 安装nginx
我们进入/usr/local/nginx/conf/目录下。修改nginx.conf 文件。

location / {
           root   /var/www/hexo;
           index index.php index.html index.htm default.php default.htm default.html;
       }

将个人博客迁移到云服务器上
路径指向我们存放的/var/www/hexo 才可以。
最后我们就可以通过域名或者IP访问个人博客啦。
将个人博客迁移到云服务器上
由于我的域名备案还没有下来,所以暂时用的是IP 访问的,等域名备案下来了,就可以用域名访问啦。

现在将个人博客搭建在了自己的服务器上,关于SEO的问题应该会好解决一些。百度和谷歌的SEO等我域名备案下来了再弄一波吧,现在先暂时这样吧就。