一.部署到阿里云服务器

既然博客也已经成功在本地部署,然后主题也成功安装,接下来就可以部署到服务器上面了,如果你也想要魔改matery主题,可以去各种博客上面找一找大佬的教程,或者联系我,也可以让你少走一些弯路(❁´◡`❁)。

1.部署到服务器需要做的事情

首先需要在阿里云上面购买一台服务器,然后购买域名,如果是买的国内的服务器需要完成备案,假设,到这个地方,你已经拥有了自己的服务器和域名。


2.生成ssh公钥

在本地Windows10上用管理员模式打开dos窗口(cmd),输入如下命令生成ssh公钥

生成ssh公钥

ssh-keygen -t rsa

如下图,红色箭头是输入的ssh公钥命令,划上红线的地方是公钥保存的地方,我这里保存的地方是C:\Users\Takagisan.ssh\id_rsa.pub,如果是在你的电脑上面应该就是C:\Users(用户)\你的用户名.ssh\id_rsa.pub

为什么要这样做?因为后面会用上呗。


3.配置_config.yml

这个操作也是在本地Windows10上面,这里是配置自动化部署,我们先进入我们的hexo博客文件夹,打开blog目录下的_config.yml,到底部找到deploy就在更换主题地方的下面,如下图设置

蓝色箭头是我们要打开的配置文件,黑色箭头是上面配置主题的地方,红色箭头是我们要修改的地方其中在倒数第二行的@server为你所购买的域名解析后的地址,或者是IP地址

例如

deploy:
type: git
repo: git@blog.takagisan.top:/var/repo/hexoBlog.git #用户名@服务器Ip:git仓库位置
branch: master

4.阿里云服务器上的hexo博客搭建和本地部署到服务器仓库

到了这里,就已经开始了,在服务器上的操作。

4.1安装宝塔面板

首先看你在阿里云上购买的是什么服务器,比如我购买的是Centos,在宝塔官网选择自己的版本,比如我的服务器是Centos版本的就输入如下命令。

Centos安装宝塔面板

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

因为我服务器已经装过宝塔面板了,不能重新装,所以这里只能打字说明了,安装完毕之后,在终端的下面会提示登录名和密码,还有宝塔登录地址,在浏览器上登录之后,选择LNMP即可,然后在左边侧边栏一栏选择。

网站--添加站点--输入解析后的域名(或者IP地址)--底部PHP版本选择纯静态,提交,然后网站创建完成。

如下图,红色箭头是第一个点击的地方,蓝色箭头是你的域名,黑色箭头选择纯静态即可。

这样做完之后,需要配置nginx了,点击网站名--配置文件,如下

server
{
listen 80;
server_name blog.takagisan.top; \# server_name 填写自己的域名
index index.php index.html index.htm default.php default.htm default.html;
root /var/www/hexo; \# 这里root填写自己的网站根目录,修改为/var/www/hexo

如下图,看箭头模仿修改

然后保存即可


4.2阿里云服务器部署仓库

如果你的服务器是一台新的机器我建议,输入如下命令,下面操作我建议是root用户操作

安装依赖库

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

安装编译工具

yum install gcc perl-ExtUtils-MakeMaker package

当然你服务器有了编译工具和依赖库就可以不用输入上面的命令

查看git版本,做这个操作的原因是如果git版本低,需要下载新版本的git,当然也可以不用下载,如果你不想更新git可以跳过删除旧版本git--下载新版本git的操作,直接到创建git账户的地方开始,当然我还是建议更新。

查看git版本

git version

删除git

yum remove git -y

下载并且解压最新版本git

cd /usr/local/src  #进入下载的目录
wget https://www.kernel.org/pub/software/scm/git/git-2.28.0.tar.gz #下载最新版
tar -zxvf git-2.28.0.tar.gz #解压到当前文件夹

编译并安装

cd git-2.28.0  #进入文件夹
make prefix=/usr/local/git all #编译源码
make prefix=/usr/local/git install #安装路径

配置git环境变量

echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc

刷新环境变量

source /etc/bashrc

查看版本号

git --version

创建git账户并且添加账户的权限

adduser git		#创建git账户
passwd git #给git账户设置密码
chmod 740 /etc/sudoers

修改内容

vim /etc/sudoers  #打开需要修改的文件

在上面打开的文件里面找到如下内容

Allow root to run any commands anywhere
root ALL=(ALL) ALL

添加如下内容

git		ALL=(ALL)		ALL

按下键盘上的Esc按键,然后进入进入编辑模式(shift+;),输入:wq即可保存退出,然后修改权限。

chmod 400 /etc/sudoers

切换到git用户,并且创建~/.ssh文件和~/.ssh/authorized_keys文件

su git		#切换到git账户
mkdir ~/.ssh #创建~/.ssh文件
vim ~/.ssh/authorized_keys #打开文件

然后把前面在Windows10中生成的id_rsa.pub文件中的公钥内容复制到authorized_keys里面去

给文件赋予权限

chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh

测试是否能免密登录git

ssh -v git@你的服务器IP地址

创建仓库目录

mkdir /var/repo  #repo作为git仓库目录
chown -R git:git /var/repo
chmod -R 755 /var/repo

创建网站目录

mkdir /var/www
mkdir /var/www/hexo
chown -R git:git /var/www/hexo
chmod -R 755 /var/www/hexo

创建一个裸的git仓库

su root #切换到root用户
cd /var/repo
git init --bare hexoBlog.git

同步网站根目录

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

然后按i进入编辑模式,在这个文件里面添加两行代码,就是下面的两行代码直接添加进去即可,作用是指定git工作树源代码和git目录。

# !/bin/bash

git --work-tree=/var/www/hexo --git-dir=/var/repo/hexoBlog.git checkout -f

然后Esc,进入编辑模式:wq保存退出即可

修改文件权限使得可以运行

chown -R git:git /var/repo/hexoBlog.git/hooks/post-receive
chmod +x /var/repo/hexoBlog.git/hooks/post-receive

至此Git仓库搭建完毕。


4.3重启宝塔服务和推送本地文件到服务器

重启宝塔面板

service bt restart

然后回到本地Windows10系统

清理缓存并且推送到服务器

hexo clean #清理缓存
hexo g #重构文件
hexo d #推送到服务器

至此,就可以打开浏览器输入域名就可以访问到Hexo部署在阿里云上的博客了。


参考文献:

[1]:https://fuchenchenle.cn/2020/08/18/hexo%E9%83%A8%E7%BD%B2%E8%85%BE%E8%AE%AF%E4%BA%91/#Fuchenchenle

[2]:https://quefeixi.com/archives/18.html

[3]:https://developer.aliyun.com/article/764438

【hexo博客搭建】将搭建好的hexo博客部署到阿里云服务器上面(下)的更多相关文章

  1. 使用Docker快速搭建Halo个人博客到阿里云服务器上[附加主题和使用域名访问]

    一.前言 小编买了一个服务器也是一直想整个网站,一直在摸索,看了能够快速搭建博客系统的教程.总结了有以下几种方式,大家按照自己喜欢的去搭建: halo wordpress hexo vuepress ...

  2. 将个人博客从GitHub迁移至阿里云服务器过程总结

    让我们先回顾下前两篇博客: 程序员如何从0到1搭建自己的技术博客 在个人博客中优雅的使用Gitalk评论插件 通过前两篇博客,我们了解了如何快速的从0到1搭建一个个人博客并使用了Gitalk评论插件, ...

  3. 阿里云服务器搭建web项目小结

    前言 最近恰好有时间,自己搞了个云服务器试着搭建了个网站,遇到了一些问题,通过踩坑也涨了一些经验,遂记录一二,与后来者分享. 正文 1.博主用的阿里云服务器,为什么用它呢?一个是恰逢双十一,有优惠:另 ...

  4. 阿里云服务器搭建Docker版AWVS

    本文严重参考该文章:https://www.sqlsec.com/2020/04/awvs.html 阿里云服务器搭建Docker版AWVS,因为之前有使用Docker的经验,所以本文只是简述一下安装 ...

  5. 阿里云服务器搭建java环境(jdk+tomcat+oracle11g)

    一.JDK配置 1.在centos 7的更新源中有JDK,使用yum即可下载安装 查看库中版本 [root@localhost ~]# yum search java|grep jdk 选择需要版本进 ...

  6. 阿里云服务器连接以及centos 搭建 web java环境(linux java部署 tomcat部署)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 最近弄了个试用阿里云服务器倒腾了半天终于部署好,分享一下. 1.登入阿里云打开你申请的是云服务器的实例: 点击重置密码---重置密码后重启服务器才 ...

  7. 在阿里云服务器(ECS)上从零开始搭建nginx服务器

    本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以到http://www.aliyun.com/product/ecs去购买,或到体验 ...

  8. 阿里云服务器搭建SS代理教程!!!

    二.搭建教程 1.环境介绍 阿里云服务器ECS(香港): 配置:cpu 1核心.内存 1GB.出网带宽 10Mbps. 系统:CentOS 7.4 64位 2.服务器端搭建 1)使用root用户,分别 ...

  9. 阿里云服务器搭建SVN

    简单步骤介绍 1:安装svn apt-get install subversion 2. 开启svn服务器 svnserve -d 检查是否开启:ps aux | grep svnserve 若出现如 ...

随机推荐

  1. List、Map、Set 三个接口存取元素时,各有什么特点?

    List 以特定索引来存取元素,可以有重复元素.Set 不能存放重复元素(用对象的 equals()方法来区分元素是否重复).Map 保存键值对(key-value pair)映射, 映射关系可以是一 ...

  2. @Required 注解 ?

    这个注解表明 bean 的属性必须在配置的时候设置,通过一个 bean 定义的显式的 属性值或通过自动装配,若@Required 注解的 bean 属性未被设置,容器将抛出 BeanInitializ ...

  3. leedcode_13 罗马数字转整数

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1 .12 ...

  4. STM32 之 HAL库(固件库)

    1 STM32的三种开发方式 通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的.一般大多数都会选用标准库和HAL库,而极少部分人会通过直 ...

  5. APICloud重磅支持Atom编辑器,并建立开发工具核心库

    APICloud技术再次升级,不仅支持Atom编辑器开发工具,并推出核心开发工具库,使开发者进行App开发更便捷高效. APICloud支持Atom编辑器开发工具 APICloud始终坚持多开发工具支 ...

  6. 玩别人玩剩下的:canvas大雪纷飞

    canvas大雪纷飞 前言:正好业务触及到canvas,看完api顺手写个雪花效果,因为之前看到过很多次这个,主要看思路,想象力好的可以慢慢去创作属于自己的canvas效果 思路: 利用画圆arc() ...

  7. MySQL数据库设置编码格式和时区

    MySQL数据库设置编码格式和时区 MySQL5版本: url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8 MySQL6版本及以上 ...

  8. datetimepicker 设置日期格式、初始化

    $('#datetimepicker').datetimepicker({ minView: "month", //选择日期后,不会再跳转去选择时分秒 language: 'zh- ...

  9. Java安全之Commons Collections6分析

    Java安全之Commons Collections6分析 0x00 前言 其实在分析的几条链中都大致相同,都是基于前面一些链的变形,在本文的CC6链中,就和前面的有点小小的区别.在CC6链中也和CC ...

  10. Python入门-面向对象三大特性-多态

    Pyhon不支持多态并且也用不到多态,多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚"鸭子类型".