序言
最近因疫情还未复工,每天吃饭睡觉学习打游戏,实属无聊,想起去年双十二百度云买的服务器,当时只做数据库使用,最近也没写项目,太浪费了,一直想着搭建一个个人博客,我个人选择的hexo,废话不多说,教程开始,因为博客已经搭建好,我就使用虚拟机来代替服务器
服务端配置
- 安装nginx(百度云服务器有可以去/etc/nginx)
- 安装nginx
yum install nginx -y
- 设置nginx自启
systemctl enable nginx
- 启动nginx
systemctl start nginx
- 安装nginx
- 配置nginx
1. 创建网站目录`mkdir -p /home/www/website`
2. 配置nginx(80端口的server location下配置root 指向我们网站的目录)
![配置nginx](https://raw.githubusercontent.com/JaminYe/blogImages/master/img/20200320143429.png)
- 安装nodejs(我使用的是12版本的)
curl -sL https://rpm.nodesource.com/setup_12.x | bash -
yum install nodejs
- 验证安装是否成功
node -v
npm -v
- 安装git配置仓库
- 安装git
yum install git
- 添加用户
adduser git
- 修改用户权限
chmod 740 /etc/sudoers
修改/etc/sudoers文件vim /etc/sudoers
添加这句话 - 将文件权限修改回去
chmod 400 /etc/sudoers
- 设置git用户密码
sudo passwd git
- 将www文件夹权限给git用户
chown -R git /home/www
- 切换到git账户
su git
- 创建git仓库
git init --bare /home/git/blog.git
- 创建脚本,仓库有提交会自动执行
vim /home/git/blog.git/hooks/post-receive
#! /bin/bash git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f
- 保存并给予权限
chmod +x /home/git/blog.git/hooks/post-receive
- 安装git
本地主机配置
-
验证安装在cmd下
git --version
node -v
npm -v
-
配置git安装hexo
- 创建一个文件夹 进入文件夹 右击
git config --global user.name "用户名"
git config --global user.email "邮箱"
用户名邮箱最好是github或gitee的
- 创建一个文件夹 进入文件夹 右击
-
更换淘宝镜像
npm config set registry https://registry.npm.taobao.org # 然后安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org
-
安装hexo并启动
//安装hexo cnpm install -g hexo-cli //初始化hexo hexo init //安装git部署插件 npm install hexo-deployer-git --save //安装服务插件 npm install hexo-server
-
本地测试
-
//生成 hexo g //启动服务 hexo s
- 本机打开浏览器输入localhost:4000即可查看
-
-
配置hexo发布到远程服务器
- 修改配置文件
vim _config.yml
在结尾找到Deployment - 修改成如图
- 清理生成部署
hexo clean&&hexo g&&hexo d
输入git用户密码即可 - 打开浏览器访问服务器地址即可查看(如果打不开请确认服务器打开了80端口)
- 修改配置文件
-
配置ssh密钥
- 每次部署打开密钥很烦
- 打开本机电脑的c:/users/[用户名]/.ssh 右击git bash
ssh-keygen -t rsa -C "email@email.com"
邮箱最好是github或gitee的邮箱 - 将生成的id_rsa.pub通过文件传输或rz命令导入到服务器的/home/git/.ssh文件夹中(没有就创建)
- 将id_rsa.pub追加authorized_keys
cat id_ras.pub >> authorized_keys
- 删除id_rsa.pub
- 设置权限
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh/
- 查看/etc/ssh/sshd_config中AuthorizedKeysFile是否被注释,如果是删除前面的#
- 重启sshd
systemctl restart sshd
- 本机测试
ssh -t git@192.168.1.14
显示Last login ...
表示登陆成功
-
写博客(二种方法)
- 可以在我们的本机的那个文件夹下使用git bash 执行
hexo new "[标题名]"
- 将写好的markdown文件放在文件夹下的
source\_posts
,添加---title: [标题] date: [时间]---
可以参照其下的helloworld文件
- 可以在我们的本机的那个文件夹下使用git bash 执行
-
部署
- 执行
hexo clean&&hexo g &&hexo d
清理-生成-部署
- 执行
结尾
hexo部署起来没那么难,总结就是服务器创建git仓库,主机提交到服务器的仓库中,剩下的就是nginx配置,展示到网页,
,没有服务器的也没关系,下篇文章介绍将hexo部署到gitee和github上以及hexo的主题优化