hexo部署到centos服务器上

96
彳余三岁
2018.07.07 00:23* 字数 650

本文介绍将hexo部署到腾讯云的centos服务器上。

准备一台centos云服务器。

搭建本地hexo服务

搭建本地hexo服务可以参见我之前的博客,这里不再赘述。

搭建hexo本地环境


登录centos云服务器

这里采用ssh远程登录

打开终端输入以下命令

ssh username@your_server_ip

然后输入你的用户密码按下回车键就可以登进去了

这里是以默认端口号22进行访问,如果你的端口号改动了则可以加上 -p 参数。

ssh username@your_server_ip -p 端口号


安装并配置nginx环境

  • ssh 登录到服务器然后下载nginx
yum update
yum install -y nginx
  • 启动nginx并设置开机自启
service nginx start
systemctl enable nginx

[图片上传失败...(image-25fed3-1530894142810)]

现在浏览器输入外网地址就可以看到欢迎界面了

welcome to nginx
  • 配置nginx环境

这里主要配置域名以及网站根目录,如果没有域名则可以暂时不配置,等购买域名并完成域名备案域名解析后再做配置。

vim /etc/nginx/nginx.conf

以下列出主要配置:

server {
    listen  80;
    server_name     example.com; #改为自己的域名
    root            /usr/share/nginx/blog; #改为自己博客的目录
}

新建刚刚改的博客目录:

mkdir /usr/share/nginx/blog

nginx配置基本完成。


安装Node.js

  • 下载Nodejs

wget https://nodejs.org/dist/v10.5.0/node-v10.5.0-linux-x64.tar.xz

  • 解压Node.js
tar -xvJf node-v10.5.0-linux-x64.tar.xz
mv node-v10.5.0-linux-x64 node
  • 配置环境变量
mv node/ /usr/local/
vim ~/.bash_profile

增加以下内容:

export NODE_HOME=/usr/local/node      #node路径
export PATH=$NODE_HOME/bin:$PATH
  • 更新配置

source ~/.profile

测试是否配置正确

node -v

配置正确截图

到此为止我们的Node.js就配置好了


安装Git并进行配置

  • 安装Git

yum install -y git

  • 创建git用户并为其设置密码
adduser git #创建用户
passwd git  #设置密码
  • 切换至git用户,添加SSH Key

在客户端查看并复制客户端的SSH Keys

#注意这是在客户端执行,将内容复制下,下面要用。
cat ~/.ssh/id_rsa.pub
#这是在服务器端执行的
su git  #切换用户
mkdir ~/.ssh    #创建目录
vim ~/.ssh/authorized_keys  #将刚刚复制的内容写进去 
  • 为刚刚的文件和目录设置权限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
  • 在客户端测试是否能连接服务器

终端输入以下命令,如果成功登录则配置成功。

ssh -v git@your_server_ip #注意更改你自己的服务器ip

  • 将博客发布目录的属主属组改为git

chown -R git:git /usr/share/nginx/blog

  • 初始化Git仓库
su git
cd ~
git init --bare blog.git    #使用--bare参数,Git就会创建一个裸库。
  • 配置git hooks

vim ~/blog.git/hooks/post-receive

在post-receive中写入以下内容:

#!/bin/bash
git --work-tree=/usr/share/nginx/blog --git-dir=/home/git/blog.git checkout -f

赋予其执行权限

chmod +x ~/blog.git/hooks/post-rceive


配置博客根目录的主配置文件

编辑博客根目录下的_config.yml

deploy:
  type: git
  repo: git@your_server_ip:/home/git/blog.git #注意改成自己的服务器ip
  branch: master
  message:

在博客主目录执行以下命令

hexo clean
hexo g
hexo d

部署完成后就可以在浏览器输入你的域名访问你的博客了。

最后欢迎大家访问我的博客: 徐先生的小窝

hexo搭建个人博客
Web note ad 1