文章目录
[Hexo]gitee+coding+阿里云服务器三线部署hexo博客
主要记录云服务器过程,其他步骤有很多教程,都大差不差,也比较简单
记录自己搭建的流程和遇到的头大的问题😑
我的Blog:
-
gitee:鹿鸣屿 (zs236.gitee.io)
-
coding:鹿鸣屿 (太长了)
-
阿里云服务器:鹿鸣屿 (鹿鸣.top)
-
github和gitee、coding同理
-
github和coding都可以绑定的域名,一个国外服务器,一个国内服务器,访问速度github稍微慢一点,但是影响不大,可以自己选择
ps :我的域名备案过了,但是coding不识别,绑定不到,不知道因为有中文还是刚备案的原因,哭了🙄,中文域名有挺多奇奇怪怪的问题,所以有了后来的阿里云服务器部署😪
准备工作
下载git:【Git下载】2021年最新官方正式版Git免费下载 - 腾讯软件中心官网 (qq.com)
下载nodejs:下载 | Node.js 中文网 (nodejs.cn)
注册github账号(使用jsDeliver+github搭建免费的cdn)
注册gitee和coding账号(自选)
按需 :域名购买备案和阿里云服务器购买
阿里云新人买服务器还是比较便宜,我买的八十左右一年,好像可以按照这个价钱续费三年
流程
可以分为两个部分:
本地服务器(自己的电脑,用来搭建网站)
远程服务器(gitee,coding,和云服务器:用来存放网站的文件,进行展示)
Git和nodejs安装及环境变量配置
网上有很多教程参考
Git:Win10配置Git环境变量与基本使用_像蚂蚁一样工作,像蝴蝶一样生活-CSDN博客
nodejs:Node.js的安装及环境配置【超详细】_huangfuyk.的博客-CSDN博客_nodejs安装及环境配置
到gitee中设置提交邮箱📪,绑定一个邮箱的话应该是不用动的
生成ssh公钥
如何生成ssh公钥_qaz13177_58_的专栏-CSDN博客_公钥怎么生成
到各个平台添加ssh公钥
下载资源
下载hexo主题:推荐下载链接:gitee的Sakura下载链接
下载cdn文件:zs2367/cdn (github.com)存放网站的资源,可以让网站加载更快
安装hexo
安装hexo
npm install hexo-cli -g
安装hexo-deployer-git
npm install hexo-deployer-git --save
初始化项目
cd D://blog_project
hexo init blog
cd D://blog_project/blog
hexo g //依据网页文件和新的css样式生成新的网站文件
hexo s //启动本地服务器,可以在http://localhost:4000查看网站效果
使用jsDeliver+github搭建免费的cdn:
使用jsDeliver+github搭建免费的cdn - 简书 (jianshu.com)
提交到github仓库上
git init //初始化
git status //查看状态
git add . //把该目录下的所有文件添加到暂存区
git commit -m '第一次提交' // 把暂存区的文件提交到本地库
git remote add github cdn仓库链接 //关联远程仓库
git pull --rebase github master //合并远程仓库和本地仓库的冲突
git push github master //推送到远程仓库上
(jsDeliver不支持加载超过20M的资源,所以一些视频最好压缩到20M以下)
发布仓库:浏览器打开github中新建的cdn,点击release发布, 发布版本号1.0(自定义)
使用方法:
https://cdn.jsdelivr.net/gh/user/repo@version/file
https://cdn.jsdelivr.net/gh/user/repo/file
版本号不是必需的,是为了区分新旧资源,如果不使用版本号,将会直接引用最新资源
修改主题中的文件,想要什么自己更改
生成部署文件
$ hexo clean
$ hexo g
$ hexo d //上传到远程在码云上的仓库
修改需要上传的路径
部署
Gitee
Gitee创建仓库,开启Gitee Pages服务,首次需要实名认证,一个工作日
强制https
Coding
Hexo博客部署到码云和Coding_过客~励む-CSDN博客_码云和coding哪个人多
同理创建项目,开启网站托管
自定义域名
注意到域名解析中添加CNAME记录
阿里云服务器ECS
到了比较复杂的云服务器阶段,弄了好几次😪,刚开始想在docker中拉个centos镜像安装宝塔部署,失败了几次,以为是容器的原因,容器因为挂载又删除不了,最后干脆就不用docker了,直接安装宝塔,误打误撞成功了,才懂不是容器的原因😫
安装宝塔面板
远程登录服务器,可以使用上面阿里云远程连接直接登录,也可以下载xshell,mobaXterm等软件登录
宝塔面板 安装与使用教程_Yan 小铁匠-CSDN博客_宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
我们得到登录宝塔面板的URL,初始账号和密码,后续自行更改。
面板地址:http://{您的服务器IP}:8888
初始化:第一次使用会要求初始化配置,请按照提示填入配置信息
在这里选择LNMP进行极速安装,即Linux+Nginx+Mysql+Php。
配置服务器git
hexo博客部署到宝塔面板_vela636的博客-CSDN博客
宝塔操作可以在终端里操作了,输入服务器账号密码,ip就是127.0.0.1,我们只是远程连接
键盘的shift+ins等于黏贴
默认用户是 root
注意如果遇到权限不足使用root用户输入命令即可!!!
vim 命令等于查看,输入vim命令后要先按一下键盘上的 i 进入编辑模式
编辑完成后 按一下ESC键 输入 :wq 保存并退出
1.打开宝塔终端先查看有没有git(自带git就不用再次安装了)
输入 git --version 查看git版本
默认是1.8,也可以自行升级,但感觉没必要
安装命令 yum install git
会出现一个确认 Is this ok [y/d/N]: 输入y即可
看到该文字Complete 带标 安装成功
2.添加git用户
adduser git
3.添加权限
chmod 740 /etc/sudoers
4.编辑文件
这是文件的路径(也可以点击文件的选项去查找该文件编辑)
vim /etc/sudoers
在文件里找到以下代码
Allow root to run any commands anywhere
root ALL=(ALL) ALL
添加该代码
git ALL=(ALL) ALL
然后按键盘的ESC键后输入:wq保存退出
5.修改权限(可以跳过)
chmod 400 /etc/sudoers
6.设置git密码,注意:输入密码不会显示,输入完成回车即可
后面会用到,尽量简单些,比如root
sudo passwd git
7.切换到git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并添加权限
su git
mkdir ~/.ssh
按 i 进入编辑,将本地电脑中生成的id_rsa.pub文件中的公钥复制到authorized_keys中,
按ESC,随后输入 :wq ,保存并退出。
vim ~/.ssh/authorized_keys
紧接着添加权限
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh
在本地电脑使用git软件(右键桌面 Git Bash Here) 或者 CMD
输入 ssh -v git@服务器ip(一般用ip)或域名 比如ip为localhost:4000
ssh -v git@localhost 执行后输入yes,不用输入密码说明ssh配置完成
如果用密码那就输密码吧(密码就是通过该命令 sudo passwd git 添加的密码)🐇
如果之前配置过git,可能会出现以下这种错误。
Offending ECDSA key in /c/Users/jonty/.ssh/known_hosts:5 (报错位置)
找到(c:/用户/用户名/.ssh)的 .ssh 文件夹中的known_hosts用记事本打开根据报错位置删除即可。
然后重新执行 ssh -v git@localhost(服务器ip)
8.创建仓库目录及相关配置
切换为root用户
输入该命令: sudo su root ,可能需要输入git密码(前面已设置
/www/wwwroot/ 这些都是文件路径
创建repo目录
mkdir /www/wwwroot/repo
添加权限
chown -R git:git /www/wwwroot/repo
chmod -R 755 /www/wwwroot/repo
创建hexo目录
mkdir /www/wwwroot/hexo
添加权限
chown -R git:git /www/wwwroot/hexo
chmod -R 755 /www/wwwroot/hexo
进入repo目录
cd /www/wwwroot/repo
初始化 git仓库
git init --bare hexo.git
/www/wwwroot/repo/hexo.git 下,
有一个自动生成的 hooks 文件夹。需要在里边新建一个新的钩子文件 post-receive。
编辑文件 键盘 i 进入编辑模式
vim /www/wwwroot/repo/hexo.git/hooks/post-receive
输入以下内容后按ESC后输入 :wq退出并保存
#!/bin/bash
git --work-tree=/www/wwwroot/hexo --git-dir=/www/wwwroot/repo/hexo.git checkout -f
修改权限 到此git仓库已完成配置
chown -R git:git /www/wwwroot/repo/hexo.git/hooks/post-receive
chmod +x /www/wwwroot/repo/hexo.git/hooks/post-receive
到宝塔中创建网站
配置ssl证书,记得服务器安全组443端口(https)
在hexo根目录右键Git Bash Here输入以下命令
hexo clean
hexo d -g 部署命令
这时候可能出现权限问题或其他问题,导致部署到git失败。
在宝塔终端输入以下命令即可:
路径都是在8.创建仓库目录及相关配置弄过
chown -R git:git /www/wwwroot/repo/
chown -R git:git /www/wwwroot/hexo/
最后再hexo d -g部署,应该就可以看到部署成功了。
我出现了下面这个问题
参考博客:【 Linux学习】SSH连接时出现Host key verification failed的原因及解决方法以及ssh-keygen命令的用法_欧阳鹏-CSDN博客
第一个方法解决:
输入命令vi ~/.ssh/known_hosts
,编辑文件
删除对应ip的相关rsa信息
删除完毕之后,重新执行命令,会要求输入密码。
输入之前的git密码,即可正确执行
可以看到效果
后续解决
hexo d输密码问题
Coding构建计划好像可以hexo d后自动部署
gitee通过Hexo Gitee Pages 自动部署站点
Hexo Gitee Pages 自动部署站点_wujiuqier的博客-CSDN博客
总体总算结束了,后续慢慢优化😴😴😴