部署hexo博客到阿里云服务器
一:域名购买、服务器ECS购买
购买域名,服务器ECS,并将域名解析到服务器的公网ip
通常域名的实名认证需要花一段时间,建议提早准备好。
二:本地博客搭建
三:云服务器操作
3.1.配置安全组
在服务器控制台页面,点击本实例安全组
点击配置规则
点击添加安全组规则
如下图添加安全组规则
3.2.配置服务器环境
安装git。
-
在阿里云上Centos7.X镜像中一般都自带git工具,但版本都比较低,不影响
如果没有Git,可以使用yum来安装
yum install git
创建管理博客的用户并配置
-
创建一个专门管理博客除root以外的用户,如:
useradd git
-
修改用户权限:
chmod 740 /etc/sudoers
vim /etc/sudoers
-
找到这个位置添加下面这句话
git ALL=(ALL) ALL
使用保存命令:
wq
保存后退出 -
设置git用户的密码
passwd git
-
为本地的Blog文件夹配置一个部署静态文件的远程仓库
创建私有 Git 仓库:在 /var/repo/ 下(如果没有 /var/repo 目录,需要先创建)
mkdir /var/repo/
然后修改目录的所有权和用户权限
chown -R git:git /var/repo/
chmod -R 755 /var/repo/
进入文件夹,创建一个名为 hexo_static 的裸仓库(bare repo)
cd /var/repo/
git init --bare hexo_static.git
此后git 用户都具备/var/repo 目录下所有新生成的目录和文件的权限
配置 Nginx 托管文件目录
-
创建 /var/www/hexo 目录,用于 Nginx 托管。
mkdir -p /var/www/hexo
和上一步类似,这里也需要修改目录的所有权和权限
chown -R git:git /var/www/hexo chmod -R 755 /var/www/hexo
-
安装Nginx(安装的软件路径建议放到/usr/local目录下)
安装之前先安装一些依赖
yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install gcc-c++ yum install -y openssl openssl-devel
现在我们开始安装nginx,1.17.7,这个是目前最新版本
wget -c https://nginx.org/download/nginx-1.17.7.tar.gz
解压并进入nginx目录
tar -zxvf nginx-1.17.7.tar.gz
cd nginx-1.17.7
使用nginx的默认配置
./configure
编译安装
make
make install
查找安装路径:
whereis nginx
进入sbin目录,可以看到有一个可执行文件nginx,直接
./nginx
执行就OK了运行起来之后访问服务器ip,可以看到nginx的欢迎页面
另外nginx也可以设置成开机自启,这里不做赘述。
-
配置nginx
我安装nginx的目录为/usr/local/nginx,进入nginx目录里的conf目录,里面有个nginx.conf配置文件
vim nginx.conf
修改如下:
server{ listen 80; server_name komorebishao.com www.komorebishao.com //如果暂时没有域名就填阿里云的公网ip,以后有了再改回来; root /home/www/website;//这里填博客目录存放的地址 location /{ } }
修改好后,
:wq
退出之后,到nginx安装目录重装nginx配置,(必须为root用户执行):
cd /usr/local/nginx
./nginx -s reload
-
配置nginx开机自启动
即在
rc.local
增加启动代码就可以了。-
首先
vi /etc/rc.local
增加一行
/usr/local/nginx/sbin/nginx
,保存退出。 -
命令行输入
cd /etc/
设置执行权限:
chmod 755 rc.local
-
-
创建 Git 钩子
接下来,在云服务器上的裸仓库 hexo_static 创建一个钩子,就能在满足特定条件时将静态 HTML 文件传送到 Web 服务器的目录下,即 /var/www/hexo在自动生成的 hooks 目录下创建一个新的钩子文件:
vim /var/repo/hexo_static.git/hooks/post-receive
在该文件中添加两行代码,指定 Git 的工作树(源代码)和 Git 目录(配置文件等)。
#!/bin/bash git --work-tree=/var/www/hexo --git-dir=/var/repo/hexo_static.git checkout -f
保存并退出文件,并让该文件变为可执行文件。
chmod +x /var/repo/hexo_static.git/hooks/post-receive
云服务端的配置基本结束。
四:本地hexo配置
-
修改 Hexo 部分默认配置
进入本地博客目录,修改_config.yml (Hexo 的主配置文件)
-
首先修改博客的 URL 地址
# URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://www.yunxdr.top # 没有绑定域名时填写服务器的实际 IP 地址。 root: / permalink: :year/:month/:day/:title/ permalink_defaults:
-
修改 default_layout
将其从 post 修改为 draft ,表示每篇博文默认都是草稿,必须经过发布之后才能在博客站点*问。
# Writing new_post_name: :title.md # File name of new posts default_layout: draft # 原来的值是 post titlecase: false # Transform title into titlecase
-
-
新建博客草稿并发布,这里简单演示通过 Hexo 新建博文草稿,并发布的过程。
执行如下命令,创建第一篇博文。hexo new 我的第一篇在阿里云上部署的hexo博文
在本地通过自己熟悉的编辑器,编辑博文。这里,把本文的内容写入第一篇博客中
然后,通过如下命令发布博客:
hexo publish 我的第一篇在阿里云上部署的hexo博文
博客推送到服务器之后,就可以在网站*问了。
-
通过 Git 部署
继续编辑 _config.yml 文件,找到 Deployment 部分,如下修改:repo:Centos用户@云服务器IP:云服务器上创建的裸仓库
deploy: type: git repo: aaa@qq.com:/var/repo/hexo_static branch: master
保存并退出文件。
之后,需要安装一个 Hexo 包,负责将博客所需的静态内容发送到设置好的 Git 仓库。
npm install hexo-deployer-git --save
安装好后可以部署:
hexo generate && hexo deploy
期间会提示输入 git 用户的登录密码。
完成!输入你的域名访问自己的博客吧~
上一篇: TSDK:淘宝开放平台或淘宝登录爬取
下一篇: 迷宫最短路径问题 - bfs
推荐阅读
-
在阿里云服务器windows server2012r iis上部署.net网站
-
阿里云服务器CentOS 6.3下快速安装部署 LAMP 、vsftpd 环境的方法
-
阿里云ECS服务器部署django的方法
-
Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)
-
Spring boot项目部署到云服务器小白教程详解
-
结合 Nginx 将 DoNetCore 部署到 阿里云
-
docker部署crownblog项目到阿里云的方法步骤
-
详解Node项目部署到云服务器上
-
桌面远程连接阿里云服务器(windows)后丧失了双向文件复制粘贴功能的解决方案(第一条博客!)
-
结合 Nginx 将 DoNetCore 部署到 阿里云的安装配置方法