背景
几天前就看到服务器要到期了,没去管他,结果给忘了,今天凌晨过期了,这台阿里云华东2(上海)的机器也用了快2年了,物理位置在上海让我这个强迫症很不舒服,而且40G的盘都用了30G了(反正就是给自己各种不嫌麻烦的借口),看到新出的学生机有可以购买在华东1(杭州)就果断释放了原来的服务器,新购于杭州节点
之前用宝塔做了备份策略,所以数据都储存在我的OSS里面
前几天用hexo在github上发布了博客,但是只能在我自己的电脑上进行编译,有一些局限,所以先在这台服务器上安装hexo用来在云端编译博客。
顺便发现了个BUG,阿里云学生机在认证期限内,好像可以不限次数的续费,我准备存点生活费续他个十年八年的试试。
废话不多说
----
安装
连接服务器
管你cmd、xshell、hyper、putty还是什么的,连的上就完事
安装node.js
这是个JavaScript运行环境
这一步建议在特定目录下操作
没有linux基础请跟我做
mkdir /soft mkdir /soft/hexo cd /soft/hexo
- 从官网下载linux版本的node.js 或者直接采用wget方式下载
这里使用wget下载
wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz
把他解压了
tar xf node-v10.9.0-linux-x64.tar.xz
解压以后测试是否安装成功
移动到目录
cd node-v10.9.0-linux-x64/
执行命令
./bin/node -v // 如果出现版本号,说明安装成功
修改node-v10.9.0-linux-x64文件夹名字为nodejs
cd .. mv node-v10.9.0-linux-x64 nodejs
设置软连接
ln -s /soft/hexo/nodejs/bin/node /usr/local/bin/node
ln -s /soft/hexo/nodejs/bin/npm /usr/local/bin/npm
git安装
安装依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
通过命令 git --version
可以看到,Git 当前的版本号为 1.8.3.1,太过于陈旧,所以需要先把它移除了。
卸载旧版本的 Git
yum remove git
然后移动到/usr/local/
cd /usr/local/
下载并解压
wget https://github.com/git/git/archive/v2.9.2.tar.gz
tar -zxvf v2.9.2.tar.gz // 解压
mv git-2.9.2 git //重命名编译安装
cd git // 进入文件夹
make prefix=/usr/local/git all // 编译源码
make prefix=/usr/local/git install // 安装至 /usr/local/git 路径
编译时,由机器配置决定速度,请耐心等待。
打开环境变量配置文件
vim /etc/profile
在文件底部添加以下配置。
PATH=$PATH:/usr/local/git/bin // git 的目录 export PATH
两个语句都要加上
刷新环境变量
source /etc/profile
最后再使用 git --version
查看版本号,已经为 2.9.2
安装hexo
npm install hexo-cli -g
搭建博客基础
先把hexo命令添加到全局:hexo在nodejs的lib/node_modules/hexo-cli/bin 可以找到hexo命令方式是采用软连接
ln -s /soft/hexo/nodejs/lib/node_modules/hexo-cli/bin/hexo /usr/local/bin/hexo
部署hexo博客环境:这个可以放在nodejs外面,方便打开
cd 到和nodejs一个目录下(我是放在根目录下的)然后:mkdir hexo
cd hexo
hexo init //会自动把资源文件下载好
解释一下
node_modules:是依赖包
public:存放的是生成的页面
scaffolds:命令生成文章等的模板
source:用命令创建的各种文章
themes:主题
_config.yml:整个博客的配置
db.json:source解析所得到的
package.json:项目所需模块项目的配置信息
- 搭桥到github
创建一个repo,名称为yourname.github.io
, 其中yourname是github名称(我已经有了,就不截图了)
下面的每一步,要把yourname换为自己的github名字,youremail换为自己的github邮箱
配置github账户信息
git config --global user.name "yourname" git config --global user.email "youremail"
创建SSH
输入:ssh-keygen -t rsa -C "youremail"
,生成ssh
下面提示地方一路回车就可以
然后去找生成的sshkey
cd ~/.ssh cat id_rsa.pub
把回显的那些字符复制出来
在github的setting中找到SSH and GPG keys,点击 New SSH key
title随便取,key就填刚刚那一段ssh
在gitbash中验证是否添加成功:ssh -T git@github.com
- 一步之遥
用编辑器打开你的blog项目,修改_config.yml文件的一些配置(冒号之后都是有一个半角空格的)注意YourgithubName改为你的
deploy: type: git repo: https://github.com/YourgithubName/YourgithubName.github.io.git branch: master
这样子需要每次都输入密码,如果不想每次输入密码的话把repo: https://github.com/YourgithubName/YourgithubName.github.io.git
改为git@github.com:YourgithubName/YourgithubName.github.io.git
回到gitbash中,进入你的blog目录,分别执行以下命令
hexo clean hexo server
启动测试环境
hexo s
输入 yourip:4000/
即可访问页面
如果是服务器,我的是阿里云服务器,需要配置安全组打开4000端口,这样就可以访问了
或者linux虚拟机,需要测试内外能否正常通信
每次编辑好都执行下面的命令进行上传
hexo clean hexo g //编译 hexo d //上传
这样,基本的hexo环境就搭建好了。