使用阿里云服务器&hexo从零搭建个人博客

前言

一直都想建立一个属于自己的个人博客,现在终于有时间了,因此想把自己的过程写下来。梳理一下过程,同时也希望给有同样想法的小伙伴一些帮助。

步骤

  1. 阿里云服务器购买
  2. 关于云服务器的操作

    • 配置安全组规则
    • Nginx代理设置
    • 安装Git及本地登录
    • 安装Node.js
  3. 关于本地主机的操作

    • 安装Node.js
    • 安装Hexo
  4. 完成部署
  5. 结语
    • *

一、阿里云服务器的购买

现在各家都有提供云服务器,但阿里云的学生优惠还是很不错的,因此就使用阿里云作为自己的服务器,因此直接登录阿里云,完成学生认证,购买就可以了。

关于域名大家可以按照阿里云域名的流程来进行操作,因为没有域名直接使用ip访问的,所以关于域名的操作这里就不赘述了。

二、关于云服务器的操作

  1. 配置安全组规则

http协议需要访问80端口,而阿里云默认是不授权80端口访问的,因此需要手动配置。

打开阿里云服务器管理控制台->点击左侧安全组->点击右侧的配置规则->点击添加安全组规则。

如图设置

如果不设置,就无法正常访问,因此十分重要。

  1. Nginx代理设置

使用yum命令直接安装Nginx,yum是CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

安装命令如下:

添加CentOS7 Nginx的yum软件库

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

然后安装

sudo yum install nginx

Nginx不会自动启动,因此键入:

sudo systemctl start nginx.service启动Nginx服务

使用浏览器访问你的ip地址或域名,查看是否安装成功

http://server_domain_name_or_IP/

您将看到默认的CentOS7 Nginx的网页,其中有用于提供信息和测试目的。它应该是这个样子:

如果您看到这个页面,那么你的Web服务器现在可以正确安装。

如果弹出来的页面不是这个,证明失败,解决的办法是更换yum源或者检查80端口是否可以访问。

代理配置好以后,我们就需要设置代理让它指向我们的博客主页,而不是默认页。我们可以通过新建一个配置,并将其以include的方式包含如nginx.conf中。这个文件的位置位于etc/nginx/下。

操作如下:

在/etc/nginx目录下创建一个文件夹叫vhost

cd /etc/nginx/  
mkdir vhost  
cd vhost  
vim blog.conf

编辑blog.conf文件内容

server{  
 listen 80;  
 root /home/www/website;  
 server\_name 120.27.239.xxx//这个位置写填写域名或者服务器的公网ip;  
 location /{  
 }  
}

保存并退出

:wq

打开/etc/nginx/目录下的nginx.conf文件

vim /etc/nginx/nginx.conf

在刚才我们自己写的blog.conf配置文件中root的路径相应路径建立博客的目录:

cd /home  
mkdir www  
cd /www  
mkdir website

这样我们就可以得到 /home/www/website 作为博客的根路径,就和配置文件中的路径对应上了。

  1. 安装Git及本地登录

这一步的目的是可以让我们在本地使用ssh的方式连接到云服务器,然后就可以用命令行的方式将博客push到服务器上。操作如下:

安装git:

yum install git

配置git用户

adduser git

修改用户权限:

chmod 740 /etc/sudoers
vi /etc/sudoers

找到这个位置添加下面这句话

git ALL=(ALL) ALL

保存退出后 将sudoers文件权限改回原样

chmod 400 /etc/sudoers

设置git用户密码

sudo passwd git

然后重启服务器,重启后切换到git用户,然后在~目录下创建.ssh文件夹,生成密匙。

su git
cd ~
mkdir .ssh
cd .ssh

生成公钥密匙文件

ssh-keygen

此时在目录下就会有两个文件,分别是 id_rsa 和 id_rsa.pub

其中 id_rsa.pub 就是公钥文件 我们复制一份 cp id_rsa.pub authorized_keys

这样目录下就会有一个authorized_keys文件,它和id_rsa.pub一模一样。 最后我们修改它的权限

chmod 600 ~/.ssh/authorized\_keys
chmod 700 ~/.ssh

然后我们在本地(自己的电脑上)打开cmd使用ssh连接服务器

出现如下字样表示已经登录成功。

此时阿里云回提醒你异常登录,最好在异常事件处理里将这一类加进去,以后就不会有异常提醒了。

如果在ssh登录上出现问题,可以参照这篇文章。

ssh 登录时常出现的几种错误以及解决方法

登录成功后初始一个git的仓库,并且新建一个post-receive文件,操作如下:

cd ~
git init --bare blog.git
vim ~/blog.git/hooks/post-receive

输入以下内容:

#!/bin/bash
git --work-tree=/home/www/website   --git-dir=/home/git/blog.git checkout -f

保存退出并授予该文件可执行权限

chmod +x ~/blog.git/hooks/post-receive

至此我们就完成了所有关于服务器端的配置。


三、关于本地主机的操作

  1. 安装Node.js

下载地址:Node.js

安装过程基本直接 下一步 就可以了。 安装完成后使用cmd查看是否安装成功

node -v
v10.16.2
npm -v
6.9.0

出现版本号说明安装成功。

2.安装Hexo

将npm换成淘宝源,然后安装cnpm

npm config set registry https://registry.npm.taobao.org
npm install -g cnpm --registry=https://registry.npm.taobao.org

安装Hexo

cnpm install -g hexo-cli

在本地选择一个目录来初始化博客,比如在F:盘下创建一个Blog文件夹,在该文件夹目录下

hexo init

完成hexo的初始化工作,初始化完成后安装两个插件

npm install hexo-deployer-git --save
npm install hexo-server

然后就可以在本机上查看hexo为你创建好的模板博客了。

hexo博客生成三部曲

hexo clean //清空hexo缓存
hexo g   //全拼hexo generate,生成hexo博客
hexo s   //全拼hexo server,本地访问hexo博客
hexo d   //全拼hexo deploy,将hexo部署到服务器上
3用于本地测试,4为部署,执行一个即可。
  1. 配置hexo

在刚才生成hexo的目录下,找到_config.yml,打开它。 找到deploy 做如下配置

deploy:
  type: git
  repo: [email protected](改成自己的公网ip):/home/git/blog.git
  branch: master
  message:

注意这个设置的格式,type等设置前面两个空格,冒号后面一个空格,保存退出。

使用hexo new "hello,world"创建一篇新的博客,格式是Markdown格式,然后使用相关编辑器写好,部署就可以了。

最后在服务器上重新运行nginx服务器

nginx -s reload


四、完成部署

输入自己的公网ip或者域名查看博客部署是否成功,若成功的话,打开服务器/home/www/website目录,文件结构应该是这样才对。

然后可以根据自己的需求,选择不同的hexo主题生成属于自己的个性博客。


五、结语

这次博客的搭建主要参照了羊哥CodeSheep关于搭建博客的视频以及这位大大的博客从零搭建Hexo博客并部署阿里云服务器(奶妈级教学) 。一趟下来,发现其中很多操作都是Linux的基本操作,因此在平常的学习过程中还是要注意基础,多学习别人的经验,自己再实际动手一遍。就好一些了。俗话说的好:孰能生巧嘛!

你可能感兴趣的:(nginx,建站,linux)