前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将个人博客迁移到云服务器上

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

作者头像
程序员爱酸奶
发布2020-03-16 18:07:25
1.9K0
发布2020-03-16 18:07:25
举报
文章被收录于专栏:程序员爱酸奶程序员爱酸奶

前言

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

服务器环境准备

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

安装git

代码语言:javascript
复制
yum install git

创建git 用户

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

代码语言:javascript
复制
adduser git
sudo passwd git

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

代码语言:javascript
复制
chmod 740 /etc/sudoers
vi /etc/sudoers

改好之后,修改回权限

代码语言:javascript
复制
chmod 400 /etc/sudoers

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

SSH 配置

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

代码语言:javascript
复制
ssh-keygen

然后copy 下id_rsa.pub的内容。

上面是本地操作的,接下来,我们上我们服务器,进入git 用户根目录下。

代码语言:javascript
复制
su git
cd ~
mkdir .ssh
cd .ssh
vim authorized_keys

authorized_keys 文件的内容就是我们本地复制的秘钥。这样本地就可以和服务器进行免密登录啦。

服务器创建仓库

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

代码语言:javascript
复制
#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仓库

代码语言:javascript
复制
cd var/repo
git init --bare blog.git

创建一个新的 git 钩子,用于自动部署 在 /var/repo/blog.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive。

代码语言:javascript
复制
vim /var/repo/hexoBlog.git/hooks/post-receive

post-receive 内容如下:

代码语言:javascript
复制
#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f

增加post-receive 文件的写权限

代码语言:javascript
复制
chmod 755 post-receive

好了,服务器上的配置到此就都配置好了。

本地配置修改

我本地已经安装了nodeJS、git、hexo 这些东西,所以这些就不说了。我进入本地的博客目录。主要是修改_config.yml 配置。

url 修改为你的域名或者云服务器的外网ip 地址。

代码语言:javascript
复制
deploy:
  type: git
  repo: git@192.168.1.51:/var/repo/blog.git
  branch: master

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

代码语言:javascript
复制
hexo clean //清除
hexo g //编译
hexo d //上传发布

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

代码语言:javascript
复制
$ git update-git-for-windows

还有可能提示没有权限创建文件,这主要是我们需要用git 用户来初始化仓库。按照我前面的操作的来,就不会出现这个问题。

nginx 部署

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

代码语言:javascript
复制
 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等我域名备案下来了再弄一波吧,现在先暂时这样吧就。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员爱酸奶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 服务器环境准备
    • 安装git
      • 创建git 用户
        • SSH 配置
          • 服务器创建仓库
          • 本地配置修改
          • nginx 部署
          相关产品与服务
          云服务器
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档