{ "version": "https://jsonfeed.org/version/1", "title": "Hito的公告栏", "subtitle": "天下事有难易乎?为之,则难者亦易矣", "icon": "https://blog.jingxiyuan.cn/images/favicon.ico", "description": "hito的博客", "home_page_url": "https://blog.jingxiyuan.cn", "items": [ { "id": "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/", "url": "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/", "title": "记一次netty-socketio服务端连接不上的问题", "date_published": "2022-09-21T01:46:00.000Z", "content_html": "
今天前端开发跟我反馈用 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,结果就奇迹般的好了。
\n", "tags": [ "经验分享", "心得体会", "netty", "socketIO", "踩坑" ] }, { "id": "https://blog.jingxiyuan.cn/2022/09/17/Hexo-Theme-Shoka-algolia%E6%90%9C%E7%B4%A2%E8%B8%A9%E5%9D%91-1/", "url": "https://blog.jingxiyuan.cn/2022/09/17/Hexo-Theme-Shoka-algolia%E6%90%9C%E7%B4%A2%E8%B8%A9%E5%9D%91-1/", "title": "Hexo + Theme.Shoka + algolia搜索踩坑", "date_published": "2022-09-17T15:12:00.000Z", "content_html": "algolia 不支持国内邮箱注册,而 google 和 github 由于国内被墙也没法使用。所以只能先注册 netlify 然后通过 netlify 注册 algolia。
\n登录 algolia 后创建一个 index,名字随意记住既可。
\n点击右上角红点,弹出窗口点 settings 按钮。
\n点击 API KEYS,获取 appId 和 adminApiKey 填入 hexo 的_config.yml 中 apiKey 暂时不填。
\nalgolia: | |
appId: #Your appId | |
apiKey: #Your apiKey | |
adminApiKey: #Your adminApiKey | |
chunkSize: 5000 | |
indexName: blog #\"shoka\" | |
fields: | |
- title #必须配置 | |
- path #必须配置 | |
- categories #推荐配置 | |
- content:strip:truncate,0,2000 | |
- gallery | |
- photos | |
- tags |
点击 All Api Keys - New Api key 创建一个 api key,Indices 选先前让记住的 index,ACL 选下面图片中的选项。
\n把第 5 步中新建的 api key 填入到第 4 步中的配置中,到此已经完成了百分之九十,只需要重新编译发布即可。不过编译步骤多了一步,在 hexo g 后需要再执行 hexo algolia,至此搜索功能就大功告成了。
\n需要先安装好 mysql 数据库
\n选择版本,1.5 版支持中文,之后被维护的团队删除只支持英文
\n本文介绍使用的是 linuxserver_chevereto 的镜像
\n需要预先创建好给 chevereto 使用的库、账户、密码
\n映射路径(不要放在高速盘,否则会有权限问题)
\n
端口
\n
环境(puid 和 pgid 使用 1000,不要使用 0,否则会报错)
\n
使用 http:// 极空间 ip:81 (端口号使用上面配置的,我配置的是 81) 进行 web 访问(数据库配置)
\n
管理员配置(注意 website 配置选择个人,除非需要提供给其它人注册)
\n
\n
默认上传大小是 2M,可通过修改 php.ini 配置提升(路径 /etc/php7/php.ini 查找 upload_max_filesize 进行修改)。之后用管理员登录通过页面 http://xxx/dashboard/settings/image-upload 修改。
\n安装 nodejs
\n安装 git
\n安装 hexo(windows 需进入 git bash)
\nnpm install -g hexo-cli
初始化博客目录
\nhexo init blog
进入博客目录
\ncd blog
初始化 hexo 到博客目录
\nnpm install
下载主题
\ngit clone
https://github.com/amehime/hexo-theme-shoka.git ./themes/shoka
卸载 hexo-renderer-marked 以及别的 markdown 文件渲染器
\nnpm un hexo-renderer-marked --save
安装(md 文件渲染器,压缩 css/js/html)
\nnpm i hexo-renderer-multi-markdown-it --save
安装(给生成的 css 文件们添加浏览器前缀)
\nnpm i hexo-autoprefixer --save
安装(站内搜索功能)
\nnpm i hexo-algoliasearch --save
安装(文章或站点字数及阅读时间统计)
\nnpm i hexo-symbols-count-time --save
安装(生成 Feed 文件)
\nnpm i hexo-feed --save
清除静态文件
\nhexo clean
生成静态文件
\nhexo g
安装 git 推送插件
\nnpm install hexo-deployer-git --save
推送静态文件到 git
\nhexo d
npm install hexo-admin --save
hexo-admin 编辑 url
\n\nsettings 设置用户名、密码、Secret
\n\n把底部生成的配置拷入 hexo 配合文件中 (_config.yml)
\nadmin: | |
username: username | |
password_hash: xxxxxx | |
secret: 'my super secret phrase' #用单引号包裹 | |
deployCommand: 'hexo_publish.sh' #windows 用 hexo_publish.bat,linux 用 hexo_publish.sh |
#!/bin/bash | |
hexo clean | |
hexo g | |
hexo d |
@echo off | |
cd D:\\blog | |
d: | |
@cmd /c \"hexo clean&& hexo g&&hexo d&&echo success\" |
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
\n$ hexo new \"My New Post\" |
More info: Writing
\n$ hexo server |
More info: Server
\n$ hexo generate |
More info: Generating
\n$ hexo deploy |
More info: Deployment
\n", "tags": [] } ] }