前言
此文参考网络上的文章以及自己在实际操作过程中,记录自己如何将Hexo静态博客部署到阿里云Centos7上的过程。
环境的配置
本地环境配置
服务器环境配置
本地环境配置
- Git安装
- Nodejs安装
- Hexo安装
第一步和第二步安装完成后,进行一些操作
生成ssh公钥(公钥作用:设置SSH公钥认证,pull,push不需要每次都输入密码)
桌面右键点击Git Bash Here,在打开的页面输入ssh-keygen -t rsa连续敲击回车三次
出现如下内容就证明就是成功
阿里云Centos环境配置
安装git
1 | yum install git |
创建Git账户
1 | adduser git |
添加账户权限
1 | chmod 740 /etc/sudoers |
找到
1 | ## Allow root to run any commands anywhere |
添加以下内容、
1 | git ALL=(ALL) ALL |
按ESC进入Command模式,然后输入:wq回车保存并退出。
修改权限
1 | chmod 400 /etc/sudoers |
切换至git用户
1 | su git |
创建 ~/.ssh 文件
1 | mkdir ~/.ssh |
编辑~/.ssh/authorized_keys 文件,然后将生成的id_rsa.pub文件中的公钥复制到authorized_keys
1 | vim ~/.ssh/authorized_keys |
赋予权限
1 | chmod 755 ~ |
在本地git测试是否能免密登录git,其中server为填写自己的云主机IP,执行输入yes后不用密码就说明好了
1 | ssh -v git@server |
创建目录
切换到到root账户,以catablog作为Git仓库目录
1 | mkdir /var/catablog |
仓库所属用户改为git
1 | chown -R git:git /var/catablog |
blog作为网站根目录
1 | mkdir /var/www/blog |
然后创建一个裸的 Git 仓库
1 | cd var/catablog |
创建一个新的 Git 钩子,进入cd /var/catablog/blog.git/。新建一个新的钩子文件 post-receive。
创建新的钩子文件 post-receive
1 | touch post-receive |
编辑这文件
1 | vim /var/catablog/blog.git/hooks/post-receive |
进入文件的编辑模式,在该文件中添加以下代码
1 |
|
按 Esc 键退出编辑模式,输入”:wq” 保存退出。
修改文件权限,为可执行权限
1 | chown -R git:git /var/catablog/blog.git/hooks/post-receive |
Git 仓库搭建完成。
配置Nginx
使用宝塔面板来部署Nginx
宝塔Linux官网
Linux面板6.0安装命令(暂时仅兼容Centos7.x,其它系统版本请安装5.9稳定版)
1 | yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh |
Linux面板6.0升级专业版:
1 | curl http://download.bt.cn/install/update6.sh|bash |
稍等一会,等待升级
初次访问需要安装nginx
在页面中会出现访问地址、账户和密码,此处需要去云服务器中,在防火墙中将8888端口加入到规则中,否则会出现无法访问。
复制网址到浏览器中进行登录,登录成功后,选择Nginx的部署方案,静静等待部署。
部署完成
点击网站-添加站点>输入域名>底部的PHP版本选择”纯静态”>提交。
网站创建完成后点击设置-配置文件
1 | server |
-保存
点击设置-网站目录,修改为/var/www/blog ,保存
重启宝塔面板服务
1 | service bt restart |
此时Centos7环境已经配置完整,然后Hexo的配置
在本地环境安装部署Hexo
Hexo部署
Hexo官网
建议去官网了解一下Hexo搭建的基本信息,如果已经了解可跳过
在自己的盘符下,创建一个blog文件夹,打开blog文件夹,在这个文件夹内右键点击Git Bash Here打开命令行终端。
执行如下命令
1 | npm install hexo-cli -g |
1 | #定义邮箱 |
说明
用户名和邮箱地址的作用
用户名和邮箱地址是本地git客户端的一个变量
每次commit都会用用户名和邮箱纪录。
github的contributions统计就是按邮箱来统计的
配置_config.yml
打开blog文件夹,打开_config.yml, 找到deploy
1 | deploy: |
进行保存。
在blog文件夹,在这个文件夹内右键点击
Git Bash Here
打开命令行终端
执行如下命令
1 | hexo clean |
等待部署,如果页面不出错显绿表示部署完成,浏览器输入域名或ip地址后就可以看到刚刚部署的Hexo博客了
常见问题
部署过程中,执行 hexo d发现部署出现如下图问题
可能是因为权限问题,需要检查我们在上述的git操作部署是否使用了git用户操作,若是没有,需要给相应的目录更改用户组
使用
1 | chown -R git:git /var/catablog/ |
这条命令递归的将repo目录及其子目录用户组设置为git。
同时使用
1 |
|
这样即可解决此类问题
后记
我也是初次搭建接触Hexo和搭建,在网上也查询了很多的资料,此篇文章单纯的将自己的搭建步骤记录下来,防止以后忘记.