https://blog.jingxiyuan.cn
Hito的公告栏
天下事有难易乎?为之,则难者亦易矣
https://blog.jingxiyuan.cn/images/favicon.ico
Hito li
2022-09-21T01:46:00.000Z
https://blog.jingxiyuan.cn/2022/09/21/%E8%AE%B0%E4%B8%80%E6%AC%A1netty-socket-io%E6%9C%8D%E5%8A%A1%E7%AB%AF%E8%BF%9E%E6%8E%A5%E4%B8%8D%E4%B8%8A%E7%9A%84%E9%97%AE%E9%A2%98/
记一次netty-socketio服务端连接不上的问题
<p><em>今天前端开发跟我反馈用 vue 的 socketio 连接不上后台服务,连接无反应无任何报错。所以不清楚是前端代码问题还是后台服务的问题。由于框架为另一同事搭建,我只负责处理后端业务逻辑部分,所以第一时间我也不清楚具体的原因。于是我找了个第三方的 socket 工具尝试连接,果然有问题。但是只是提示连接不上,无明显错误原因。到后台查看发现有提示 Unknown transport for request 错误,最后通过调试发现 netty-socketio 的库中 AuthorizeHandler 类有段处理 transport 的代码只能接受大写的 WEBSOCKET 或者 POLLING,于是我在工具中按要求填上结果还是不行。然后我在网上搜索也未发现有相关问题,只发现有网友提示需要用 socketio 的库,不要自己写 socket 连接。于是我找了 socket.io.js 来连接,结果还是一样。经过大量调试改代码,最后突发奇想,有没有可能跟 netty-socketio 的版本有关系,于是我把版本从 1.7.20 升级到 1.7.21,结果就奇迹般的好了。</em></p>
<h6 id="总结就好像大力出奇迹实在找不到原因的时候不妨升级一下版本说不定问题就结局了呢o_o"><a class="anchor" href="#总结就好像大力出奇迹实在找不到原因的时候不妨升级一下版本说不定问题就结局了呢o_o">#</a> 总结:就好像大力出奇迹,实在找不到原因的时候不妨升级一下版本,说不定问题就结局了呢!O (∩_∩) O</h6>
2022-09-21T01:46:00.000Z
https://blog.jingxiyuan.cn/2022/09/17/Hexo-Theme-Shoka-algolia%E6%90%9C%E7%B4%A2%E8%B8%A9%E5%9D%91-1/
Hexo + Theme.Shoka + algolia搜索踩坑
<h1 id="hexo-themeshoka安装"><a class="anchor" href="#hexo-themeshoka安装">#</a> Hexo + Theme.Shoka 安装</h1>
<p><a href="https://blog.jingxiyuan.cn/2022/09/14/Hexo%E5%AE%89%E8%A3%85%E6%91%B8%E7%B4%A2/">安装介绍</a></p>
<h1 id="algolia注册"><a class="anchor" href="#algolia注册">#</a> algolia 注册</h1>
<ol>
<li>
<p><span class="exturl" data-url="aHR0cHM6Ly93d3cuYWxnb2xpYS5jb20vdXNlcnMvc2lnbl9pbg==">algolia</span> 不支持国内邮箱注册,而 google 和 github 由于国内被墙也没法使用。所以只能先注册<span class="exturl" data-url="aHR0cHM6Ly9hcHAubmV0bGlmeS5jb20v"> netlify</span> 然后通过 netlify 注册 algolia。</p>
</li>
<li>
<p>登录 algolia 后创建一个 index,名字随意记住既可。</p>
<p><img data-src="https://file.jingxiyuan.cn/images/2022/09/17/2022-09-17-23-32-20.png" alt="2022-09-17-23-32-20.png" /></p>
</li>
<li>
<p>点击右上角红点,弹出窗口点 settings 按钮。</p>
<p><img data-src="https://file.jingxiyuan.cn/images/2022/09/17/2022-09-17-23-35-04.png" alt="2022-09-17-23-35-04.png" /></p>
</li>
<li>
<p>点击 API KEYS,获取 appId 和 adminApiKey 填入 hexo 的_config.yml 中 apiKey 暂时不填。</p>
</li>
</ol>
<figure class="highlight yml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token key atrule">algolia</span><span class="token punctuation">:</span></pre></td></tr><tr><td data-num="2"></td><td><pre> <span class="token key atrule">appId</span><span class="token punctuation">:</span> <span class="token comment">#Your appId</span></pre></td></tr><tr><td data-num="3"></td><td><pre> <span class="token key atrule">apiKey</span><span class="token punctuation">:</span> <span class="token comment">#Your apiKey</span></pre></td></tr><tr><td data-num="4"></td><td><pre> <span class="token key atrule">adminApiKey</span><span class="token punctuation">:</span> <span class="token comment">#Your adminApiKey</span></pre></td></tr><tr><td data-num="5"></td><td><pre> <span class="token key atrule">chunkSize</span><span class="token punctuation">:</span> <span class="token number">5000</span></pre></td></tr><tr><td data-num="6"></td><td><pre> <span class="token key atrule">indexName</span><span class="token punctuation">:</span> blog <span class="token comment">#"shoka"</span></pre></td></tr><tr><td data-num="7"></td><td><pre> <span class="token key atrule">fields</span><span class="token punctuation">:</span></pre></td></tr><tr><td data-num="8"></td><td><pre> <span class="token punctuation">-</span> title <span class="token comment">#必须配置</span></pre></td></tr><tr><td data-num="9"></td><td><pre> <span class="token punctuation">-</span> path <span class="token comment">#必须配置</span></pre></td></tr><tr><td data-num="10"></td><td><pre> <span class="token punctuation">-</span> categories <span class="token comment">#推荐配置</span></pre></td></tr><tr><td data-num="11"></td><td><pre> <span class="token punctuation">-</span> content<span class="token punctuation">:</span>strip<span class="token punctuation">:</span>truncate<span class="token punctuation">,</span><span class="token number">0</span><span class="token punctuation">,</span><span class="token number">2000</span></pre></td></tr><tr><td data-num="12"></td><td><pre> <span class="token punctuation">-</span> gallery</pre></td></tr><tr><td data-num="13"></td><td><pre> <span class="token punctuation">-</span> photos</pre></td></tr><tr><td data-num="14"></td><td><pre> <span class="token punctuation">-</span> tags</pre></td></tr></table></figure><ol start="5">
<li>
<p>点击 All Api Keys - New Api key 创建一个 api key,Indices 选先前让记住的 index,ACL 选下面图片中的选项。</p>
<p><img data-src="https://file.jingxiyuan.cn/images/2022/09/17/2022-09-17-23-47-50.png" alt="2022-09-17-23-47-50.png" /></p>
</li>
<li>
<p>把第 5 步中新建的 api key 填入到第 4 步中的配置中,到此已经完成了百分之九十,只需要重新编译发布即可。不过编译步骤多了一步,在 hexo g 后需要再执行 hexo algolia,至此搜索功能就大功告成了。</p>
</li>
</ol>
2022-09-17T15:12:00.000Z
https://blog.jingxiyuan.cn/2022/09/16/chevereto%E5%9B%BE%E5%BA%8A%E5%AE%89%E8%A3%85/
极空间chevereto图床docker版安装
<h1 id="安装准备"><a class="anchor" href="#安装准备">#</a> 安装准备</h1>
<ol>
<li>
<p>需要先安装好 mysql 数据库</p>
</li>
<li>
<p>选择版本,1.5 版支持中文,之后被维护的团队删除只支持英文</p>
</li>
<li>
<p>本文介绍使用的是<span class="exturl" data-url="aHR0cHM6Ly9odWIuZG9ja2VyLmNvbS9yL2xpbnV4c2VydmVyL2NoZXZlcmV0bw=="> linuxserver_chevereto</span> 的镜像</p>
</li>
<li>
<p>需要预先创建好给 chevereto 使用的库、账户、密码</p>
</li>
</ol>
<h1 id="容器配置"><a class="anchor" href="#容器配置">#</a> 容器配置</h1>
<ol>
<li>
<p>映射路径(不要放在高速盘,否则会有权限问题)<br />
<img data-src="https://file.jingxiyuan.cn/images/2022/09/16/6150d69d9a170d96e66ca69420f8c4e8.png" alt="6150d69d9a170d96e66ca69420f8c4e8.png" /></p>
</li>
<li>
<p>端口<br />
<img data-src="https://file.jingxiyuan.cn/images/2022/09/16/08eafb3b30a7eb9b0c0be26ea7a1502a.png" alt="08eafb3b30a7eb9b0c0be26ea7a1502a.png" /></p>
</li>
<li>
<p>环境(puid 和 pgid 使用 1000,不要使用 0,否则会报错)<br />
<img data-src="https://file.jingxiyuan.cn/images/2022/09/16/01567ca9f31f87f832276be35cc4554b.png" alt="01567ca9f31f87f832276be35cc4554b.png" /></p>
</li>
</ol>
<h1 id="初始化配置"><a class="anchor" href="#初始化配置">#</a> 初始化配置</h1>
<ol>
<li>
<p>使用 http:// 极空间 ip:81 (端口号使用上面配置的,我配置的是 81) 进行 web 访问(数据库配置)<br />
<img data-src="http://file.jingxiyuan.cn/images/2022/09/15/0.png" alt="0.png" /></p>
</li>
<li>
<p>管理员配置(注意 website 配置选择个人,除非需要提供给其它人注册)<br />
<img data-src="http://file.jingxiyuan.cn/images/2022/09/15/1.png" alt="1.png" /><br />
<img data-src="http://file.jingxiyuan.cn/images/2022/09/15/2.png" alt="2.png" /></p>
</li>
<li>
<p>默认上传大小是 2M,可通过修改 php.ini 配置提升(路径 /etc/php7/php.ini 查找 upload_max_filesize 进行修改)。之后用管理员登录通过页面 http://xxx/dashboard/settings/image-upload 修改。</p>
</li>
</ol>
<h1 id="安装完成"><a class="anchor" href="#安装完成">#</a> 安装完成</h1>
<ol>
<li>功能少界面也很简单,只作为图片外部链接使用完全够用。图片链接 url 支持的很全。<br />
<a href="https://file.jingxiyuan.cn/image/axw"><img data-src="https://file.jingxiyuan.cn/images/2022/09/16/2022-09-16-14-52-29.png" alt="2022-09-16-14-52-29.png" /></a><br />
<img data-src="https://file.jingxiyuan.cn/images/2022/09/16/2022-09-16-14-54-58.png" alt="2022-09-16-14-54-58.png" /><br />
<img data-src="https://file.jingxiyuan.cn/images/2022/09/16/2022-09-16-14-56-13.png" alt="2022-09-16-14-56-13.png" /></li>
</ol>
2022-09-16T00:04:00.000Z
https://blog.jingxiyuan.cn/2022/09/14/Hexo%E5%AE%89%E8%A3%85%E6%91%B8%E7%B4%A2/
Hexo安装摸索
<h1 id="hexo博客安装"><a class="anchor" href="#hexo博客安装">#</a> hexo 博客安装</h1>
<ol>
<li>
<p><span class="exturl" data-url="aHR0cHM6Ly9ub2RlanMub3JnL2VuLw==">安装 nodejs</span></p>
</li>
<li>
<p><span class="exturl" data-url="aHR0cHM6Ly9naXQtc2NtLmNvbS8=">安装 git</span></p>
</li>
<li>
<p>安装 hexo(windows 需进入 git bash)</p>
<p><code>npm install -g hexo-cli</code></p>
</li>
<li>
<p>初始化博客目录</p>
<p><code>hexo init blog</code></p>
</li>
<li>
<p>进入博客目录</p>
<p><code>cd blog</code></p>
</li>
<li>
<p>初始化 hexo 到博客目录</p>
<p><code>npm install</code></p>
</li>
</ol>
<h1 id="shoka主题安装"><a class="anchor" href="#shoka主题安装">#</a> shoka 主题安装</h1>
<ol>
<li>
<p>下载主题 </p>
<p><code>git clone </code> <span class="exturl" data-url="aHR0cHM6Ly9naXRodWIuY29tL2FtZWhpbWUvaGV4by10aGVtZS1zaG9rYS5naXQ=">https://github.com/amehime/hexo-theme-shoka.git</span> <code> ./themes/shoka</code></p>
</li>
<li>
<p>卸载 hexo-renderer-marked 以及别的 markdown 文件渲染器 </p>
<p><code>npm un hexo-renderer-marked --save</code></p>
</li>
<li>
<p>安装(md 文件渲染器,压缩 css/js/html)</p>
<p><code>npm i hexo-renderer-multi-markdown-it --save</code></p>
</li>
<li>
<p>安装(给生成的 css 文件们添加浏览器前缀)</p>
<p><code>npm i hexo-autoprefixer --save</code></p>
</li>
<li>
<p>安装(站内搜索功能) </p>
<p><code>npm i hexo-algoliasearch --save</code></p>
</li>
<li>
<p>安装(文章或站点字数及阅读时间统计)</p>
<p><code>npm i hexo-symbols-count-time --save</code></p>
</li>
<li>
<p>安装(生成 Feed 文件)</p>
<p><code>npm i hexo-feed --save</code></p>
</li>
</ol>
<h1 id="hexo部分常用命令"><a class="anchor" href="#hexo部分常用命令">#</a> Hexo 部分常用命令</h1>
<ul>
<li>
<p>清除静态文件</p>
<p><code>hexo clean</code></p>
</li>
<li>
<p>生成静态文件</p>
<p><code>hexo g</code></p>
</li>
<li>
<p>安装 git 推送插件 </p>
<p><code>npm install hexo-deployer-git --save</code></p>
</li>
<li>
<p>推送静态文件到 git </p>
<p><code>hexo d</code></p>
</li>
</ul>
<h1 id="安装hexo-admin编写博客插件"><a class="anchor" href="#安装hexo-admin编写博客插件">#</a> 安装 hexo-admin(编写博客插件)</h1>
<ul>
<li>
<p><code>npm install hexo-admin --save</code></p>
</li>
<li>
<p>hexo-admin 编辑 url</p>
<p><a href="http://localhost:4000/admin"> <code>http://localhost:4000/admin</code> </a></p>
</li>
<li>
<p>settings 设置用户名、密码、Secret</p>
<p><a href="http://localhost:4000/admin/#/settings"> <code>http://localhost:4000/admin/#/settings</code> </a></p>
</li>
<li>
<p>把底部生成的配置拷入 hexo 配合文件中 (_config.yml)</p>
</li>
</ul>
<figure class="highlight yml"><figcaption data-lang="YAML"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token key atrule">admin</span><span class="token punctuation">:</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token key atrule">username</span><span class="token punctuation">:</span> username</pre></td></tr><tr><td data-num="3"></td><td><pre><span class="token key atrule">password_hash</span><span class="token punctuation">:</span> xxxxxx</pre></td></tr><tr><td data-num="4"></td><td><pre><span class="token key atrule">secret</span><span class="token punctuation">:</span> <span class="token string">'my super secret phrase'</span> <span class="token comment">#用单引号包裹</span></pre></td></tr><tr><td data-num="5"></td><td><pre><span class="token key atrule">deployCommand</span><span class="token punctuation">:</span> <span class="token string">'hexo_publish.sh'</span> <span class="token comment">#windows 用 hexo_publish.bat,linux 用 hexo_publish.sh</span></pre></td></tr></table></figure><h4 id="hexo_publishsh"><a class="anchor" href="#hexo_publishsh">#</a> hexo_publish.sh</h4>
<figure class="highlight bash"><figcaption data-lang="bash"></figcaption><table><tr><td data-num="1"></td><td><pre><span class="token shebang important">#!/bin/bash</span></pre></td></tr><tr><td data-num="2"></td><td><pre></pre></td></tr><tr><td data-num="3"></td><td><pre>hexo clean</pre></td></tr><tr><td data-num="4"></td><td><pre>hexo g</pre></td></tr><tr><td data-num="5"></td><td><pre>hexo d</pre></td></tr></table></figure><h4 id="hexo_publishbat"><a class="anchor" href="#hexo_publishbat">#</a> hexo_publish.bat</h4>
<figure class="highlight bash"><figcaption data-lang="bash"></figcaption><table><tr><td data-num="1"></td><td><pre>@echo off</pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token builtin class-name">cd</span> D:<span class="token punctuation">\</span>blog</pre></td></tr><tr><td data-num="3"></td><td><pre>d:</pre></td></tr><tr><td data-num="4"></td><td><pre>@cmd /c <span class="token string">"hexo clean&& hexo g&&hexo d&&echo success"</span></pre></td></tr></table></figure>
2022-09-14T04:23:55.000Z
https://blog.jingxiyuan.cn/1970/01/01/hello-world/
Hello World
<p>Welcome to <span class="exturl" data-url="aHR0cHM6Ly9oZXhvLmlvLw==">Hexo</span>! This is your very first post. Check <span class="exturl" data-url="aHR0cHM6Ly9oZXhvLmlvL2RvY3Mv">documentation</span> for more info. If you get any problems when using Hexo, you can find the answer in <span class="exturl" data-url="aHR0cHM6Ly9oZXhvLmlvL2RvY3MvdHJvdWJsZXNob290aW5nLmh0bWw=">troubleshooting</span> or you can ask me on <span class="exturl" data-url="aHR0cHM6Ly9naXRodWIuY29tL2hleG9qcy9oZXhvL2lzc3Vlcw==">GitHub</span>.</p>
<h2 id="quick-start"><a class="anchor" href="#quick-start">#</a> Quick Start</h2>
<h3 id="create-a-new-post"><a class="anchor" href="#create-a-new-post">#</a> Create a new post</h3>
<figure class="highlight bash"><figcaption data-lang="bash"><span>h</span></figcaption><table><tr><td data-num="1"></td><td><pre>$ hexo new <span class="token string">"My New Post"</span></pre></td></tr></table></figure><p>More info: <span class="exturl" data-url="aHR0cHM6Ly9oZXhvLmlvL2RvY3Mvd3JpdGluZy5odG1s">Writing</span></p>
<h3 id="run-server"><a class="anchor" href="#run-server">#</a> Run server</h3>
<figure class="highlight bash"><figcaption data-lang="bash"><span>h</span></figcaption><table><tr><td data-num="1"></td><td><pre>$ hexo server</pre></td></tr></table></figure><p>More info: <span class="exturl" data-url="aHR0cHM6Ly9oZXhvLmlvL2RvY3Mvc2VydmVyLmh0bWw=">Server</span></p>
<h3 id="generate-static-files"><a class="anchor" href="#generate-static-files">#</a> Generate static files</h3>
<figure class="highlight bash"><figcaption data-lang="bash"><span>h</span></figcaption><table><tr><td data-num="1"></td><td><pre>$ hexo generate</pre></td></tr></table></figure><p>More info: <span class="exturl" data-url="aHR0cHM6Ly9oZXhvLmlvL2RvY3MvZ2VuZXJhdGluZy5odG1s">Generating</span></p>
<h3 id="deploy-to-remote-sites"><a class="anchor" href="#deploy-to-remote-sites">#</a> Deploy to remote sites</h3>
<figure class="highlight bash"><figcaption data-lang="bash"><span>h</span></figcaption><table><tr><td data-num="1"></td><td><pre>$ hexo deploy</pre></td></tr></table></figure><p>More info: <span class="exturl" data-url="aHR0cHM6Ly9oZXhvLmlvL2RvY3Mvb25lLWNvbW1hbmQtZGVwbG95bWVudC5odG1s">Deployment</span></p>
1970-01-01T00:00:00.000Z