个人博客教学(hexo+阿里云服务器ECS)
之前是用的github生成地址访问的,但是国内访问有时候加载很慢,部署上去都整几次才成功,刚好阿里的云服务器可以个人试用三个月,我就来试试,这个也是结合了别人的文章加上自己踩的坑,给大家避避雷,让大家能一次成功,避免浪费时间!
hexo博客框架教程
1.npm install hexo-cli -g
:安装Hexo的全局命令行工具。(这一步我已经安装了就不演示了)
2.hexo init blog
:在当前目录下初始化一个新的Hexo博客项目,并命名为"blog"。
执行之后会有个blog文件夹,里面是这样的
3.cd blog
:进入刚刚初始化的Hexo博客项目目录。
4.npm install
:在博客项目目录中安装所有的依赖包。
5.hexo server
:在博客项目目录中启动Hexo的开发服务器,用于开发和预览博客网站
命令可以简化成hexo s
,执行完之后会有个http://localhost:4000/
的地址,打开是以下画面就成功了
主题替换
进入themes文件夹使用git clone命令来克隆下载
git clone
https://gitee.com/yuang01/hexo-theme-bamboo.git
这个是我使用的主题
然后在根目录找到_config.yml
文件,在其中找到theme
配置项
theme: hexo-theme-bamboo
hexo-theme-bamboo是主题名称
替换完之后执行hexo s
,主题变下面这样就成功了
主题一些详细的配置可以在hexo-theme-bamboo
文件夹下的_config.yml
修改
阿里云服务器教程
进入阿里云官网搜索云服务器ECS,往下翻你会看到
选择个人试用,选择如下图所示
申请完之后,来到创建好的实例,如下图所示
点击远程连接,如下图所示
第一次连接不知道密码直接选择重置密码就行
服务器部署教程
git相关配置
1.首先我们要在服务器上安装git
js
yum install git
2.中途可能会出现
JS
Is this ok [y/d/N]: //输入y按下回车即可
3.安装完成之后创建git
账户
js
adduser git
4.添加git账户权限
js
chmod 740 /etc/sudoers
vim /etc/sudoers
5.输入之后跳入另一个地方,按i
进入编辑状态,找到
js
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
git ALL=(ALL) ALL //我们自己添加的
6.在root
下面添加git
,如上所示,添加完成之后点击Esc键,输入:wq
进行保存退出
改回权限
js
chmod 400 /etc/sudoers
7.设置git
密码
js
git config --global user.password "设置的密码"
8.切换至 git
用户,创建 ~/.ssh
文件夹和 ~/.ssh/authorized_keys
文件,并赋予相应的权限
js
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
9.按i
进入编辑模式,将我们生成的 id_rsa.pub
文件中的公钥复制到 authorized_keys
中,完成之后就保存退出(上面有提到如何保存退出)
如果没有配置过SSH密钥的按照以下操作
js
//配置一下 git 的 username 和 email
$ git config --global user.name "你要设置的名字"
$ git config --global user.email "你要设置的邮箱"
//之后生成SSH密钥
$ ssh-keygen -t rsa -C "你刚刚设置的邮箱"
//设置完成之后会得到两个文件: id_rsa 和 id_rsa.pub
文件一般在c盘/用户/你的用户名/.ssh里面,找到id_rsa.pub
文件复制公钥即可
10.接着输入以下命令,赋予权限
JS
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh
//修改文件权限
12.接着在本地测试一下,是否能免密登入git
,SERVER
是你的云服务器外网ip
js
ssh -v git@SERVER
出现下图所示就是成功,还要输入密码就失败了
创建仓库及相关配置
首先我们要切换成root账号,但我碰上个问题无法输入密码,所以我是断开远程连接重新进入的,这时候账号就又恢复成root账号了
1.创建目录
js
mkdir /val //创建val目录
mkdir /val/repo //在 val目录下创建 repo 作为 Git 仓库目录
2.赋予权限
js
chmod -R 755 /val/repo
3.创建 hexo 目录作为网站根目录,并赋予权限
js
mkdir /val/hexo
chown -R git:git /val/hexo
chmod -R 755 /val/hexo
4.创建一个空白的 git 仓库
JS
cd /val/repo
git init --bare hexo.git
5.在 /val/repo/hexo.git
下,有一个自动生成的 hooks
文件夹。我们需要在里边新建一个新的钩子文件 post-receive
,用于部署输入下面的命令
js
vim /val/repo/hexo.git/hooks/post-receive
6.进入编辑状态,将下面两行代码粘贴进去,然后保存退出
JS
#!/bin/bash
git --work-tree=/val/hexo --git-dir=/val/repo/hexo.git checkout -f
7.修改权限
js
chown -R git:git /val/repo/hexo.git/hooks/post-receive
chmod +x /val/repo/hexo.git/hooks/post-receive
到这仓库就已经完成了
配置Nginx
这里我用的是宝塔面板来部署
js
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
中途输入"y" 回车等待一会就好了。在执行结果最后会出现地址,用户名,密码等
复制外网地址打开,输入刚才出现的用户名和密码
可能会出现进不去的情况。这时候要在服务器实例安全组里配置规则,放行8888端口,如下图所示,配置在入口里面
你登入进去之后注册完成会让你下载5个应用,里面有Nginx
,如果你没点击下载就按照下图操作
安装之后,按照下图操作(点击左侧网站菜单,选择PHP项目添加站点,域名输入服务器公网ip,其余不管点击提交)
提交完成之后找到网站设置,点击配置文件(修改server_name
和root
这两个地方即可)改完之后点击保存
js
server
{
listen 80;
server_name 这里填写你的服务器公网ip;
index index.php index.html index.htm default.phpdefault.htm default.html;
root /val/hexo/; //这里root填写自己的网站根目录
在网站设置中点击网站目录,修改成如下图所示
然后回到服务器端,输入一下命令,重启宝塔服务
JS
service bt restart
修改hexo配置,进行部署
进入本地 hexo 博客的根目录,编辑站点配置文件 _config.yml
,找到 deploy,修改成以下
js
//ABC的地方填你服务器的ip
deploy:
type: git
repo: git@ABC:/val/repo/hexo.git
branch: master
然后再项目终端输入下面两天命令进行部署
js
hexo clean
hexo d -g
这时候可能出现权限问题,导致部署到 git 失败,这时候在服务器端输入下面两天命令即可
js
chown -R git:git /val/repo/
chown -R git:git /val/hexo/
最后在输入hexo d -g
进行部署即可
部署完成之后就可以用服务器ip访问了