{ "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": "

<font size=3> 今天前端开发跟我反馈用 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,结果就奇迹般的好了。</font>

\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": "

# Hexo + Theme.Shoka 安装

\n

安装介绍

\n

# algolia 注册

\n
    \n
  1. \n

    algolia 不支持国内邮箱注册,而 google 和 github 由于国内被墙也没法使用。所以只能先注册 netlify 然后通过 netlify 注册 algolia。

    \n
  2. \n
  3. \n

    登录 algolia 后创建一个 index,名字随意记住既可。

    \n

    \"2022-09-17-23-32-20.png\"

    \n
  4. \n
  5. \n

    点击右上角红点,弹出窗口点 settings 按钮。

    \n

    \"2022-09-17-23-35-04.png\"

    \n
  6. \n
  7. \n

    点击 API KEYS,获取 appId 和 adminApiKey 填入 hexo 的_config.yml 中 apiKey 暂时不填。

    \n
  8. \n
\n
algolia:
  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
    \n
  1. \n

    点击 All Api Keys - New Api key 创建一个 api key,Indices 选先前让记住的 index,ACL 选下面图片中的选项。

    \n

    \"2022-09-17-23-47-50.png\"

    \n
  2. \n
  3. \n

    把第 5 步中新建的 api key 填入到第 4 步中的配置中,到此已经完成了百分之九十,只需要重新编译发布即可。不过编译步骤多了一步,在 hexo g 后需要再执行 hexo algolia,至此搜索功能就大功告成了。

    \n
  4. \n
\n", "tags": [] }, { "id": "https://blog.jingxiyuan.cn/2022/09/16/chevereto%E5%9B%BE%E5%BA%8A%E5%AE%89%E8%A3%85/", "url": "https://blog.jingxiyuan.cn/2022/09/16/chevereto%E5%9B%BE%E5%BA%8A%E5%AE%89%E8%A3%85/", "title": "极空间chevereto图床docker版安装", "date_published": "2022-09-16T00:04:00.000Z", "content_html": "

# 安装准备

\n
    \n
  1. \n

    需要先安装好 mysql 数据库

    \n
  2. \n
  3. \n

    选择版本,1.5 版支持中文,之后被维护的团队删除只支持英文

    \n
  4. \n
  5. \n

    本文介绍使用的是 linuxserver_chevereto 的镜像

    \n
  6. \n
  7. \n

    需要预先创建好给 chevereto 使用的库、账户、密码

    \n
  8. \n
\n

# 容器配置

\n
    \n
  1. \n

    映射路径(不要放在高速盘,否则会有权限问题)
    \n\"6150d69d9a170d96e66ca69420f8c4e8.png\"

    \n
  2. \n
  3. \n

    端口
    \n\"08eafb3b30a7eb9b0c0be26ea7a1502a.png\"

    \n
  4. \n
  5. \n

    环境(puid 和 pgid 使用 1000,不要使用 0,否则会报错)
    \n\"01567ca9f31f87f832276be35cc4554b.png\"

    \n
  6. \n
\n

# 初始化配置

\n
    \n
  1. \n

    使用 http:// 极空间 ip:81 (端口号使用上面配置的,我配置的是 81) 进行 web 访问(数据库配置)
    \n\"0.png\"

    \n
  2. \n
  3. \n

    管理员配置(注意 website 配置选择个人,除非需要提供给其它人注册)
    \n\"1.png\"
    \n\"2.png\"

    \n
  4. \n
  5. \n

    默认上传大小是 2M,可通过修改 php.ini 配置提升(路径 /etc/php7/php.ini 查找 upload_max_filesize 进行修改)。之后用管理员登录通过页面 http://xxx/dashboard/settings/image-upload 修改。

    \n
  6. \n
\n

# 安装完成

\n
    \n
  1. 功能少界面也很简单,只作为图片外部链接使用完全够用。图片链接 url 支持的很全。
    \n\"2022-09-16-14-52-29.png\"
    \n\"2022-09-16-14-54-58.png\"
    \n\"2022-09-16-14-56-13.png\"
  2. \n
\n", "tags": [ "技术分享", "心得体会", "踩坑", "docker", "极空间", "图床", "图片上传" ] }, { "id": "https://blog.jingxiyuan.cn/2022/09/14/Hexo%E5%AE%89%E8%A3%85%E6%91%B8%E7%B4%A2/", "url": "https://blog.jingxiyuan.cn/2022/09/14/Hexo%E5%AE%89%E8%A3%85%E6%91%B8%E7%B4%A2/", "title": "Hexo安装摸索", "date_published": "2022-09-14T04:23:55.000Z", "content_html": "

# hexo 博客安装

\n
    \n
  1. \n

    安装 nodejs

    \n
  2. \n
  3. \n

    安装 git

    \n
  4. \n
  5. \n

    安装 hexo(windows 需进入 git bash)

    \n

    npm install -g hexo-cli

    \n
  6. \n
  7. \n

    初始化博客目录

    \n

    hexo init blog

    \n
  8. \n
  9. \n

    进入博客目录

    \n

    cd blog

    \n
  10. \n
  11. \n

    初始化 hexo 到博客目录

    \n

    npm install

    \n
  12. \n
\n

# shoka 主题安装

\n
    \n
  1. \n

    下载主题

    \n

    git clone https://github.com/amehime/hexo-theme-shoka.git ./themes/shoka

    \n
  2. \n
  3. \n

    卸载 hexo-renderer-marked 以及别的 markdown 文件渲染器

    \n

    npm un hexo-renderer-marked --save

    \n
  4. \n
  5. \n

    安装(md 文件渲染器,压缩 css/js/html)

    \n

    npm i hexo-renderer-multi-markdown-it --save

    \n
  6. \n
  7. \n

    安装(给生成的 css 文件们添加浏览器前缀)

    \n

    npm i hexo-autoprefixer --save

    \n
  8. \n
  9. \n

    安装(站内搜索功能)

    \n

    npm i hexo-algoliasearch --save

    \n
  10. \n
  11. \n

    安装(文章或站点字数及阅读时间统计)

    \n

    npm i hexo-symbols-count-time --save

    \n
  12. \n
  13. \n

    安装(生成 Feed 文件)

    \n

    npm i hexo-feed --save

    \n
  14. \n
\n

# Hexo 部分常用命令

\n\n

# 安装 hexo-admin(编写博客插件)

\n\n
admin:
username: username
password_hash: xxxxxx
secret: 'my super secret phrase' #用单引号包裹
deployCommand: 'hexo_publish.sh' #windows 用 hexo_publish.bat,linux 用 hexo_publish.sh

# hexo_publish.sh

\n
#!/bin/bash
hexo clean
hexo g
hexo d

# hexo_publish.bat

\n
@echo off
cd D:\\blog
d:
@cmd /c \"hexo clean&& hexo g&&hexo d&&echo success\"
", "tags": [ "技术分享", "心得体会", "踩坑", "博客", "Hexo" ] }, { "id": "https://blog.jingxiyuan.cn/1970/01/01/hello-world/", "url": "https://blog.jingxiyuan.cn/1970/01/01/hello-world/", "title": "Hello World", "date_published": "1970-01-01T00:00:00.000Z", "content_html": "

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

# Quick Start

\n

# Create a new post

\n
h
$ hexo new \"My New Post\"

More info: Writing

\n

# Run server

\n
h
$ hexo server

More info: Server

\n

# Generate static files

\n
h
$ hexo generate

More info: Generating

\n

# Deploy to remote sites

\n
h
$ hexo deploy

More info: Deployment

\n", "tags": [] } ] }