部署Hexo博客那些事er
[TOC]
Typora
1.下载安装
从官网下载新版
2.修改文件–参考
激活
打开安装路径下文件夹
1 | typora\resources\page-dist\static\js |
修改一个LicenseIndex开头的文件(.chunk)
1 | 将 |
已激活弹窗
1 | resources\page-dist\license.html |
1 | 在结尾 |
软件左下角未激活提示
1 | resources\locales\zh-Hans.lproj\Panel.json |
1 | "UNREGISTERED":"未激活" |
3.设置图片存储相对路径–参考
Typora-文件-偏好设置
图像-插入图片时-复制到指定路径
1 | ../img/${filename} |
勾选优先使用相对路径

4.Typora修改快捷键–参考
偏好设置-通用-打开高级设置

修改conf.user.json,位置一般在
1 | C:\Users\User\AppData\Roaming\Typora\conf |
在keyBinding添加快捷键
1 | "keyBinding": { |
其中键可以从这里找到,值填写自己想要修改的快捷键

本地安装Hexo并配置git
1.准备工作
安装nodejs
打开官网下载(v20.18.0)
验证安装成功
1 | node -v |

配置npm包位置
1 | npm config ls |
npm切换镜像源
1 | npm config set registry https://registry.npmmirror.com |
修改npm默认全局安装路径
1 | npm config set prefix "xxx\node_global" |
还需要将以下位置加入环境变量
1 | \nodejs |
安装git
官网下载,默认安装
1 | git --version |
配置用户名和邮箱
1 | git config --global user.name abc |
[!TIP]
签名的作用是区分不同操作者身份,用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
Git 首次安装必须设置一下用户签名,否则无法提交代码。
2.安装Hexo
1 | npm install hexo-cli -g |
初始化博客
1 | hexo init <folder> |
博客操作
1 | hexo clean #清除缓存 |
也可以在package.json 中添加 npm 脚本,这样就可以直接npm run dd一下执行
1 | "scripts": { |
注意
如果npm install未添加任何文件(包括node_modules文件夹),很可能是npm install安装路径问题(默认安装在全局路径中)
解决办法
1 | 查看npm的配置 |
如果global=true,则需修改配置文件
1 | npm config set global=false |
若不起作用,找到.npmrc文件路径,修改内容
1 | global=false |
3.本地配置测试
完成服务器部署123后
修改本地Hexo博客文件夹中的_config.yml文件
1 | deploy: |
1 | npm run dd |
新-服务器部署–参考
1 | #新建git用户 |
旧-服务器部署(Linux)
1.准备工作
查看是否安装了Git
1 | git --version |
查看是否安装了nodejs
1 | node -v |
1 | apt-get update |
查看nginx
1 | apt update |
查看nginx状态
1 | systemctl status nginx |
一般启动nginx后打开80端口可以看到welcom to nginx!
2.搭建git仓库–参考
1.添加git用户
1 | adduser git #添加git用户 |
2.为git用户授予权限
1 | 在/etc/sudoers.d目录下,新建usergit文件 |
3.为git用户添加SSH密钥
本地计算机在任意位置打开终端
1 | ssh-keygen |
进入C:\Users\用户名\.ssh目录,里面的id_rsa.pub就是我们需要的文件
如果之前生成过密钥,则本次可能命名为id_edxxxxx.pub
在/home/git目录下新建
1 | cd /home/git |
将id_rsa.pub内容粘贴进去
本地计算机测试是否可以用ssh免密登录服务器
1 | ssh -v git@xxx.xxx.xxx.xxx #git@后填写服务器的公网ip |
但此时可能出现权限问题或者目录遍历,可以限制用户只允许访问某个目录–参考
1 | apt install acl |
4.创建Git仓库
1 | mkdir /home/git/repos #新建目录,这是git仓库的位置 |
5.配置钩子实现自动部署–参考
将/home/git/repos/6hua.git/hooks/post-update.sample内容修改为
1 | git --work-tree=/home/git/hexo --git-dir=/home/git/repos/6hua.git checkout -f |
并重命名为post-update
1 | mv post-update.sample post-update |
给权限
1 | chmod +x post-update #赋予其可执行权限 |
6.测试Git仓库是否可用
1 | 在本地git clone git@server_ip:/home/git/repos/6hua.git |
配置Nginx反向代理
进入/etc/nginx,修改nginx.conf
1 | 在http{}中添加 |
1 | nginx -s reload |
放开防火墙端口后,就可以访问博客网站了
注意
设置部分端口会无法访问,即使它并没有和已用端口冲突
尤其注意
1 | 6000 6666 |
[!IMPORTANT]
这个问题实际上是由 Chrome 默认的非安全端口限制导致的,除了上文说的 6666,还有其他端口也无法在 Chrome 、Firefox 以及 Safari 中访问,但是可以用IE访问
这些无法访问的端口大部分都是小于 1024,小于 1024 的端口大家应该会很少使用,基本上不会在这个上面栽跟头。大于 1024 的端口也并非每一个都可以使用,这才是容易犯错的地方。
解决办法
1.修改项目端口
2.修改浏览器配置
1 | Chrome 修改办法如下: |
受限端口
| 端口 | 原因 |
|---|---|
| 1 | tcpmux |
| 7 | echo |
| 9 | discard |
| 11 | systat |
| 13 | daytime |
| 15 | netstat |
| 17 | qotd |
| 19 | chargen |
| 20 | ftp data |
| 21 | ftp access |
| 22 | ssh |
| 23 | telnet |
| 25 | smtp |
| 37 | time |
| 42 | name |
| 43 | nicname |
| 53 | domain |
| 77 | priv-rjs |
| 79 | finger |
| 87 | ttylink |
| 95 | supdup |
| 101 | hostriame |
| 102 | iso-tsap |
| 103 | gppitnp |
| 104 | acr-nema |
| 109 | pop2 |
| 110 | pop3 |
| 111 | sunrpc |
| 113 | auth |
| 115 | sftp |
| 117 | uucp-path |
| 119 | nntp |
| 123 | NTP |
| 135 | loc-srv /epmap |
| 139 | netbios |
| 143 | imap2 |
| 179 | BGP |
| 389 | ldap |
| 465 | smtp+ssl |
| 512 | print / exec |
| 513 | login |
| 514 | shell |
| 515 | printer |
| 526 | tempo |
| 530 | courier |
| 531 | chat |
| 532 | netnews |
| 540 | uucp |
| 556 | remotefs |
| 563 | nntp+ssl |
| 587 | stmp? |
| 601 | ?? |
| 636 | ldap+ssl |
| 993 | ldap+ssl |
| 995 | pop3+ssl |
| 2049 | nfs |
| 3659 | apple-sasl / PasswordServer |
| 4045 | lockd |
| 6000 | X11 |
| 6665 | Alternate IRC [Apple addition] |
| 6666 | Alternate IRC [Apple addition] |
| 6667 | Standard IRC [Apple addition] |
| 6668 | Alternate IRC [Apple addition] |
| 6669 | Alternate IRC [Apple addition] |