最近在服务器上搭建了一个博客,用于存放主题资料。博客框架使用了Hexo,Web服务器使用了Nginx。
以前把Hexo搭建到Github上,这次本来想直接搭建到公司的Gitlab上,但是发现公司的Gitlab把Page功能禁用了,只能搭建到我们小组的服务器上。整体框架如下:
注:图片来自《 如何在服务器上搭建hexo博客 》
简单来说,就是首先服务器部署Nginx,本地使用Hexo生成博客,然后推送到服务器的Git仓库,再使用git hook功能,当博客被推送到Git仓库后自动部署到Nginx的指定目录里,完成文章发布。
本地与服务器都为Mac OS 系统
修改hexo目录下的 _config.yml 文件
其中 repo 地址比如为 admin@10.10.10.10::/var/repo/blog.git
开始写博客发布
其中我遇到的一些坑,主要是权限问题,如果遇到部署不成功,注意排查是否是权限问题导致的。
附录:参考文章
如何在服务器上搭建hexo博客
Github SSH
Hexo
Nginx
极客学院 Nginx入门指南
Nginx配置文件nginx.conf中文详解
前期准备
喜欢Hexo的主题,不少都适合中文,配置简单,一键发布,所以选择它。
关于如何搭建 Hexo 的环境,这里就不罗嗦了, Hexo官方文档已经讲解的非常详细
VPS 上安装 Nginx 服务
SSH 连接 VPS 后,添加 CenOS 7 的 epel 软件包: $ yum install epel-release
安装Nginx: $ yum install nginx
启动 Nginx: $ systemctl start nginx.service
使用 firewalld 给防火墙添加规则允许 HTTP 以及 HTTPS
设置 Nginx 自动跟随系统启动
$ systemctl enable nginx.service
现在可以在浏览器中输入 VPS 的 ip 检查看 Nginx! 是否启动了。
如果出现 "Welcome to Nginx.." 的字样,恭喜!代表你的 Nginx 成功安装并启动。
VPS 上搭建 Hexo
方案选择
毋庸置疑,为了安全起见并且在本地能同时 Deploy 到 VPS 和 Github (用作备份)上,选第二种方法肯定是比较好的
使用 rsync 将 Hexo 部署到 VPS 上
在 Hexo 目录下安装 rsync : $ npm install hexo-deployer-rsync --save
根据 Hexo rsync 部署文档 在 Hexo 中的 _config.yml 中添加 Deploy 的配置,以下是我在自己项目中的配置代码
V1.png
*必须先在 VPS 上创建好了想要存放 Hexo 静态文件的目录, rsync 不能创建不存在的目录
网上有的朋友说光在 Hexo 中使用 rsync 不够,在 VPS 也需要下载 rsync 服务,但是我在雷电VPS上就没有下载 rsync 服务。如果你在 Hexo 中用 rsync 部署的时候一直报错,那就在 VPS 上下载 rsync 服务,看能否解决一直出错的原因,命令如下:$ yum -y install rsync
配置 Nginx
Hexo 成功部署到 VPS 上之后,剩下的就是来配置 Nginx 了
$ vi /etc/nginx/conf.d/default.conf
将以下内容替换原内容
重启一下 Nginx 服务
$ systemctl start nginx.service
$ systemctl enable nginx.service
这样设置之后网站就应该可以通过 VPS 的 IP 地方访问到了
申请域名及域名解析
至此在 VPS 上搭建 Hexo 并绑定域名就到此结束了
附上原文链接:网页链接
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)