本文介绍将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)]
现在浏览器输入外网地址就可以看到欢迎界面了
- 配置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
部署完成后就可以在浏览器输入你的域名访问你的博客了。
最后欢迎大家访问我的博客: 徐先生的小窝