Centos6 Hexo 在线更新
自己一直用Centos6 来做SSR,主要是能做锐速破解,经常上油管的同学一定不陌生。
因为之前一直用Ghost搭建过博客,用PM2守护进程达到能持续访问的目的,所以就有了Hexo搭建的想法。
准备工作,Centos6,最好是自己的VPS,这样速度快。
首先安装最新版本的git:
yum install git-core
NVM安装:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
安装后重启VPS
直接安装node最新版本:
nvm install stable
传统模式安装:
安装nodejs,先查看node的版本有哪些
nvm ls-remote
选择安装nodejs的版本,并将其设为默认版本
nvm install 0.11.13
nvm alias default 0.11.13
这是Hexo官方推荐node安装方法,确实很方便,分分钟搞定,不然原始的安装方法你要编译等等,而且GCC编译器太久,还得安装编译,非常麻烦,推荐用这个方法安装,非常快速。
到此git和node就好了,接下来可以直接安装Hexo
npm install hexo-cli -g
hexo init blog
cd b
npm install
hexo server
然后安装一些常用插件:
npm install --save hexo-generator-search
npm install hexo-generator-feed --save
一般用安装这几个插件就可以了。
然后说说这次的主角:hexo-admin
npm install --save hexo-admin
hexo server -d
open http://localhost:4000/admin/
首先安装插件,然后在域名后加admin进入后台,点击New post创建新文章。
admin2.png admin4.png实时预览的Makedown编辑器,和Ghost的编辑器很像。
还可以给后台设置密码,如下图所示,设置好后会生成相应的代码,将代码粘贴到_config.yml
配置文件,重启NPM即可使用。
至此,Hexo博客部分安装完毕。
然后开始安装Nginx
我们先编辑下Nginx的仓储地址,新建nginx.repo文件:
vi /etc/yum.repos.d/nginx.repo
在文件中写入以下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
保存退出(按Esc结束编辑,Shift + ;键, 输入wq,回车),vi编辑器的使用就默认不说了
ok现在使用yum下载Nginx,并安装:
sudo yum install nginx -y
sudo service nginx start
开启nginx
sudo chkconfig nginx on
设置nginx为开机启动
ok,这样Nginx的安装就完成了,在浏览器中输入VPS的IP或者域名就可以看见Nginx友好的提示:“Welcome to Nginx!”
使用Nginx配置反向代理
如果完成上一步并且在浏览器中看见Nginx的welcome,那么我们就可以开始配置反向代理,让代理从80端口指向4000端口
去到以下这个目录:
cd /etc/nginx/conf.d
删掉default.conf配置文件
rm default.conf
在此目录下新建一个.conf文件,文件名随意
vi myself.conf
在文件中写入以下内容:
server {
listen 80;
server_name zyden.vicp.cc;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:4000;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
将server_name换成自己的域名,或者ip,保存退出,并重启nginx:
service nginx restart
ok,nginx的问题就close file了.
进入Hexo文件夹:
vi app.js
//创建js文件
写入这段代码:
//run
const { exec } = require('child_process')
exec('hexo server',(error, stdout, stderr) => {
if(error){
console.log('exec error: ${error}')
return
}
console.log('stdout: ${stdout}');
console.log('stderr: ${stderr}');
})
使用PM2让Hexo永远在线
只要我们一断开ssh,Hexo的进程就会被关闭,这里我们使用PM2来守护Ghost服务进程.
//!!首先进到ghost的安装目录
//安装pm2
npm install pm2 -g
//让ghost以production模式运作,指定程序的入口index.js,并且此进程命名为ghost
NODE_ENV=production pm2 start app.js --name "hexo"
//开机启动
pm2 startup centos6
pm2 save
pm2 startup centos6
这句很关键,大多数人都是pm2 startup centos,实际安装时候会出错,PM2无法正常安装。
进程守护做完,顺便提提pm2重启进程的命令是:pm2 restart 进程名
,如本文的实列重启命令即使:pm2 restart hexo
。
ok,在浏览器输入网址可以看见自己的Ghost博客了,地址后面加上/admin就可以访问后台,而且再也不用去Github上同步代码了,直接创建写作发布即可更新文章,也不用编译静态文件,对于喜欢hexo的朋友可以试试。