前言
一直都想建立一个属于自己的个人博客,现在终于有时间了,因此想把自己的过程写下来。梳理一下过程,同时也希望给有同样想法的小伙伴一些帮助。
步骤
- 阿里云服务器购买
-
关于云服务器的操作
- 配置安全组规则
- Nginx代理设置
- 安装Git及本地登录
- 安装Node.js
-
关于本地主机的操作
- 安装Node.js
- 安装Hexo
- 完成部署
- 结语
-
- *
一、阿里云服务器的购买
现在各家都有提供云服务器,但阿里云的学生优惠还是很不错的,因此就使用阿里云作为自己的服务器,因此直接登录阿里云,完成学生认证,购买就可以了。
关于域名大家可以按照阿里云域名的流程来进行操作,因为没有域名直接使用ip访问的,所以关于域名的操作这里就不赘述了。
二、关于云服务器的操作
- 配置安全组规则
http协议需要访问80端口,而阿里云默认是不授权80端口访问的,因此需要手动配置。
打开阿里云服务器管理控制台->点击左侧安全组->点击右侧的配置规则->点击添加安全组规则。
如图设置
如果不设置,就无法正常访问,因此十分重要。
- 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 作为博客的根路径,就和配置文件中的路径对应上了。
- 安装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登录上出现问题,可以参照这篇文章。
登录成功后初始一个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
至此我们就完成了所有关于服务器端的配置。
三、关于本地主机的操作
- 安装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为部署,执行一个即可。
- 配置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的基本操作,因此在平常的学习过程中还是要注意基础,多学习别人的经验,自己再实际动手一遍。就好一些了。俗话说的好:孰能生巧嘛!