diff --git "a/2022/01/04/Linux\345\237\272\346\234\254\345\221\275\344\273\244scp\350\257\246\347\273\206\346\225\231\347\250\213/index.html" "b/2022/01/04/Linux\345\237\272\346\234\254\345\221\275\344\273\244scp\350\257\246\347\273\206\346\225\231\347\250\213/index.html" index 61e558a51..3ec69fc0c 100644 --- "a/2022/01/04/Linux\345\237\272\346\234\254\345\221\275\344\273\244scp\350\257\246\347\273\206\346\225\231\347\250\213/index.html" +++ "b/2022/01/04/Linux\345\237\272\346\234\254\345\221\275\344\273\244scp\350\257\246\347\273\206\346\225\231\347\250\213/index.html" @@ -322,7 +322,7 @@

2、前世今生

-]]> - - 生产力 - - - Windows 11 - - - - Windows_server2012服务器部署Oracle11g:.NET和CPU核心数问题解决方案 - /2021/10/09/Windows_Server2012%E9%83%A8%E7%BD%B2Oracle11g%E6%95%B0%E6%8D%AE%E5%BA%93NET%E7%8E%AF%E5%A2%83%E5%92%8CCPU%E6%A0%B8%E5%BF%83%E6%95%B0%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/ - 前言

主要以 Windows server2012R2 为主进行介绍,解决实际工作中遇到到的一些问题。

-

比如服务器 CPU 核心数过高,导致 Oracle 数据库安装时卡在 2% 的情况。

-

在 Windows 平台,你可以安装 VMware 工具模拟使用 Windows server 达到熟悉的目的。

-

img

- - - - -

说句心里话,我真没想到过我会在Windows服务器上总结这么多。一分耕耘一分收获,但是血赚不亏。

-

正文

第一次接触Windows服务器大约在5年前,那会的活动价我入手了入门级的Windows服务器。第一次安装了Windows server2012,低配版的服务器确实很吃力。

-

想熟悉Windows server服务器最新版,建议使用VMware配合服务器镜像。

-

镜像获取地址,推荐 msdn,我告诉你。良心网站,专业收集原版镜像。

-

关于想体验最新版的Windows11或者Windows server2022服务器,可以访问新地址 https://next.itellyou.cn/

-

一、Oracle数据库安装开在2%

1、问题描述

1.1、服务器CPU核心数过高。在使用 Windows server2012 或者是其它 Windows 服务器,可能也会遇到这类问题。

-

2、解决问题

2.1、解决问题,进入服务器的系统配置,一次找到引导->高级选项,设置处理器的核心数为16,然后重启即可生效

-

2.2、小技巧

-

快捷键win + r,然后输入msconfig命令即可快速进入系统配置。

-

img

-

二、安装.net3.5失败

1、准备工作,提取sxs

1.1、准备服务器镜像,可以通过我上面提到的网址进行获取

-

img

-

1.2、提取sxs

-

使用解压缩软件或者iso模拟软件打开镜像包,然后进入/source/找到sxs复制出来。在安装.net3.5时作为备用源使用,安装Oracle11gR2时需要安装.net3.5。

-

解压缩软件推荐360zip国际版(旧版1.0几的无广告)或者7z(体积小)。

-

img

-

2、再次安装.net3.5

2.1、指定依赖sxs,安装.net3.5

将之前从Windows server中提取的sxs复制到系统盘根目录下,然后在服务器仪表板中添加角色和功能(安装依赖),按照图上的提示指定我们准备好的sxs源路径,最终完美解决服务器上.net3.5无法安装的问题。

-

img

-

2.2、Windows server仪表板

添加角色与功能,选择需要安装的功能时用得上,比如上面安装.net3.5

-

img

-

三、操作小技巧

1、以Oracle服务为例

1.1、进入服务快捷命令,win + r快捷键输入service.msc,如下图所示

-

img

-

1.2、定位Oracle服务,你看到的Oracle服务是双倍的,因为我安装了双实例。实际工作中,并不推荐在单台服务器上部署双实例。不要问我为什么,因为实际中遇到过。内存也耗不起,最终把服务器拖挂掉了,最后通过清理日志解决。

-

img

-

2、配置IP地址与DNS

配置IP地址与DNS与平时使用的win7或者win10是一样的配置方法

-

2.1、进入控制面板找到网络和共享中心

-

win + r 快捷键运行control命令进入控制面板,下图是VMware搭建的测试环境。

-

img

-

2.2、配置IP地址和DNS

-

img

-

3、磁盘管理

最后再介绍一个小技巧,关于磁盘管理。当我们并不熟悉仪表板的操作时,或者旧版的服务器压根就没这玩意,如何处理。这是我们可以采用命令方式,先打开计算机管理。

-

同样使用win + r 快捷键,然后运行compmgmt.msc命令进入计算机管理,最后定位到磁盘管理。

-

img

-

以上均为实际运维工作中使用到的小技巧,方便我们去管理维护服务器。在实际工作中,更多的是经验的累积。在之前的公司遇到这样一种,服务器的硬盘突然就gg思密达了。结果去查看后简直是让我措手不及,服务器版本那叫一个老,一些命令都不适用。心里真想来句mmp,最后还是硬着头皮上解决问题。

-

说实话,当时我在Windows服务器的实施与运维经验还没linux上丰富,现在想来完全是工作让你不得不去适应

-

以上总结,仅供参考哟!如果你有幸看到本篇博文,希望对你的学习和工作有所帮助。

+]]> + + 生产力 + + + Windows 11 + + + + Windows平台StableSwarmUI-0.6.1-Beta文生图 + /2024/04/05/Windows%E5%B9%B3%E5%8F%B0StableSwarmUI-0-6-1-Beta%E6%96%87%E7%94%9F%E5%9B%BE/ + 记录更新版本问题,更新目前最新测试版 StableSwarmUI-0.6.4-Beta。

+

StableSwarmUI-0.6.4-shutdown-server-error.png

+

进入控制台界面,定位错误日志:

+

img

+
20:37:05.205 [Error] [WebAPI] Error handling API request '/API/ListConnectedUsers' for user 'local': Internal exception: System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponsePipeWriter.WriteAsync(ReadOnlyMemory`1 source, CancellationToken cancellationToken)
at StableSwarmUI.Utils.Utilities.YieldJsonOutput(HttpContext context, WebSocket socket, Int32 status, JObject obj) in E:\AI\StableSwarmUI-0.6.2-Beta\src\Utils\Utilities.cs:line 325
at StableSwarmUI.WebAPI.API.HandleAsyncRequest(HttpContext context) in E:\AI\StableSwarmUI-0.6.2-Beta\src\WebAPI\API.cs:line 136

20:37:05.271 [Error] [WebAPI] Error handling API request '/API/GetServerResourceInfo' for user 'local': Internal exception: System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponsePipeWriter.WriteAsync(ReadOnlyMemory`1 source, CancellationToken cancellationToken)
at StableSwarmUI.Utils.Utilities.YieldJsonOutput(HttpContext context, WebSocket socket, Int32 status, JObject obj) in E:\AI\StableSwarmUI-0.6.2-Beta\src\Utils\Utilities.cs:line 325
at StableSwarmUI.WebAPI.API.HandleAsyncRequest(HttpContext context) in E:\AI\StableSwarmUI-0.6.2-Beta\src\WebAPI\API.cs:line 136
+ +

出现问题原因,日志已经提醒了,可能找不到对应 API 所在路径。由于个人更新版本时出现疏忽,未及时执行更新脚本 update-windows.bat。如果你是 Unix 或者 Linux 平台,请尝试执行 update-linuxmac.sh

+

如果做完以上尝试,依旧存在提醒“无法向服务器发送请求,服务器是否崩溃?”。问题不大,不影响正常

+ + +

Windows 平台,解决方案如下。

+

如果出现提醒:“无法向服务器发送请求,服务器是否崩溃”。请尝试执行更新脚本 .\StableSwarmUI-0.6.4-Beta\update-windows.bat,再次执行关闭服务器或者更新和重启服务器。

+

pFbXXh8.md.png

+

如果有你幸访问本教程,可以看到文初使用 sd_xl_base_1.0.safetensors 模型生成的图片样张。参数如下:

+
prompt: a photo of a cat,
images: 2, seed: 1, steps: 20, cfgscale: 7,
variationseed: 1991156077,aspectratio: 1:1,
width: 1024, height: 1024,
initimagecreativity: 0.6, refinercontrolpercentage: 0.2,
refinermethod: PostApply, refinerupscalemethod: pixel-bilinear,
model: OfficialStableDiffusion/sd_xl_base_1.0.safetensors, swarm_version: 0.6.1.0, date: 2024-04-05, generation_time: 2.13 (prep) and 18.11 (gen) seconds
+ +

友情提醒:如果你将 seed 参数(图像种子)值设置为 -1 则会生成随机图像。如果你想强化学习,可以参考官方文档参数设置,这是一个不错的选择。

+

获取 StableSwarmUI:StableSwarmUI ,你需要部署 Python 环境。如果你访问 Python 官网有困难,可以从 Python中文网 获取资源。当然也可以从国内各大开源软件镜像网站获取。如果实在有困难,文末我也会给出自己上传的 Windows 平台 Python 安装包。

+

我个人 Python 环境,仅供参考:

+
PS D:\work> python -V
Python 3.10.6
+ + + + + +

Windows 平台打开 powershell 使用 expand-archive 命令解压 StableSwarmUI-0.6.1-Beta

+
Expand-Archive .\StableSwarmUI-0.6.1-Beta.zip -DestinationPath E:\AI\
+ + + +

进入 StableSwarmUI 根目录:

+
cd E:\AI\StableSwarmUI-0.6.1-Beta\
+ + + +

让我们一起愉快的开启 StableSwarmUI 体验之旅吧,在这之前,再次友情提醒安装好 Python 环境哟。

+

StableSwarmUI 安装与启动

启动 StableSwarmUI 之前我想介绍一下,个人硬件环境(笔电)。不算太新,不算太老,将将能玩(学习):

+ +

上了独立显卡,这种搭配,AMD 强劲的核显显得有点浪费了。

+

大学新生开学季,怎么套路换电脑?新思路,老爸啊,你儿子想学 Ai,需要高配一丢丢的 N 卡作为生产力。千万别说是我教的,问就是生产力需要。

+

有点跑题了,继续 StableSwarmUI 介绍, 目前处于 Beta 版本

+
+

A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility.

+
+

安装与启动,Windows 平台执行 launch-windows.bat 脚本,安装过程可能比较缓慢,也许你需要科学上网。

+

Windows 平台执行 launch-windows.bat 脚本,调用 dotnet 过程。

+
PS E:\AI\StableSwarmUI-0.6.1-Beta> .\launch-windows.bat
error: 指定的源已添加到可用程序包源的列表中。请提供唯一的源。

Usage: dotnet nuget add source [arguments] [options]

Arguments:
PackageSourcePath 包源的路径。

Options:
-n|--name 源的名称。
-u|--username 连接到已验证源时要使用的用户名。
-p|--password 连接到已验证源时要使用的密码。
--store-password-in-clear-text 通过禁用密码加密来启用存储可移植包源凭据。
--valid-authentication-types 此源的有效身份验证类型的列表(用逗号分隔)。如果服务器公布 NTLM 或 Negotiate,并且你的凭据必 须使用基本机制发送(例如将 PAT 与本地 Azure DevOps Server 一起使用时),请将此项设置为 basic。其他有效值包括 negotiate、kerberos、ntlm 和 digest,但这些值很可能没有用。
--protocol-version The NuGet server protocol version to be used. Currently supported versions are 2 and 3. See https://learn.microsoft.com/nuget/api/overview for information about the version 3 protocol. Defaults to 2 if not specified.
--configfile NuGet 配置文件。如果指定,将仅使用此文件中的设置。如果未指定,则将使用当前目录中的配置文件 的层次结构。有关详细信息,请参阅 https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior
-h|--help Show help information

适用于 .NET MSBuild 版本 17.9.6+a4ecab324
正在确定要还原的项目…
已还原 E:\AI\StableSwarmUI-0.6.1-Beta\src\StableSwarmUI.csproj (用时 2.75 sec)。
StableSwarmUI -> E:\AI\StableSwarmUI-0.6.1-Beta\src\bin\live_release\StableSwarmUI.dll

已成功生成。
0 个警告
0 个错误

已用时间 00:00:10.68
+ + + +

启动 StableSwarmUI 过程。

+
17:11:09.194 [Init] === StableSwarmUI v0.6.1.0 Starting ===
17:11:09.390 [Init] Prepping extension: StableSwarmUI.Builtin_StabilityAPIExtension.StabilityAPIExtension...
17:11:09.400 [Init] Prepping extension: StableSwarmUI.Builtin_ScorersExtension.ScorersExtension...
17:11:09.400 [Init] Prepping extension: StableSwarmUI.Builtin_ImageBatchToolExtension.ImageBatchToolExtension...
17:11:09.401 [Init] Prepping extension: StableSwarmUI.Builtin_GridGeneratorExtension.GridGeneratorExtension...
17:11:09.402 [Init] Prepping extension: StableSwarmUI.Builtin_DynamicThresholding.DynamicThresholdingExtension...
17:11:09.403 [Init] Prepping extension: StableSwarmUI.Builtin_ComfyUIBackend.ComfyUIBackendExtension...
17:11:09.404 [Init] Prepping extension: StableSwarmUI.Builtin_AutoWebUIExtension.AutoWebUIBackendExtension...
17:11:09.439 [Init] Parsing command line...
17:11:09.441 [Init] Loading settings file...
17:11:09.442 [Init] No settings file found.
17:11:09.443 [Init] Re-saving settings file...
17:11:09.462 [Init] Applying command line settings...
17:11:09.615 [Init] Prepping options...
17:11:09.895 [Init] Loading models list...
17:11:09.906 [Init] Loading backends...
17:11:09.908 [Init] Loading backends from file...
17:11:09.909 [Init] Prepping API...
17:11:09.910 [Init] Backend request handler loop ready...
17:11:09.912 [Init] Prepping webserver...
17:11:10.086 [Init] Scan for web extensions...
17:11:10.164 [Init] Readying extensions for launch...
17:11:10.165 [Init] Launching server...
17:11:10.166 [Init] Starting webserver on http://localhost:7801
17:11:10.213 [Init] Program is running.
17:11:10.715 [Init] Launch web browser to install page...
17:11:13.249 [Info] Creating new admin session 'local' for ::1
17:11:46.067 [Init] [Installer] Installation request received, processing...
17:11:46.069 [Init] [Installer] Setting theme to dark_dreams.
17:11:46.070 [Init] [Installer] Configuring settings as 'just yourself' install.
17:11:46.070 [Init] [Installer] Downloading ComfyUI backend... please wait...
18:13:01.394 [Init] [Installer] Downloaded! Extracting... (look in terminal window for details)

7-Zip (a) 23.01 (x86) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20

Scanning the drive for archives:
1 file, 1446137955 bytes (1380 MiB)

Extracting archive: dlbackend\comfyui_dl.7z
--
Path = dlbackend\comfyui_dl.7z
Type = 7z
Physical Size = 1446137955
Headers Size = 326646
Method = LZMA:25 BCJ2
Solid = +
Blocks = 2

Everything is Ok

Folders: 2689
Files: 28279
Size: 5157388562
Compressed: 1446137955
18:14:49.725 [Init] [Installer] Installing prereqs...
18:15:03.751 [Init] [Installer] Enabling ComfyUI...
18:15:03.757 [Init] [Installer] Downloading model from 'https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors'... please wait...
18:15:03.758 [Init] Initializing backend #0 - ComfyUI Self-Starting...
Cloning into 'sd-dynamic-thresholding'...
remote: Enumerating objects: 373, done.
remote: Counting objects: 100% (116/116), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 373 (delta 102), reused 102 (delta 93), pack-reused 257Receiving objects: 84% (314/373), 620.00 KiB | 607.00 KRece
Receiving objects: 100% (373/373), 1.00 MiB | 984.00 KiB/s, done.
Resolving deltas: 100% (186/186), done.
18:15:13.209 [Info] Saving backends...
18:15:15.127 [Info] Self-Start ComfyUI (Git Pull) exited properly.
18:15:45.869 [Error] Failed to download 'https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors' (HTTP): HttpRequestException: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 (huggingface.co:443)
18:15:45.913 [Init] [Installer] Model download complete.
18:15:45.942 [Warning] Failed to load metadata for OfficialStableDiffusion/sd_xl_base_1.0.safetensors:
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.Stream.ReadAtLeastCore(Span`1 buffer, Int32 minimumBytes, Boolean throwOnEndOfStream)
at System.IO.Stream.ReadExactly(Byte[] buffer, Int32 offset, Int32 count)
at StableSwarmUI.Text2Image.T2IModel.GetSafetensorsHeaderFrom(String modelPath) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModel.cs:line 70
at StableSwarmUI.Text2Image.T2IModelHandler.LoadMetadata(T2IModel model) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModelHandler.cs:line 367
at StableSwarmUI.Text2Image.T2IModelHandler.<>c__DisplayClass22_0.<AddAllFromFolder>b__1(String file) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModelHandler.cs:line 509
18:15:45.951 [Info] ComfyUI backend 0 shutting down...
18:15:45.952 [Init] [Installer] Installed!
18:15:48.159 [Info] Creating new admin session 'local' for ::1
18:16:50.589 [Info] Self-Start ComfyUI (Install rembg) exited properly.
18:16:52.376 [Info] Self-Start ComfyUI (Install opencv-python-headless) exited properly.
18:17:08.055 [Info] Self-Start ComfyUI (Install imageio-ffmpeg) exited properly.
18:17:08.068 [Init] Self-Start ComfyUI-0 on port 7821 is loading...
18:18:22.518 [Init] Self-Start ComfyUI-0 on port 7821 started.
18:18:22.521 [Init] Initializing backend #0 - ComfyUI Self-Starting...
18:18:26.190 [Warning] Failed to load metadata for OfficialStableDiffusion/sd_xl_base_1.0.safetensors:
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.Stream.ReadAtLeastCore(Span`1 buffer, Int32 minimumBytes, Boolean throwOnEndOfStream)
at System.IO.Stream.ReadExactly(Byte[] buffer, Int32 offset, Int32 count)
at StableSwarmUI.Text2Image.T2IModel.GetSafetensorsHeaderFrom(String modelPath) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModel.cs:line 70
at StableSwarmUI.Text2Image.T2IModelHandler.LoadMetadata(T2IModel model) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModelHandler.cs:line 367
at StableSwarmUI.Text2Image.T2IModelHandler.<>c__DisplayClass22_0.<AddAllFromFolder>b__1(String file) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModelHandler.cs:line 509
18:18:33.285 [Info] Self-Start ComfyUI (Git Pull) exited properly.
fatal: unable to access 'https://github.com/mcmonkeyprojects/sd-dynamic-thresholding/': Failure when receiving data from the peer
18:18:33.320 [Init] Self-Start ComfyUI-0 on port 7822 is loading...
18:18:41.465 [Init] Self-Start ComfyUI-0 on port 7822 started.
18:19:01.743 [Info] Shutting down...
18:19:01.814 [Info] Backend request handler loop closing...
18:19:01.815 [Info] ComfyUI backend 0 shutting down...
18:19:01.815 [Info] Shutting down self-start ComfyUI (port=7822) process #43240...
18:19:01.866 [Info] Self-Start ComfyUI-0 on port 7822 exited properly from disabling.
18:19:01.928 [Info] Backend handler shutdown complete without saving.
18:19:01.929 [Info] Will shut down session handler...
18:19:01.929 [Info] Will save user data.
18:19:01.932 [Info] Session handler is shut down.
18:19:01.936 [Info] All core shutdowns complete.
18:19:02.960 [Info] Self-Start ComfyUI-0 on port 7821 exited properly from disabling.
+ + + +

初次安装,从官方渠道获取比较缓慢,优先访问 https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors,看到报错或者警告信息是正常状态。在国内无法访问进去,可以前往第三方网站或者社区,比如魔搭社区获取他人上传的模型数据。

+

sd_xl_base_1.0 模型获取

魔搭社区,获取 sd_xl_base_1.0.safetensors

+

如果你使用 git 获取,默认你已经部署并配置好 Git 环境,可以直接获取完整模型训练仓库 git clone https://www.modelscope.cn/AI-ModelScope/stable-diffusion-xl-base-1.0.git。当然,你也可以点击文件 sd_xl_base_1.0.safetensors 直接下载。如果急需体验,个人推荐直接下载模型文件。完整模型仓库所占空间较大,存在版本库迭代,每个作者提交同步的内容有所不同。

+

如果本地没有模型数据,需要获取别人培养的模型数据,复制到 StableSwarmUI 指定的 \StableSwarmUI-0.6.1-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 目录。

+

传入模型数据后,进入 web UI 界面点击模型,刷新即可看到模型。个人建议,最好还是在服务器功能模块选择服务器信息功能,点击关闭服务(Shutdown Server),然后再次执行 launch-windows.bat 启动 web 应用程序。

+

本地启动完成后,会自动跳转到默认设置浏览器,访问 http://localhost:7801

+

首页展示画面,初体验同时使用到了两种模型:

+
    +
  1. sd_xl_base_1.0.safetensors
  2. +
  3. chilloutmix_NiPrunedFp32Fix.safetensors
  4. +
+

使用 sd_xl_base_1.0.safetensors 模型生成一张猫咪图像(大图在文初):

+

pFqixIJ.png

+

使用 chilloutmix_NiPrunedFp32Fix.safetensors 模型生成一张猫咪图像:

+

pFbqDld.png

+

Windows 平台 Python 安装包(2.7.17、3.9.4、3.10.6、3.11.5):

+

链接: https://pan.baidu.com/s/1uN8ceOnPVT3GASYMQSXUvw?pwd=8888

+

提取码: 8888

+

最后,以上总结仅供参考哟,希望对你的学习和工作有所帮助。

+

参考资料

+ +

—END—

+]]>
+ + AI + + + StableSwarmUI + +
+ + Windows平台体验StableSwarmUI-0.6.4-Beta经验版 + /2024/08/25/Windows%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8CStableSwarmUI-0-6-4-Beta%E7%BB%8F%E9%AA%8C%E7%89%88/ + img

+

由于网络原因,国内获取 ComfyUI 以及 SD_Xl_base_1.0 模型可能非常缓慢。

+

想要丝滑获取,需要魔法或者科学上网。

+

如果没有条件,也有方法,可以从国内开源镜像站或者大模型社区获取资源。

+

获取并部署 StableSwarmUI:StableSwarmUI ,彼时最新版本为 StableSwarmUI Release 0.6.4-Beta。你需要 Python 环境,如果你访问 Python 官网有困难,可以从 Python中文网 获取资源。当然也可以从国内各大开源软件镜像网站获取。如果实在有困难,文末我也会给出自己上传的 Windows 平台 Python 安装包。

+

我的 Python 环境,仅供参考:

+
PS D:\work> python -V
Python 3.10.6
+ +

关于 zip 压缩文件,如果你没有安装图形解压工具 7-Zip ,也没有安装 360zip 国际版,可以尝试借助 Windows11 自带的 expand-archive 命令解压工具。

+

Windows 平台打开 powershell 使用 expand-archive 命令解压 StableSwarmUI-0.6.4-Beta

+
Expand-Archive .\StableSwarmUI-0.6.4-Beta.zip -DestinationPath E:\AI\
+ +

进入 StableSwarmUI 根目录:

+
cd E:\AI\StableSwarmUI-0.6.4-Beta\
+ +

让我们一起愉快的开启 StableSwarmUI 体验之旅吧,在这之前,再次友情提醒安装好 Python 环境哟。

+ + + + +

StableSwarmUI install 经验版

引导安装默认选择 comfyUI (local)立刻安装到本地 。

+

对于有经验的用户,此处可以选择跳过安装 ComfyUI 步骤,后期手动导入

+

勾选选项:None/Custom/Choose Later

+

img

+

img

+

由于网络原因,国内获取 ComfyUI 以及 SD_Xl_base_1.0 模型可能非常缓慢。

+

想要丝滑获取,需要魔法或者科学上网。

+

如果没有条件,也有方法,可以从国内开源镜像站或者大模型社区获取资源。

+

以上方法尝试完后,做如下调整。

+
    +
  1. 必备环境:PythonGitdotnet
  2. +
  3. 获取 StableSwarmUI
  4. +
  5. 运行 .\launch-windows.bat 脚本进入引导安装(注:一共 7 步)。
  6. +
  7. 跳过安装 ComfyUI 步骤,可以后期手动导入。
  8. +
  9. 跳过安装模型步骤,可以后期手动导入。
  10. +
  11. 配置后端 ComfyUI(划重点),cd .\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackendmkdir comfycd comfy,引入 ComfyUI
  12. +
  13. 导入模型划重点)。
  14. +
  15. 下载并导入模型,手动放入 .\StableSwarmUI-0.6.4-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 路径下。
  16. +
  17. 测试访问是否正常,http://localhost:7801http://localhost:7821
  18. +
+

正常配置完成,导入 SDXL 模型。图像配置为 1,种子配置为 1。

+

设置题词“a photo of a cat”,点击生成。

+

img

+

访问 http://localhost:7821,实际上是访问导航栏功能**舒适工作流程,**如下图:

+

img

+

值得注意的是,新版本 comfyUI 设置界面有大变化,比较友好:

+

img

+

StableSwarmUI 配置后端

img

+

着重介绍配置后端 ComfyUI。

+

可以使用解压缩工具,也可以使用命令形式解压 ComfyUI_windows_portable_nvidia.7z。值得注意的是,Windows11 原生不支持直接使用命令解压缩 7z 文件,需要额外下载 7-Zip 并配置环境变量以及别名,如何配置,这里不做赘述。有些命令我使用了别名,可以参考 Windows 中的兼容性别名 使用别名 - PowerShell 说明,比如 cpcopyCopy-Item

+

第一步,获取 ComfyUI,截至 2024-8-26 最新版为 ComfyUI-0.1.3,引入ComfyUI

+
cd .\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackend
mkdir comfy
cd comfy
cp -Path ".\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\*" -Destination ".\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackend\comfy" -Recurse
+ +

可以使用 7-Zip 解压 ComfyUI_windows_portable_nvidia.7z。

+

切换到 cd .\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable 目录,复制当前目录所有文件 Ctrl + aCtrl + c ,粘贴 Ctrl + v.\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackend\comfy 目录下。

+

第二步,定位到页面顶部导航栏服务器模块,点击后端

+

img

+

新增配置后端 running backend: (0): ComfyUI Self-Starting

+

参考提示信息,填写启动脚本:

+
dlbackend/comfy/ComfyUI/main.py
+ +

填写额外参数(可以不加,非必传),示例加入参数,会额外在独立窗口访问 ComfyUI:

+
--windows-standalone-build
+ +

配置完成,状态处于 enable backed,点击 save(保存),Restart(重启当前后端服务)。

+

再次启动 .\launch-windows.bat,第一次安装(install)ComfyUI 需要一些时间加载,这是正常现象。

+

导入模型文件。

+

如果本地没有模型数据,需要获取别人培养的模型数据或者基本模型,复制到 StableSwarmUI 指定的 \StableSwarmUI-0.6.4-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 目录。

+

Windows powershell 命令形式复制模型到指定目录:

+
cp -Path ".\sd_xl_base_1.0.safetensors"  -Destination 
".\StableSwarmUI-0.6.4-Beta\StableSwarmUI\Models\Stable-Diffusion\OfficialStableDiffusion" -Recurse
+ +

导入模型成功,在首页底部导航栏选择“模型”,可以查询到 SDXL。

+

img

+

StableSwarmUI 快捷安装脚本

友情提醒:Windows 平台还可以使用快捷安装脚本。实际上是将多个必备工具安装步骤融合到一个脚本里面。

+
.\install-windows.bat
+ +

脚本 .\install-windows.bat 会执行哪些步骤?值得注意的有三个步骤,获取 DotNet.SDK.8Git 以及 StableSwarmUI

+

获取并安装最新的 DotNet.SDK.8:

+
winget install Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements
+ +

如果本地已经安装过 DotNet.SDK.8 工具,你可以尝试跳过(屏蔽掉)脚本中的 DotNet.SDK.8 安装步骤。

+

获取并安装 Git:

+
winget install --id Git.Git -e --source winget --accept-source-agreements --accept-package-agreements
+ +

如果有一定的开发经验,本地已经安装过 Git 工具,你可以尝试跳过(屏蔽掉)脚本中的 Git 安装步骤。

+

获取 StableSwarmUI:

+
git clone https://github.com/Stability-AI/StableSwarmUI
+ +

脚本 .\install-windows.bat 原始内容:

+
@echo off

cd /d "%~dp0"

if exist StableSwarmUI (
echo StableSwarmUI is already installed in this folder. If this is incorrect, delete the 'StableSwarmUI' folder and try again.
pause
exit
)

if exist StableSwarmUI.sln (
echo StableSwarmUI is already installed in this folder. If this is incorrect, delete 'StableSwarmUI.sln' and try again.
pause
exit
)

winget install Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements
winget install --id Git.Git -e --source winget --accept-source-agreements --accept-package-agreements

git clone https://github.com/Stability-AI/StableSwarmUI
cd StableSwarmUI

call .\make-shortcut.bat
call .\launch-windows.bat --launch_mode webinstall

IF %ERRORLEVEL% NEQ 0 ( pause )
+ + + +

StableSwarmUI 安装与启动

启动 StableSwarmUI 之前我想介绍一下,个人硬件环境(笔电)。不算太新,不算太老,将将能玩(学习):

+ +

上了独立显卡,这种搭配,AMD 强劲的核显显得有点浪费了。

+

大学新生开学季,怎么套路换电脑?新思路,老爸啊,你儿子想学 Ai,需要高配一丢丢的 N 卡作为生产力。千万别说是我教的,问就是生产力需要。

+

有点跑题了,继续 StableSwarmUI 介绍, 目前处于 Beta 版本

+
+

A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility.

+
+

安装与启动,Windows 平台执行 launch-windows.bat 脚本,安装过程可能比较缓慢,也许你需要科学上网。

+

Windows 平台执行 launch-windows.bat 脚本,调用 dotnet 过程。

+
PS E:\AI\StableSwarmUI-0.6.4-Beta> .\launch-windows.bat
error: 指定的源已添加到可用程序包源的列表中。请提供唯一的源。

Usage: dotnet nuget add source [arguments] [options]

Arguments:
PackageSourcePath 包源的路径。

Options:
-n|--name 源的名称。
-u|--username 连接到已验证源时要使用的用户名。
-p|--password 连接到已验证源时要使用的密码。
--store-password-in-clear-text 通过禁用密码加密来启用存储可移植包源凭据。
--valid-authentication-types 此源的有效身份验证类型的列表(用逗号分隔)。如果服务器公布 NTLM 或 Negotiate,并且你的凭据必 须使用基本机制发送(例如将 PAT 与本地 Azure DevOps Server 一起使用时),请将此项设置为 basic。其他有效值包括 negotiate、kerberos、ntlm 和 digest,但这些值很可能没有用。
--protocol-version The NuGet server protocol version to be used. Currently supported versions are 2 and 3. See https://learn.microsoft.com/nuget/api/overview for information about the version 3 protocol. Defaults to 2 if not specified.
--configfile NuGet 配置文件。如果指定,将仅使用此文件中的设置。如果未指定,则将使用当前目录中的配置文件 的层次结构。有关详细信息,请参阅 https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior。
-h|--help Show help information

适用于 .NET MSBuild 版本 17.9.6+a4ecab324
正在确定要还原的项目…
已还原 E:\AI\StableSwarmUI-0.6.4-Beta\src\StableSwarmUI.csproj (用时 2.75 sec)。
StableSwarmUI -> E:\AI\StableSwarmUI-0.6.4-Beta\src\bin\live_release\StableSwarmUI.dll

已成功生成。
0 个警告
0 个错误

已用时间 00:00:10.68
+ +

初次安装,从官方渠道获取模型比较缓慢,优先访问 https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors,看到报错或者警告信息是正常状态。在国内无法访问进去,可以前往第三方网站或者社区,比如魔搭社区获取他人上传的模型数据。如果你获取 ComfyUI 缓慢,这是正常现象,优先访问 https://github.com/comfyanonymous/ComfyUI,建议使用 BT 工具或者从国内大模型社区获取。

+

sd_xl_base_1.0 模型获取

魔搭社区,获取 sd_xl_base_1.0.safetensors

+

如果你使用 git 获取,默认你已经部署并配置好 Git 环境,可以直接获取完整模型训练仓库 git clone https://www.modelscope.cn/AI-ModelScope/stable-diffusion-xl-base-1.0.git。当然,你也可以点击文件 sd_xl_base_1.0.safetensors 直接下载。

+

如果急需体验,个人推荐直接下载模型文件。完整模型仓库所占空间较大,存在版本库迭代,每个作者提交同步的内容有所不同。

+

如果本地没有模型数据,需要获取别人培养的模型数据,复制到 StableSwarmUI 指定的 \StableSwarmUI-0.6.4-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 目录。

+

Windows powershell 命令形式复制模型到指定目录:

+
cp -Path ".\sd_xl_base_1.0.safetensors"  -Destination 
".\StableSwarmUI-0.6.4-Beta\StableSwarmUI\Models\Stable-Diffusion\OfficialStableDiffusion" -Recurse
+ +

传入模型数据后,进入 web UI 界面点击模型,刷新即可看到模型。个人建议,最好还是在服务器功能模块选择服务器信息功能,点击关闭服务(Shutdown Server),然后再次执行 launch-windows.bat 启动 web 应用程序。

+

本地启动完成后,会自动跳转到默认设置浏览器,访问 http://localhost:7801

+

首页展示画面,初体验使用了 sd_xl_base_1.0.safetensors 模型。

+

使用 sd_xl_base_1.0.safetensors 模型生成一张猫咪图像:

+

img

+

ComfyUI windows 便携版,ComfyUI_0.1.2_windows_portable_nvidia:

+

链接: https://pan.baidu.com/s/1ayKNBDogKBQOnphyLZtaBg?pwd=9999

+

提取码: 9999

+

Windows 平台 Python 安装包(Python 2.7.17、Python 3.9.4、Python 3.10.6、Python 3.11.5):

+

链接: https://pan.baidu.com/s/1uN8ceOnPVT3GASYMQSXUvw?pwd=8888

+

提取码: 8888

+

最后,以上总结仅供参考哟,希望对你的学习,工作和生活有所帮助。

+

参考资料

+

—END—

]]>
- 数据库 + AI - Oracle + StableSwarmUI
@@ -11750,101 +11993,6 @@ JDK - - Windows平台StableSwarmUI-0.6.1-Beta文生图 - /2024/04/05/Windows%E5%B9%B3%E5%8F%B0StableSwarmUI-0-6-1-Beta%E6%96%87%E7%94%9F%E5%9B%BE/ - 记录更新版本问题,更新目前最新测试版 StableSwarmUI-0.6.4-Beta。

-

StableSwarmUI-0.6.4-shutdown-server-error.png

-

进入控制台界面,定位错误日志:

-

img

-
20:37:05.205 [Error] [WebAPI] Error handling API request '/API/ListConnectedUsers' for user 'local': Internal exception: System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponsePipeWriter.WriteAsync(ReadOnlyMemory`1 source, CancellationToken cancellationToken)
at StableSwarmUI.Utils.Utilities.YieldJsonOutput(HttpContext context, WebSocket socket, Int32 status, JObject obj) in E:\AI\StableSwarmUI-0.6.2-Beta\src\Utils\Utilities.cs:line 325
at StableSwarmUI.WebAPI.API.HandleAsyncRequest(HttpContext context) in E:\AI\StableSwarmUI-0.6.2-Beta\src\WebAPI\API.cs:line 136

20:37:05.271 [Error] [WebAPI] Error handling API request '/API/GetServerResourceInfo' for user 'local': Internal exception: System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponsePipeWriter.WriteAsync(ReadOnlyMemory`1 source, CancellationToken cancellationToken)
at StableSwarmUI.Utils.Utilities.YieldJsonOutput(HttpContext context, WebSocket socket, Int32 status, JObject obj) in E:\AI\StableSwarmUI-0.6.2-Beta\src\Utils\Utilities.cs:line 325
at StableSwarmUI.WebAPI.API.HandleAsyncRequest(HttpContext context) in E:\AI\StableSwarmUI-0.6.2-Beta\src\WebAPI\API.cs:line 136
- -

出现问题原因,日志已经提醒了,可能找不到对应 API 所在路径。由于个人更新版本时出现疏忽,未及时执行更新脚本 update-windows.bat。如果你是 Unix 或者 Linux 平台,请尝试执行 update-linuxmac.sh

-

如果做完以上尝试,依旧存在提醒“无法向服务器发送请求,服务器是否崩溃?”。问题不大,不影响正常

- - -

Windows 平台,解决方案如下。

-

如果出现提醒:“无法向服务器发送请求,服务器是否崩溃”。请尝试执行更新脚本 .\StableSwarmUI-0.6.4-Beta\update-windows.bat,再次执行关闭服务器或者更新和重启服务器。

-

pFbXXh8.md.png

-

如果有你幸访问本教程,可以看到文初使用 sd_xl_base_1.0.safetensors 模型生成的图片样张。参数如下:

-
prompt: a photo of a cat,
images: 2, seed: 1, steps: 20, cfgscale: 7,
variationseed: 1991156077,aspectratio: 1:1,
width: 1024, height: 1024,
initimagecreativity: 0.6, refinercontrolpercentage: 0.2,
refinermethod: PostApply, refinerupscalemethod: pixel-bilinear,
model: OfficialStableDiffusion/sd_xl_base_1.0.safetensors, swarm_version: 0.6.1.0, date: 2024-04-05, generation_time: 2.13 (prep) and 18.11 (gen) seconds
- -

友情提醒:如果你将 seed 参数(图像种子)值设置为 -1 则会生成随机图像。如果你想强化学习,可以参考官方文档参数设置,这是一个不错的选择。

-

获取 StableSwarmUI:StableSwarmUI ,你需要部署 Python 环境。如果你访问 Python 官网有困难,可以从 Python中文网 获取资源。当然也可以从国内各大开源软件镜像网站获取。如果实在有困难,文末我也会给出自己上传的 Windows 平台 Python 安装包。

-

我个人 Python 环境,仅供参考:

-
PS D:\work> python -V
Python 3.10.6
- - - - - -

Windows 平台打开 powershell 使用 expand-archive 命令解压 StableSwarmUI-0.6.1-Beta

-
Expand-Archive .\StableSwarmUI-0.6.1-Beta.zip -DestinationPath E:\AI\
- - - -

进入 StableSwarmUI 根目录:

-
cd E:\AI\StableSwarmUI-0.6.1-Beta\
- - - -

让我们一起愉快的开启 StableSwarmUI 体验之旅吧,在这之前,再次友情提醒安装好 Python 环境哟。

-

StableSwarmUI 安装与启动

启动 StableSwarmUI 之前我想介绍一下,个人硬件环境(笔电)。不算太新,不算太老,将将能玩(学习):

- -

上了独立显卡,这种搭配,AMD 强劲的核显显得有点浪费了。

-

大学新生开学季,怎么套路换电脑?新思路,老爸啊,你儿子想学 Ai,需要高配一丢丢的 N 卡作为生产力。千万别说是我教的,问就是生产力需要。

-

有点跑题了,继续 StableSwarmUI 介绍, 目前处于 Beta 版本

-
-

A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility.

-
-

安装与启动,Windows 平台执行 launch-windows.bat 脚本,安装过程可能比较缓慢,也许你需要科学上网。

-

Windows 平台执行 launch-windows.bat 脚本,调用 dotnet 过程。

-
PS E:\AI\StableSwarmUI-0.6.1-Beta> .\launch-windows.bat
error: 指定的源已添加到可用程序包源的列表中。请提供唯一的源。

Usage: dotnet nuget add source [arguments] [options]

Arguments:
PackageSourcePath 包源的路径。

Options:
-n|--name 源的名称。
-u|--username 连接到已验证源时要使用的用户名。
-p|--password 连接到已验证源时要使用的密码。
--store-password-in-clear-text 通过禁用密码加密来启用存储可移植包源凭据。
--valid-authentication-types 此源的有效身份验证类型的列表(用逗号分隔)。如果服务器公布 NTLM 或 Negotiate,并且你的凭据必 须使用基本机制发送(例如将 PAT 与本地 Azure DevOps Server 一起使用时),请将此项设置为 basic。其他有效值包括 negotiate、kerberos、ntlm 和 digest,但这些值很可能没有用。
--protocol-version The NuGet server protocol version to be used. Currently supported versions are 2 and 3. See https://learn.microsoft.com/nuget/api/overview for information about the version 3 protocol. Defaults to 2 if not specified.
--configfile NuGet 配置文件。如果指定,将仅使用此文件中的设置。如果未指定,则将使用当前目录中的配置文件 的层次结构。有关详细信息,请参阅 https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior
-h|--help Show help information

适用于 .NET MSBuild 版本 17.9.6+a4ecab324
正在确定要还原的项目…
已还原 E:\AI\StableSwarmUI-0.6.1-Beta\src\StableSwarmUI.csproj (用时 2.75 sec)。
StableSwarmUI -> E:\AI\StableSwarmUI-0.6.1-Beta\src\bin\live_release\StableSwarmUI.dll

已成功生成。
0 个警告
0 个错误

已用时间 00:00:10.68
- - - -

启动 StableSwarmUI 过程。

-
17:11:09.194 [Init] === StableSwarmUI v0.6.1.0 Starting ===
17:11:09.390 [Init] Prepping extension: StableSwarmUI.Builtin_StabilityAPIExtension.StabilityAPIExtension...
17:11:09.400 [Init] Prepping extension: StableSwarmUI.Builtin_ScorersExtension.ScorersExtension...
17:11:09.400 [Init] Prepping extension: StableSwarmUI.Builtin_ImageBatchToolExtension.ImageBatchToolExtension...
17:11:09.401 [Init] Prepping extension: StableSwarmUI.Builtin_GridGeneratorExtension.GridGeneratorExtension...
17:11:09.402 [Init] Prepping extension: StableSwarmUI.Builtin_DynamicThresholding.DynamicThresholdingExtension...
17:11:09.403 [Init] Prepping extension: StableSwarmUI.Builtin_ComfyUIBackend.ComfyUIBackendExtension...
17:11:09.404 [Init] Prepping extension: StableSwarmUI.Builtin_AutoWebUIExtension.AutoWebUIBackendExtension...
17:11:09.439 [Init] Parsing command line...
17:11:09.441 [Init] Loading settings file...
17:11:09.442 [Init] No settings file found.
17:11:09.443 [Init] Re-saving settings file...
17:11:09.462 [Init] Applying command line settings...
17:11:09.615 [Init] Prepping options...
17:11:09.895 [Init] Loading models list...
17:11:09.906 [Init] Loading backends...
17:11:09.908 [Init] Loading backends from file...
17:11:09.909 [Init] Prepping API...
17:11:09.910 [Init] Backend request handler loop ready...
17:11:09.912 [Init] Prepping webserver...
17:11:10.086 [Init] Scan for web extensions...
17:11:10.164 [Init] Readying extensions for launch...
17:11:10.165 [Init] Launching server...
17:11:10.166 [Init] Starting webserver on http://localhost:7801
17:11:10.213 [Init] Program is running.
17:11:10.715 [Init] Launch web browser to install page...
17:11:13.249 [Info] Creating new admin session 'local' for ::1
17:11:46.067 [Init] [Installer] Installation request received, processing...
17:11:46.069 [Init] [Installer] Setting theme to dark_dreams.
17:11:46.070 [Init] [Installer] Configuring settings as 'just yourself' install.
17:11:46.070 [Init] [Installer] Downloading ComfyUI backend... please wait...
18:13:01.394 [Init] [Installer] Downloaded! Extracting... (look in terminal window for details)

7-Zip (a) 23.01 (x86) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20

Scanning the drive for archives:
1 file, 1446137955 bytes (1380 MiB)

Extracting archive: dlbackend\comfyui_dl.7z
--
Path = dlbackend\comfyui_dl.7z
Type = 7z
Physical Size = 1446137955
Headers Size = 326646
Method = LZMA:25 BCJ2
Solid = +
Blocks = 2

Everything is Ok

Folders: 2689
Files: 28279
Size: 5157388562
Compressed: 1446137955
18:14:49.725 [Init] [Installer] Installing prereqs...
18:15:03.751 [Init] [Installer] Enabling ComfyUI...
18:15:03.757 [Init] [Installer] Downloading model from 'https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors'... please wait...
18:15:03.758 [Init] Initializing backend #0 - ComfyUI Self-Starting...
Cloning into 'sd-dynamic-thresholding'...
remote: Enumerating objects: 373, done.
remote: Counting objects: 100% (116/116), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 373 (delta 102), reused 102 (delta 93), pack-reused 257Receiving objects: 84% (314/373), 620.00 KiB | 607.00 KRece
Receiving objects: 100% (373/373), 1.00 MiB | 984.00 KiB/s, done.
Resolving deltas: 100% (186/186), done.
18:15:13.209 [Info] Saving backends...
18:15:15.127 [Info] Self-Start ComfyUI (Git Pull) exited properly.
18:15:45.869 [Error] Failed to download 'https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors' (HTTP): HttpRequestException: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 (huggingface.co:443)
18:15:45.913 [Init] [Installer] Model download complete.
18:15:45.942 [Warning] Failed to load metadata for OfficialStableDiffusion/sd_xl_base_1.0.safetensors:
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.Stream.ReadAtLeastCore(Span`1 buffer, Int32 minimumBytes, Boolean throwOnEndOfStream)
at System.IO.Stream.ReadExactly(Byte[] buffer, Int32 offset, Int32 count)
at StableSwarmUI.Text2Image.T2IModel.GetSafetensorsHeaderFrom(String modelPath) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModel.cs:line 70
at StableSwarmUI.Text2Image.T2IModelHandler.LoadMetadata(T2IModel model) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModelHandler.cs:line 367
at StableSwarmUI.Text2Image.T2IModelHandler.<>c__DisplayClass22_0.<AddAllFromFolder>b__1(String file) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModelHandler.cs:line 509
18:15:45.951 [Info] ComfyUI backend 0 shutting down...
18:15:45.952 [Init] [Installer] Installed!
18:15:48.159 [Info] Creating new admin session 'local' for ::1
18:16:50.589 [Info] Self-Start ComfyUI (Install rembg) exited properly.
18:16:52.376 [Info] Self-Start ComfyUI (Install opencv-python-headless) exited properly.
18:17:08.055 [Info] Self-Start ComfyUI (Install imageio-ffmpeg) exited properly.
18:17:08.068 [Init] Self-Start ComfyUI-0 on port 7821 is loading...
18:18:22.518 [Init] Self-Start ComfyUI-0 on port 7821 started.
18:18:22.521 [Init] Initializing backend #0 - ComfyUI Self-Starting...
18:18:26.190 [Warning] Failed to load metadata for OfficialStableDiffusion/sd_xl_base_1.0.safetensors:
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.Stream.ReadAtLeastCore(Span`1 buffer, Int32 minimumBytes, Boolean throwOnEndOfStream)
at System.IO.Stream.ReadExactly(Byte[] buffer, Int32 offset, Int32 count)
at StableSwarmUI.Text2Image.T2IModel.GetSafetensorsHeaderFrom(String modelPath) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModel.cs:line 70
at StableSwarmUI.Text2Image.T2IModelHandler.LoadMetadata(T2IModel model) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModelHandler.cs:line 367
at StableSwarmUI.Text2Image.T2IModelHandler.<>c__DisplayClass22_0.<AddAllFromFolder>b__1(String file) in E:\AI\StableSwarmUI-0.6.1-Beta\src\Text2Image\T2IModelHandler.cs:line 509
18:18:33.285 [Info] Self-Start ComfyUI (Git Pull) exited properly.
fatal: unable to access 'https://github.com/mcmonkeyprojects/sd-dynamic-thresholding/': Failure when receiving data from the peer
18:18:33.320 [Init] Self-Start ComfyUI-0 on port 7822 is loading...
18:18:41.465 [Init] Self-Start ComfyUI-0 on port 7822 started.
18:19:01.743 [Info] Shutting down...
18:19:01.814 [Info] Backend request handler loop closing...
18:19:01.815 [Info] ComfyUI backend 0 shutting down...
18:19:01.815 [Info] Shutting down self-start ComfyUI (port=7822) process #43240...
18:19:01.866 [Info] Self-Start ComfyUI-0 on port 7822 exited properly from disabling.
18:19:01.928 [Info] Backend handler shutdown complete without saving.
18:19:01.929 [Info] Will shut down session handler...
18:19:01.929 [Info] Will save user data.
18:19:01.932 [Info] Session handler is shut down.
18:19:01.936 [Info] All core shutdowns complete.
18:19:02.960 [Info] Self-Start ComfyUI-0 on port 7821 exited properly from disabling.
- - - -

初次安装,从官方渠道获取比较缓慢,优先访问 https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors,看到报错或者警告信息是正常状态。在国内无法访问进去,可以前往第三方网站或者社区,比如魔搭社区获取他人上传的模型数据。

-

sd_xl_base_1.0 模型获取

魔搭社区,获取 sd_xl_base_1.0.safetensors

-

如果你使用 git 获取,默认你已经部署并配置好 Git 环境,可以直接获取完整模型训练仓库 git clone https://www.modelscope.cn/AI-ModelScope/stable-diffusion-xl-base-1.0.git。当然,你也可以点击文件 sd_xl_base_1.0.safetensors 直接下载。如果急需体验,个人推荐直接下载模型文件。完整模型仓库所占空间较大,存在版本库迭代,每个作者提交同步的内容有所不同。

-

如果本地没有模型数据,需要获取别人培养的模型数据,复制到 StableSwarmUI 指定的 \StableSwarmUI-0.6.1-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 目录。

-

传入模型数据后,进入 web UI 界面点击模型,刷新即可看到模型。个人建议,最好还是在服务器功能模块选择服务器信息功能,点击关闭服务(Shutdown Server),然后再次执行 launch-windows.bat 启动 web 应用程序。

-

本地启动完成后,会自动跳转到默认设置浏览器,访问 http://localhost:7801

-

首页展示画面,初体验同时使用到了两种模型:

-
    -
  1. sd_xl_base_1.0.safetensors
  2. -
  3. chilloutmix_NiPrunedFp32Fix.safetensors
  4. -
-

使用 sd_xl_base_1.0.safetensors 模型生成一张猫咪图像(大图在文初):

-

pFqixIJ.png

-

使用 chilloutmix_NiPrunedFp32Fix.safetensors 模型生成一张猫咪图像:

-

pFbqDld.png

-

Windows 平台 Python 安装包(2.7.17、3.9.4、3.10.6、3.11.5):

-

链接: https://pan.baidu.com/s/1uN8ceOnPVT3GASYMQSXUvw?pwd=8888

-

提取码: 8888

-

最后,以上总结仅供参考哟,希望对你的学习和工作有所帮助。

-

参考资料

- -

—END—

-]]>
- - AI - - - StableSwarmUI - -
Windows平台安装docker指定安装路径 /2024/03/13/Windows%E5%B9%B3%E5%8F%B0%E5%AE%89%E8%A3%85docker%E6%8C%87%E5%AE%9A%E5%AE%89%E8%A3%85%E8%B7%AF%E5%BE%84/ @@ -11865,188 +12013,40 @@ -

PowerShell 7.2.5 安装 Docker 信息日志:

-
PS E:\Downloads\Dev-tools\podman-docker> Start-Process '.\Docker Desktop Installer.exe' 'install --installation-dir=D:\software\Docker'
PS E:\Downloads\Dev-tools\podman-docker> -------------------------------------------------------------------------------->8
Version: 4.27.2 (137060)
Sha1:
Started on: 2024-03-13 02:37:03.038
Resources: E:\Downloads\Dev-tools\podman-docker\resources
OS: Windows 10 Home China
Edition: CoreCountrySpecific
Id: 2009
Build: 22631
BuildLabName: 22621.1.amd64fre.ni_release.220506-1250
File: C:\ProgramData\DockerDesktop\install-log-admin.txt
CommandLine: "E:\Downloads\Dev-tools\podman-docker\Docker Desktop Installer.exe" install --installation-dir=D:\software\Docker
You can send feedback, including this log file, at https://github.com/docker/for-win/issues
[2024-03-13T02:37:03.207865500Z][ManifestAndExistingInstallationLoader][I] Install path is D:\software\Docker. Loading manifest first
[2024-03-13T02:37:03.214865600Z][ManifestAndExistingInstallationLoader][I] No manifest found, returning no existing install
[2024-03-13T02:37:03.214865600Z][Installer][I] No installation found
[2024-03-13T02:37:03.437269300Z][InstallWorkflow][I] Cancel pending background download
[2024-03-13T02:37:03.440268600Z][BackgroundTransfer][I] Cancel current background transfer job
[2024-03-13T02:37:07.684391600Z][InstallWorkflow][I] Using package: res:DockerDesktop
[2024-03-13T02:37:07.685763700Z][InstallWorkflow][I] Downloading
[2024-03-13T02:37:08.963591300Z][InstallWorkflow][I] Extracting manifest
[2024-03-13T02:37:09.632584000Z][InstallWorkflow][I] Manifest found: version=137060, displayVersion=4.27.2, channelUrl=https://desktop-stage.docker.com/win/main/amd64/appcast.xml
[2024-03-13T02:37:09.632584000Z][InstallWorkflow][I] Checking prerequisites
[2024-03-13T02:37:09.946644600Z][InstallWorkflow][I] Prompting for optional features
[2024-03-13T02:37:36.239911500Z][InstallWorkflow][I] Selected backend mode: wsl-2
[2024-03-13T02:37:36.241400800Z][InstallWorkflow][I] Unpacking artifacts
[2024-03-13T02:39:26.623864500Z][InstallWorkflow][I] Deploying component Docker.Installer.CreateGroupAction
[2024-03-13T02:39:40.326128200Z][InstallWorkflow][I] Deploying component Docker.Installer.AddToGroupAction
[2024-03-13T02:39:49.434171400Z][InstallWorkflow][I] Deploying component Docker.Installer.EnableFeaturesAction
[2024-03-13T02:39:49.451171500Z][InstallWorkflow-EnableFeaturesAction][I] Required features: VirtualMachinePlatform, Microsoft-Windows-Subsystem-Linux
[2024-03-13T02:39:50.034773100Z][InstallWorkflow][I] Deploying component Docker.Installer.ServiceAction
[2024-03-13T02:39:50.036773000Z][InstallWorkflow-ServiceAction][I] Removing service
[2024-03-13T02:39:50.038772900Z][InstallWorkflow-ServiceAction][I] Creating service
[2024-03-13T02:39:50.041394600Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction
[2024-03-13T02:39:50.060434100Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\ProgramData\Microsoft\Windows\Start Menu\Docker Desktop.lnk/Docker Desktop
[2024-03-13T02:39:50.067435200Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction
[2024-03-13T02:39:50.069434700Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\Users\kart\Desktop\Docker Desktop.lnk/Docker Desktop
[2024-03-13T02:39:50.071434500Z][InstallWorkflow][I] Deploying component Docker.Installer.AutoStartAction
[2024-03-13T02:39:50.072434700Z][InstallWorkflow][I] Deploying component Docker.Installer.PathAction
[2024-03-13T02:39:50.376848700Z][InstallWorkflow][I] Deploying component Docker.Installer.ExecAction
[2024-03-13T02:39:50.381848800Z][InstallWorkflow-ExecAction][I] Running: D:\software\Docker\InstallerCli.exe -i with timeout=-1
[2024-03-13T02:39:53.011361600Z][InstallWorkflow][I] Registering product
[2024-03-13T02:39:53.024361600Z][InstallWorkflow][I] Deleting C:\ProgramData\DockerDesktop\install-settings.json
[2024-03-13T02:39:53.027361700Z][InstallWorkflow][I] Installation succeeded
- -

当你看到 Installation succeeded,表示已经安装完成。

-

CMD 命令安装 docker

没有指定安装路径,默认安装路径为C:\Program Files\Docker\Docker

-
start /w "" "Docker Desktop Installer.exe" install
- -

指定安装路径,示例使用参数--installation-dir=<path>

-
start /w "" "Docker Desktop Installer.exe"  install --installation-dir=<path>
- -

<path> 替换成所需要安装的路径,比如D:\software\Docker

-

演示我的安装路径,指定--installation-dir=D:\software\Docker执行安装命令时,请切换到你下载docker所在路径执行命令

-
e:\Downloads\Dev-tools\podman-docker>start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\software\Docker
- -

CMD 命令安装 Docker 信息日志:

-
e:\Downloads\Dev-tools\podman-docker>start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\software\Docker
-------------------------------------------------------------------------------->8
Version: 4.27.2 (137060)
Sha1:
Started on: 2024-03-13 03:54:47.600
Resources: e:\Downloads\Dev-tools\podman-docker\resources
OS: Windows 10 Home China
Edition: CoreCountrySpecific
Id: 2009
Build: 22631
BuildLabName: 22621.1.amd64fre.ni_release.220506-1250
File: C:\ProgramData\DockerDesktop\install-log-admin.txt
CommandLine: "Docker Desktop Installer.exe" install --installation-dir=D:\software\Docker
You can send feedback, including this log file, at https://github.com/docker/for-win/issues
[2024-03-13T03:54:47.772593000Z][ManifestAndExistingInstallationLoader][I] Install path is D:\software\Docker. Loading manifest first
[2024-03-13T03:54:47.781274400Z][ManifestAndExistingInstallationLoader][I] No manifest found, returning no existing install
[2024-03-13T03:54:47.781274400Z][Installer][I] No installation found
[2024-03-13T03:54:48.006629000Z][InstallWorkflow][I] Cancel pending background download
[2024-03-13T03:54:48.010068800Z][BackgroundTransfer][I] Cancel current background transfer job
[2024-03-13T03:54:52.222204900Z][InstallWorkflow][I] Using package: res:DockerDesktop
[2024-03-13T03:54:52.224360200Z][InstallWorkflow][I] Downloading
[2024-03-13T03:54:54.079911500Z][InstallWorkflow][I] Extracting manifest
[2024-03-13T03:54:54.982972600Z][InstallWorkflow][I] Manifest found: version=137060, displayVersion=4.27.2, channelUrl=https://desktop-stage.docker.com/win/main/amd64/appcast.xml
[2024-03-13T03:54:54.982972600Z][InstallWorkflow][I] Checking prerequisites
[2024-03-13T03:54:55.301899300Z][InstallWorkflow][I] Prompting for optional features
[2024-03-13T03:55:48.836177200Z][InstallWorkflow][I] Selected backend mode: wsl-2
[2024-03-13T03:55:48.837178000Z][InstallWorkflow][I] Unpacking artifacts
[2024-03-13T03:57:39.572177600Z][InstallWorkflow][I] Deploying component Docker.Installer.CreateGroupAction
[2024-03-13T03:57:53.305866500Z][InstallWorkflow][I] Deploying component Docker.Installer.AddToGroupAction
[2024-03-13T03:58:02.385550200Z][InstallWorkflow][I] Deploying component Docker.Installer.EnableFeaturesAction
[2024-03-13T03:58:02.403595700Z][InstallWorkflow-EnableFeaturesAction][I] Required features: VirtualMachinePlatform, Microsoft-Windows-Subsystem-Linux
[2024-03-13T03:58:02.980044400Z][InstallWorkflow][I] Deploying component Docker.Installer.ServiceAction
[2024-03-13T03:58:02.982350300Z][InstallWorkflow-ServiceAction][I] Removing service
[2024-03-13T03:58:02.984535100Z][InstallWorkflow-ServiceAction][I] Creating service
[2024-03-13T03:58:02.986964900Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction
[2024-03-13T03:58:03.003453900Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\ProgramData\Microsoft\Windows\Start Menu\Docker Desktop.lnk/Docker Desktop
[2024-03-13T03:58:03.108383600Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction
[2024-03-13T03:58:03.110665600Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\Users\kart\Desktop\Docker Desktop.lnk/Docker Desktop
[2024-03-13T03:58:03.112045900Z][InstallWorkflow][I] Deploying component Docker.Installer.AutoStartAction
[2024-03-13T03:58:03.114763000Z][InstallWorkflow][I] Deploying component Docker.Installer.PathAction
[2024-03-13T03:58:03.527912400Z][InstallWorkflow][I] Deploying component Docker.Installer.ExecAction
[2024-03-13T03:58:03.533301600Z][InstallWorkflow-ExecAction][I] Running: D:\software\Docker\InstallerCli.exe -i with timeout=-1
[2024-03-13T03:58:06.207667600Z][InstallWorkflow][I] Registering product
[2024-03-13T03:58:06.220682100Z][InstallWorkflow][I] Deleting C:\ProgramData\DockerDesktop\install-settings.json
[2024-03-13T03:58:06.222835500Z][InstallWorkflow][I] Installation succeeded
- - - - - -

更详细的用法,请参考官方文档 windows-install-docker

-

以上总结仅供参考哟!最后希望对你的学习和工作有所帮助。

-

参考资料:

- -

—END—

-]]> - - 开发运维 - - - docker - -
- - Windows平台体验StableSwarmUI-0.6.4-Beta经验版 - /2024/08/25/Windows%E5%B9%B3%E5%8F%B0%E4%BD%93%E9%AA%8CStableSwarmUI-0-6-4-Beta%E7%BB%8F%E9%AA%8C%E7%89%88/ - img

-

由于网络原因,国内获取 ComfyUI 以及 SD_Xl_base_1.0 模型可能非常缓慢。

-

想要丝滑获取,需要魔法或者科学上网。

-

如果没有条件,也有方法,可以从国内开源镜像站或者大模型社区获取资源。

-

获取并部署 StableSwarmUI:StableSwarmUI ,彼时最新版本为 StableSwarmUI Release 0.6.4-Beta。你需要 Python 环境,如果你访问 Python 官网有困难,可以从 Python中文网 获取资源。当然也可以从国内各大开源软件镜像网站获取。如果实在有困难,文末我也会给出自己上传的 Windows 平台 Python 安装包。

-

我的 Python 环境,仅供参考:

-
PS D:\work> python -V
Python 3.10.6
- -

关于 zip 压缩文件,如果你没有安装图形解压工具 7-Zip ,也没有安装 360zip 国际版,可以尝试借助 Windows11 自带的 expand-archive 命令解压工具。

-

Windows 平台打开 powershell 使用 expand-archive 命令解压 StableSwarmUI-0.6.4-Beta

-
Expand-Archive .\StableSwarmUI-0.6.4-Beta.zip -DestinationPath E:\AI\
- -

进入 StableSwarmUI 根目录:

-
cd E:\AI\StableSwarmUI-0.6.4-Beta\
- -

让我们一起愉快的开启 StableSwarmUI 体验之旅吧,在这之前,再次友情提醒安装好 Python 环境哟。

- - - - -

StableSwarmUI install 经验版

引导安装默认选择 comfyUI (local)立刻安装到本地 。

-

对于有经验的用户,此处可以选择跳过安装 ComfyUI 步骤,后期手动导入

-

勾选选项:None/Custom/Choose Later

-

img

-

img

-

由于网络原因,国内获取 ComfyUI 以及 SD_Xl_base_1.0 模型可能非常缓慢。

-

想要丝滑获取,需要魔法或者科学上网。

-

如果没有条件,也有方法,可以从国内开源镜像站或者大模型社区获取资源。

-

以上方法尝试完后,做如下调整。

-
    -
  1. 必备环境:PythonGitdotnet
  2. -
  3. 获取 StableSwarmUI
  4. -
  5. 运行 .\launch-windows.bat 脚本进入引导安装(注:一共 7 步)。
  6. -
  7. 跳过安装 ComfyUI 步骤,可以后期手动导入。
  8. -
  9. 跳过安装模型步骤,可以后期手动导入。
  10. -
  11. 配置后端 ComfyUI(划重点),cd .\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackendmkdir comfycd comfy,引入 ComfyUI
  12. -
  13. 导入模型划重点)。
  14. -
  15. 下载并导入模型,手动放入 .\StableSwarmUI-0.6.4-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 路径下。
  16. -
  17. 测试访问是否正常,http://localhost:7801http://localhost:7821
  18. -
-

正常配置完成,导入 SDXL 模型。图像配置为 1,种子配置为 1。

-

设置题词“a photo of a cat”,点击生成。

-

img

-

访问 http://localhost:7821,实际上是访问导航栏功能**舒适工作流程,**如下图:

-

img

-

值得注意的是,新版本 comfyUI 设置界面有大变化,比较友好:

-

img

-

StableSwarmUI 配置后端

img

-

着重介绍配置后端 ComfyUI。

-

可以使用解压缩工具,也可以使用命令形式解压 ComfyUI_windows_portable_nvidia.7z。值得注意的是,Windows11 原生不支持直接使用命令解压缩 7z 文件,需要额外下载 7-Zip 并配置环境变量以及别名,如何配置,这里不做赘述。有些命令我使用了别名,可以参考 Windows 中的兼容性别名 使用别名 - PowerShell 说明,比如 cpcopyCopy-Item

-

第一步,获取 ComfyUI,截至 2024-8-26 最新版为 ComfyUI-0.1.3,引入ComfyUI

-
cd .\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackend
mkdir comfy
cd comfy
cp -Path ".\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\*" -Destination ".\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackend\comfy" -Recurse
- -

可以使用 7-Zip 解压 ComfyUI_windows_portable_nvidia.7z。

-

切换到 cd .\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable 目录,复制当前目录所有文件 Ctrl + aCtrl + c ,粘贴 Ctrl + v.\StableSwarmUI-0.6.4-Beta\StableSwarmUI\dlbackend\comfy 目录下。

-

第二步,定位到页面顶部导航栏服务器模块,点击后端

-

img

-

新增配置后端 running backend: (0): ComfyUI Self-Starting

-

参考提示信息,填写启动脚本:

-
dlbackend/comfy/ComfyUI/main.py
- -

填写额外参数(可以不加,非必传),示例加入参数,会额外在独立窗口访问 ComfyUI:

-
--windows-standalone-build
- -

配置完成,状态处于 enable backed,点击 save(保存),Restart(重启当前后端服务)。

-

再次启动 .\launch-windows.bat,第一次安装(install)ComfyUI 需要一些时间加载,这是正常现象。

-

导入模型文件。

-

如果本地没有模型数据,需要获取别人培养的模型数据或者基本模型,复制到 StableSwarmUI 指定的 \StableSwarmUI-0.6.4-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 目录。

-

Windows powershell 命令形式复制模型到指定目录:

-
cp -Path ".\sd_xl_base_1.0.safetensors"  -Destination 
".\StableSwarmUI-0.6.4-Beta\StableSwarmUI\Models\Stable-Diffusion\OfficialStableDiffusion" -Recurse
- -

导入模型成功,在首页底部导航栏选择“模型”,可以查询到 SDXL。

-

img

-

StableSwarmUI 快捷安装脚本

友情提醒:Windows 平台还可以使用快捷安装脚本。实际上是将多个必备工具安装步骤融合到一个脚本里面。

-
.\install-windows.bat
+

PowerShell 7.2.5 安装 Docker 信息日志:

+
PS E:\Downloads\Dev-tools\podman-docker> Start-Process '.\Docker Desktop Installer.exe' 'install --installation-dir=D:\software\Docker'
PS E:\Downloads\Dev-tools\podman-docker> -------------------------------------------------------------------------------->8
Version: 4.27.2 (137060)
Sha1:
Started on: 2024-03-13 02:37:03.038
Resources: E:\Downloads\Dev-tools\podman-docker\resources
OS: Windows 10 Home China
Edition: CoreCountrySpecific
Id: 2009
Build: 22631
BuildLabName: 22621.1.amd64fre.ni_release.220506-1250
File: C:\ProgramData\DockerDesktop\install-log-admin.txt
CommandLine: "E:\Downloads\Dev-tools\podman-docker\Docker Desktop Installer.exe" install --installation-dir=D:\software\Docker
You can send feedback, including this log file, at https://github.com/docker/for-win/issues
[2024-03-13T02:37:03.207865500Z][ManifestAndExistingInstallationLoader][I] Install path is D:\software\Docker. Loading manifest first
[2024-03-13T02:37:03.214865600Z][ManifestAndExistingInstallationLoader][I] No manifest found, returning no existing install
[2024-03-13T02:37:03.214865600Z][Installer][I] No installation found
[2024-03-13T02:37:03.437269300Z][InstallWorkflow][I] Cancel pending background download
[2024-03-13T02:37:03.440268600Z][BackgroundTransfer][I] Cancel current background transfer job
[2024-03-13T02:37:07.684391600Z][InstallWorkflow][I] Using package: res:DockerDesktop
[2024-03-13T02:37:07.685763700Z][InstallWorkflow][I] Downloading
[2024-03-13T02:37:08.963591300Z][InstallWorkflow][I] Extracting manifest
[2024-03-13T02:37:09.632584000Z][InstallWorkflow][I] Manifest found: version=137060, displayVersion=4.27.2, channelUrl=https://desktop-stage.docker.com/win/main/amd64/appcast.xml
[2024-03-13T02:37:09.632584000Z][InstallWorkflow][I] Checking prerequisites
[2024-03-13T02:37:09.946644600Z][InstallWorkflow][I] Prompting for optional features
[2024-03-13T02:37:36.239911500Z][InstallWorkflow][I] Selected backend mode: wsl-2
[2024-03-13T02:37:36.241400800Z][InstallWorkflow][I] Unpacking artifacts
[2024-03-13T02:39:26.623864500Z][InstallWorkflow][I] Deploying component Docker.Installer.CreateGroupAction
[2024-03-13T02:39:40.326128200Z][InstallWorkflow][I] Deploying component Docker.Installer.AddToGroupAction
[2024-03-13T02:39:49.434171400Z][InstallWorkflow][I] Deploying component Docker.Installer.EnableFeaturesAction
[2024-03-13T02:39:49.451171500Z][InstallWorkflow-EnableFeaturesAction][I] Required features: VirtualMachinePlatform, Microsoft-Windows-Subsystem-Linux
[2024-03-13T02:39:50.034773100Z][InstallWorkflow][I] Deploying component Docker.Installer.ServiceAction
[2024-03-13T02:39:50.036773000Z][InstallWorkflow-ServiceAction][I] Removing service
[2024-03-13T02:39:50.038772900Z][InstallWorkflow-ServiceAction][I] Creating service
[2024-03-13T02:39:50.041394600Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction
[2024-03-13T02:39:50.060434100Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\ProgramData\Microsoft\Windows\Start Menu\Docker Desktop.lnk/Docker Desktop
[2024-03-13T02:39:50.067435200Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction
[2024-03-13T02:39:50.069434700Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\Users\kart\Desktop\Docker Desktop.lnk/Docker Desktop
[2024-03-13T02:39:50.071434500Z][InstallWorkflow][I] Deploying component Docker.Installer.AutoStartAction
[2024-03-13T02:39:50.072434700Z][InstallWorkflow][I] Deploying component Docker.Installer.PathAction
[2024-03-13T02:39:50.376848700Z][InstallWorkflow][I] Deploying component Docker.Installer.ExecAction
[2024-03-13T02:39:50.381848800Z][InstallWorkflow-ExecAction][I] Running: D:\software\Docker\InstallerCli.exe -i with timeout=-1
[2024-03-13T02:39:53.011361600Z][InstallWorkflow][I] Registering product
[2024-03-13T02:39:53.024361600Z][InstallWorkflow][I] Deleting C:\ProgramData\DockerDesktop\install-settings.json
[2024-03-13T02:39:53.027361700Z][InstallWorkflow][I] Installation succeeded
-

脚本 .\install-windows.bat 会执行哪些步骤?值得注意的有三个步骤,获取 DotNet.SDK.8Git 以及 StableSwarmUI

-

获取并安装最新的 DotNet.SDK.8:

-
winget install Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements
+

当你看到 Installation succeeded,表示已经安装完成。

+

CMD 命令安装 docker

没有指定安装路径,默认安装路径为C:\Program Files\Docker\Docker

+
start /w "" "Docker Desktop Installer.exe" install
-

如果本地已经安装过 DotNet.SDK.8 工具,你可以尝试跳过(屏蔽掉)脚本中的 DotNet.SDK.8 安装步骤。

-

获取并安装 Git:

-
winget install --id Git.Git -e --source winget --accept-source-agreements --accept-package-agreements
+

指定安装路径,示例使用参数--installation-dir=<path>

+
start /w "" "Docker Desktop Installer.exe"  install --installation-dir=<path>
-

如果有一定的开发经验,本地已经安装过 Git 工具,你可以尝试跳过(屏蔽掉)脚本中的 Git 安装步骤。

-

获取 StableSwarmUI:

-
git clone https://github.com/Stability-AI/StableSwarmUI
+

<path> 替换成所需要安装的路径,比如D:\software\Docker

+

演示我的安装路径,指定--installation-dir=D:\software\Docker执行安装命令时,请切换到你下载docker所在路径执行命令

+
e:\Downloads\Dev-tools\podman-docker>start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\software\Docker
-

脚本 .\install-windows.bat 原始内容:

-
@echo off

cd /d "%~dp0"

if exist StableSwarmUI (
echo StableSwarmUI is already installed in this folder. If this is incorrect, delete the 'StableSwarmUI' folder and try again.
pause
exit
)

if exist StableSwarmUI.sln (
echo StableSwarmUI is already installed in this folder. If this is incorrect, delete 'StableSwarmUI.sln' and try again.
pause
exit
)

winget install Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements
winget install --id Git.Git -e --source winget --accept-source-agreements --accept-package-agreements

git clone https://github.com/Stability-AI/StableSwarmUI
cd StableSwarmUI

call .\make-shortcut.bat
call .\launch-windows.bat --launch_mode webinstall

IF %ERRORLEVEL% NEQ 0 ( pause )
+

CMD 命令安装 Docker 信息日志:

+
e:\Downloads\Dev-tools\podman-docker>start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\software\Docker
-------------------------------------------------------------------------------->8
Version: 4.27.2 (137060)
Sha1:
Started on: 2024-03-13 03:54:47.600
Resources: e:\Downloads\Dev-tools\podman-docker\resources
OS: Windows 10 Home China
Edition: CoreCountrySpecific
Id: 2009
Build: 22631
BuildLabName: 22621.1.amd64fre.ni_release.220506-1250
File: C:\ProgramData\DockerDesktop\install-log-admin.txt
CommandLine: "Docker Desktop Installer.exe" install --installation-dir=D:\software\Docker
You can send feedback, including this log file, at https://github.com/docker/for-win/issues
[2024-03-13T03:54:47.772593000Z][ManifestAndExistingInstallationLoader][I] Install path is D:\software\Docker. Loading manifest first
[2024-03-13T03:54:47.781274400Z][ManifestAndExistingInstallationLoader][I] No manifest found, returning no existing install
[2024-03-13T03:54:47.781274400Z][Installer][I] No installation found
[2024-03-13T03:54:48.006629000Z][InstallWorkflow][I] Cancel pending background download
[2024-03-13T03:54:48.010068800Z][BackgroundTransfer][I] Cancel current background transfer job
[2024-03-13T03:54:52.222204900Z][InstallWorkflow][I] Using package: res:DockerDesktop
[2024-03-13T03:54:52.224360200Z][InstallWorkflow][I] Downloading
[2024-03-13T03:54:54.079911500Z][InstallWorkflow][I] Extracting manifest
[2024-03-13T03:54:54.982972600Z][InstallWorkflow][I] Manifest found: version=137060, displayVersion=4.27.2, channelUrl=https://desktop-stage.docker.com/win/main/amd64/appcast.xml
[2024-03-13T03:54:54.982972600Z][InstallWorkflow][I] Checking prerequisites
[2024-03-13T03:54:55.301899300Z][InstallWorkflow][I] Prompting for optional features
[2024-03-13T03:55:48.836177200Z][InstallWorkflow][I] Selected backend mode: wsl-2
[2024-03-13T03:55:48.837178000Z][InstallWorkflow][I] Unpacking artifacts
[2024-03-13T03:57:39.572177600Z][InstallWorkflow][I] Deploying component Docker.Installer.CreateGroupAction
[2024-03-13T03:57:53.305866500Z][InstallWorkflow][I] Deploying component Docker.Installer.AddToGroupAction
[2024-03-13T03:58:02.385550200Z][InstallWorkflow][I] Deploying component Docker.Installer.EnableFeaturesAction
[2024-03-13T03:58:02.403595700Z][InstallWorkflow-EnableFeaturesAction][I] Required features: VirtualMachinePlatform, Microsoft-Windows-Subsystem-Linux
[2024-03-13T03:58:02.980044400Z][InstallWorkflow][I] Deploying component Docker.Installer.ServiceAction
[2024-03-13T03:58:02.982350300Z][InstallWorkflow-ServiceAction][I] Removing service
[2024-03-13T03:58:02.984535100Z][InstallWorkflow-ServiceAction][I] Creating service
[2024-03-13T03:58:02.986964900Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction
[2024-03-13T03:58:03.003453900Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\ProgramData\Microsoft\Windows\Start Menu\Docker Desktop.lnk/Docker Desktop
[2024-03-13T03:58:03.108383600Z][InstallWorkflow][I] Deploying component Docker.Installer.ShortcutAction
[2024-03-13T03:58:03.110665600Z][InstallWorkflow-ShortcutAction][I] Creating shortcut: C:\Users\kart\Desktop\Docker Desktop.lnk/Docker Desktop
[2024-03-13T03:58:03.112045900Z][InstallWorkflow][I] Deploying component Docker.Installer.AutoStartAction
[2024-03-13T03:58:03.114763000Z][InstallWorkflow][I] Deploying component Docker.Installer.PathAction
[2024-03-13T03:58:03.527912400Z][InstallWorkflow][I] Deploying component Docker.Installer.ExecAction
[2024-03-13T03:58:03.533301600Z][InstallWorkflow-ExecAction][I] Running: D:\software\Docker\InstallerCli.exe -i with timeout=-1
[2024-03-13T03:58:06.207667600Z][InstallWorkflow][I] Registering product
[2024-03-13T03:58:06.220682100Z][InstallWorkflow][I] Deleting C:\ProgramData\DockerDesktop\install-settings.json
[2024-03-13T03:58:06.222835500Z][InstallWorkflow][I] Installation succeeded
-

StableSwarmUI 安装与启动

启动 StableSwarmUI 之前我想介绍一下,个人硬件环境(笔电)。不算太新,不算太老,将将能玩(学习):

- -

上了独立显卡,这种搭配,AMD 强劲的核显显得有点浪费了。

-

大学新生开学季,怎么套路换电脑?新思路,老爸啊,你儿子想学 Ai,需要高配一丢丢的 N 卡作为生产力。千万别说是我教的,问就是生产力需要。

-

有点跑题了,继续 StableSwarmUI 介绍, 目前处于 Beta 版本

-
-

A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility.

-
-

安装与启动,Windows 平台执行 launch-windows.bat 脚本,安装过程可能比较缓慢,也许你需要科学上网。

-

Windows 平台执行 launch-windows.bat 脚本,调用 dotnet 过程。

-
PS E:\AI\StableSwarmUI-0.6.4-Beta> .\launch-windows.bat
error: 指定的源已添加到可用程序包源的列表中。请提供唯一的源。

Usage: dotnet nuget add source [arguments] [options]

Arguments:
PackageSourcePath 包源的路径。

Options:
-n|--name 源的名称。
-u|--username 连接到已验证源时要使用的用户名。
-p|--password 连接到已验证源时要使用的密码。
--store-password-in-clear-text 通过禁用密码加密来启用存储可移植包源凭据。
--valid-authentication-types 此源的有效身份验证类型的列表(用逗号分隔)。如果服务器公布 NTLM 或 Negotiate,并且你的凭据必 须使用基本机制发送(例如将 PAT 与本地 Azure DevOps Server 一起使用时),请将此项设置为 basic。其他有效值包括 negotiate、kerberos、ntlm 和 digest,但这些值很可能没有用。
--protocol-version The NuGet server protocol version to be used. Currently supported versions are 2 and 3. See https://learn.microsoft.com/nuget/api/overview for information about the version 3 protocol. Defaults to 2 if not specified.
--configfile NuGet 配置文件。如果指定,将仅使用此文件中的设置。如果未指定,则将使用当前目录中的配置文件 的层次结构。有关详细信息,请参阅 https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior。
-h|--help Show help information

适用于 .NET MSBuild 版本 17.9.6+a4ecab324
正在确定要还原的项目…
已还原 E:\AI\StableSwarmUI-0.6.4-Beta\src\StableSwarmUI.csproj (用时 2.75 sec)。
StableSwarmUI -> E:\AI\StableSwarmUI-0.6.4-Beta\src\bin\live_release\StableSwarmUI.dll

已成功生成。
0 个警告
0 个错误

已用时间 00:00:10.68
-

初次安装,从官方渠道获取模型比较缓慢,优先访问 https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors,看到报错或者警告信息是正常状态。在国内无法访问进去,可以前往第三方网站或者社区,比如魔搭社区获取他人上传的模型数据。如果你获取 ComfyUI 缓慢,这是正常现象,优先访问 https://github.com/comfyanonymous/ComfyUI,建议使用 BT 工具或者从国内大模型社区获取。

-

sd_xl_base_1.0 模型获取

魔搭社区,获取 sd_xl_base_1.0.safetensors

-

如果你使用 git 获取,默认你已经部署并配置好 Git 环境,可以直接获取完整模型训练仓库 git clone https://www.modelscope.cn/AI-ModelScope/stable-diffusion-xl-base-1.0.git。当然,你也可以点击文件 sd_xl_base_1.0.safetensors 直接下载。

-

如果急需体验,个人推荐直接下载模型文件。完整模型仓库所占空间较大,存在版本库迭代,每个作者提交同步的内容有所不同。

-

如果本地没有模型数据,需要获取别人培养的模型数据,复制到 StableSwarmUI 指定的 \StableSwarmUI-0.6.4-Beta\Models\Stable-Diffusion\OfficialStableDiffusion 目录。

-

Windows powershell 命令形式复制模型到指定目录:

-
cp -Path ".\sd_xl_base_1.0.safetensors"  -Destination 
".\StableSwarmUI-0.6.4-Beta\StableSwarmUI\Models\Stable-Diffusion\OfficialStableDiffusion" -Recurse
-

传入模型数据后,进入 web UI 界面点击模型,刷新即可看到模型。个人建议,最好还是在服务器功能模块选择服务器信息功能,点击关闭服务(Shutdown Server),然后再次执行 launch-windows.bat 启动 web 应用程序。

-

本地启动完成后,会自动跳转到默认设置浏览器,访问 http://localhost:7801

-

首页展示画面,初体验使用了 sd_xl_base_1.0.safetensors 模型。

-

使用 sd_xl_base_1.0.safetensors 模型生成一张猫咪图像:

-

img

-

ComfyUI windows 便携版,ComfyUI_0.1.2_windows_portable_nvidia:

-

链接: https://pan.baidu.com/s/1ayKNBDogKBQOnphyLZtaBg?pwd=9999

-

提取码: 9999

-

Windows 平台 Python 安装包(Python 2.7.17、Python 3.9.4、Python 3.10.6、Python 3.11.5):

-

链接: https://pan.baidu.com/s/1uN8ceOnPVT3GASYMQSXUvw?pwd=8888

-

提取码: 8888

-

最后,以上总结仅供参考哟,希望对你的学习,工作和生活有所帮助。

-

参考资料

+

更详细的用法,请参考官方文档 windows-install-docker

+

以上总结仅供参考哟!最后希望对你的学习和工作有所帮助。

+

参考资料:

—END—

]]>
- AI + 开发运维 - StableSwarmUI + docker
@@ -12082,90 +12082,225 @@ -

进入目录 openai

-
PS E:\AI\stable-diffusion-webui-1.7.0> cd .\openai\
+

进入目录 openai

+
PS E:\AI\stable-diffusion-webui-1.7.0> cd .\openai\
+ + + +

通过魔搭社区镜像站获取 clip-vit-large-patch14,使用 git 获取,默认你已经部署并配置好 Git 环境,当然你还可以参考魔搭社区提供的参考文档

+
PS E:\AI\stable-diffusion-webui-1.7.0\openai> git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git
Cloning into 'clip-vit-large-patch14'...
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 22 (delta 1), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (22/22), 1.08 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (1/1), done.
Updating files: 100% (14/14), done.
Filtering content: 100% (4/4), 6.37 GiB | 9.66 MiB/s, done.
+

啊,你没有看错,你的 Git 并没有卡住。

+

下载完大约有 12.7GB 左右,所需时间可能有点长,这个还取决于你的下载网速和对方服务器所能提供的带宽速率。

+

——END——

+]]> + + AI + + + stable-diffusion-webui + +
+ + Windows服务器运维常用小技巧 + /2022/02/18/Windows%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4%E5%B8%B8%E7%94%A8%E5%B0%8F%E6%8A%80%E5%B7%A7/ + Windows下常用的以及不常用的运维命令以及小技巧,看了绝对不会后悔。

+

总结:不难发现,很多Windows下的命令,基本上以.msc结尾,前缀是程序名称。比如磁盘管理命令:diskmgmt.msc

+

正文

一、远程桌面

快速进入远程桌面,主要是命令为mstsc

+

方式一:win + r打开运行输入mstsc
在这里插入图片描述

+

方式二:以管理员身份运行CMD输入以下命令:

+
mstsc /v: 192.168.249.128 /console
+ +

在这里插入图片描述

+

二、win + r命令快速打开运行窗口

1、 win + r运行regedit:进入注册表

在这里插入图片描述

+

2、win + e:快速进入资源管理器

3、win + r运行入control:打开控制面板

在这里插入图片描述

+

4、win + r运行services.msc:进入服务管理

在这里插入图片描述

+

5、运维使用小技巧

以下均为使用 win + r 快捷键打开运行如下命令:

+

5.1、进入odbc配置

+
odbcad32
+ +

5.2、进入磁盘清理

+
cleanmgr
+ +

5.3、进入防火墙设置

+
WF.msc
+ +

5.4、进入系统配置

+
#在安装Oracle11gR2卡在2%时会用到此命令快速进入配置调CPU核心数
msconfig
+

5.4.1、进入系统配置,调CPU核心数
在这里插入图片描述

+

5.5、查看系统信息

+
msinfo32
+ +

5.6、打开远程桌面

+
#这个命令上面也提到了,并做了详细截图
mstsc
+ +

三、查看系统的磁盘信息命令list disk

3.1、win10自带的管理工具:diskpart.exe

+

a、首先以管理员身份运行CMD
b、运行diskpart
c、运行list disk
在这里插入图片描述3.2、进入磁盘管理命令

+
#总结:不难发现,很多Windows下的命令,都是以.msc结尾,前缀这是程序名称。
win + r快捷键打开运行:diskmgmt.msc
+

在这里插入图片描述

+

3.3、进入计算机管理

+

在这里插入图片描述

+
win + r运行:compmgmt.msc
+ +

3.1.1、计算管理界面,同理也能看到上面的磁盘管理
在这里插入图片描述

+

四、netstat -ano

单独拿出来讲,是因为netstat不仅仅在Linux下很实用,在Windows的DOS命令下一样很重要。

+

此命令主要用于查看占用的端口,通过管道符配合findstr命令缩小范围,类似于grep命令

+
netstat -ano | findstr /i  3306
+

在这里插入图片描述

+

五、tasklist命令

tasklist命令一般配合netstat命令使用(在windows下搭配使用很nice)
以达梦数据库和MySQL(MariaDB)数据库为例讲解

+

查询达梦数据库的默认端口号5236,查出对应的PID号
在这里插入图片描述

+
netstat -ano | grep 5236
+ +

配合tasklist定位进程名称

+
tasklist | grep PID_PORT
+ +

查询MySQL(MariaDB)的默认端口号3306,查出对应的PID号

+
netstat -ano | grep 3306
+ +

配合tasklist定位进程名称

+
tasklist | grep PID_PORT
+ +

Windows服务器常用以及不常用的运维小技巧,持续更新中。。。

+]]>
+ + 开发运维 + + + Windows server + +
+ + centos下使用国内的镜像yum源地址 + /2021/05/25/centos%E4%B8%8B%E4%BD%BF%E7%94%A8%E5%9B%BD%E5%86%85%E7%9A%84%E9%95%9C%E5%83%8Fyum%E6%BA%90%E5%9C%B0%E5%9D%80/ + 国内镜像源

+

aliyun镜像

+
+

http://mirrors.aliyun.com

+
+

163镜像源

+
+

http://mirrors.163.com

+
+

中国科技大学

+
+

http://mirrors.ustc.edu.cn

+
+

centos官方站点

+
+

http://mirrorlist.centos.org

+
+

centos6.5的CentOS-Base.repo配置,修改的时候可以备份一份。

+

使用cp命令备份

+
cp CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.bak
+ +

将$releasever 替换为版本号7,原因镜像源$releasever识别不了版本,6的版本无了,手动改为7

+
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=releasever$&arch=$basearch&repo=contrib
baseurl=http://mirrors.163.com/centos/7/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
+ + + +

清除缓存

+
yum clean all 
+ +

更新缓存

+
yum makecache
+ + +]]>
+ + 开发运维 + + + Linux + +
+ + Hello World + /2017/06/10/hello-world/ + 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.

+

Quick Start

Create a new post

$ hexo new "My New Post"
+ +

More info: Writing

+

Run server

$ hexo server
+ +

More info: Server

+

Generate static files

$ hexo generate
+ +

More info: Generating

+

Deploy to remote sites

$ hexo deploy
+ +

More info: Deployment

+]]>
+ + 静态博客 + + + hexo + +
+ + git清除版本控制 + /2022/02/21/git%E6%B8%85%E9%99%A4%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6/ + 如果不想让别人看到自己的提交记录,可以使用私有仓库+公有仓库配合使用。

+

在保留原始仓库状态情况下清除原始的分支,创建新的分支并强制推送至远程仓库。

+

如果想完全清除版本控制,删除隐藏的.git目录,然后重新初始化。

+
    +
  1. 创建并切换到新的分支

    +
    git checkout --orphan br_latest
    + + +
  2. +
  3. 暂存所有未追踪的文件

    +
    git add --all
    + + +
  4. +
  5. 提交所有更改

    +
    git commit -am "删除历史版本记录,初始化仓库"
    + +
  6. +
  7. 删除原有分支

    +
    git branch -D master
    -

    通过魔搭社区镜像站获取 clip-vit-large-patch14,使用 git 获取,默认你已经部署并配置好 Git 环境,当然你还可以参考魔搭社区提供的参考文档

    -
    PS E:\AI\stable-diffusion-webui-1.7.0\openai> git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git
    Cloning into 'clip-vit-large-patch14'...
    remote: Enumerating objects: 22, done.
    remote: Counting objects: 100% (22/22), done.
    remote: Compressing objects: 100% (21/21), done.
    remote: Total 22 (delta 1), reused 0 (delta 0), pack-reused 0
    Receiving objects: 100% (22/22), 1.08 MiB | 2.22 MiB/s, done.
    Resolving deltas: 100% (1/1), done.
    Updating files: 100% (14/14), done.
    Filtering content: 100% (4/4), 6.37 GiB | 9.66 MiB/s, done.
    -

    啊,你没有看错,你的 Git 并没有卡住。

    -

    下载完大约有 12.7GB 左右,所需时间可能有点长,这个还取决于你的下载网速和对方服务器所能提供的带宽速率。

    -

    ——END——

    -]]> - - AI - - - stable-diffusion-webui - - - - Windows服务器运维常用小技巧 - /2022/02/18/Windows%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4%E5%B8%B8%E7%94%A8%E5%B0%8F%E6%8A%80%E5%B7%A7/ - Windows下常用的以及不常用的运维命令以及小技巧,看了绝对不会后悔。

    -

    总结:不难发现,很多Windows下的命令,基本上以.msc结尾,前缀是程序名称。比如磁盘管理命令:diskmgmt.msc

    -

    正文

    一、远程桌面

    快速进入远程桌面,主要是命令为mstsc

    -

    方式一:win + r打开运行输入mstsc
    在这里插入图片描述

    -

    方式二:以管理员身份运行CMD输入以下命令:

    -
    mstsc /v: 192.168.249.128 /console
    +
  8. +
  9. 将当前分支重命名

    +
    git branch -m master
    -

    在这里插入图片描述

    -

    二、win + r命令快速打开运行窗口

    1、 win + r运行regedit:进入注册表

    在这里插入图片描述

    -

    2、win + e:快速进入资源管理器

    3、win + r运行入control:打开控制面板

    在这里插入图片描述

    -

    4、win + r运行services.msc:进入服务管理

    在这里插入图片描述

    -

    5、运维使用小技巧

    以下均为使用 win + r 快捷键打开运行如下命令:

    -

    5.1、进入odbc配置

    -
    odbcad32
    -

    5.2、进入磁盘清理

    -
    cleanmgr
    +
  10. +
  11. 强制更新存储库

    +
    git push -f origin master
  12. +
+

如果只是想完全去掉版本控制,完全可以删除隐藏文件.git目录,然后初始化git init。

+
$ rm -rf .git
$ git init
-

5.3、进入防火墙设置

-
WF.msc
-

5.4、进入系统配置

-
#在安装Oracle11gR2卡在2%时会用到此命令快速进入配置调CPU核心数
msconfig
-

5.4.1、进入系统配置,调CPU核心数
在这里插入图片描述

-

5.5、查看系统信息

-
msinfo32
-

5.6、打开远程桌面

-
#这个命令上面也提到了,并做了详细截图
mstsc
+
    +
  1. 将当前分支重命名为master

    +
    git branch -m master
    -

    三、查看系统的磁盘信息命令list disk

    3.1、win10自带的管理工具:diskpart.exe

    -

    a、首先以管理员身份运行CMD
    b、运行diskpart
    c、运行list disk
    在这里插入图片描述3.2、进入磁盘管理命令

    -
    #总结:不难发现,很多Windows下的命令,都是以.msc结尾,前缀这是程序名称。
    win + r快捷键打开运行:diskmgmt.msc
    -

    在这里插入图片描述

    -

    3.3、进入计算机管理

    -

    在这里插入图片描述

    -
    win + r运行:compmgmt.msc
    -

    3.1.1、计算管理界面,同理也能看到上面的磁盘管理
    在这里插入图片描述

    -

    四、netstat -ano

    单独拿出来讲,是因为netstat不仅仅在Linux下很实用,在Windows的DOS命令下一样很重要。

    -

    此命令主要用于查看占用的端口,通过管道符配合findstr命令缩小范围,类似于grep命令

    -
    netstat -ano | findstr /i  3306
    -

    在这里插入图片描述

    -

    五、tasklist命令

    tasklist命令一般配合netstat命令使用(在windows下搭配使用很nice)
    以达梦数据库和MySQL(MariaDB)数据库为例讲解

    -

    查询达梦数据库的默认端口号5236,查出对应的PID号
    在这里插入图片描述

    -
    netstat -ano | grep 5236
    +
  2. +
  3. 连接远程仓库demo

    +
    git remote add origin git@github.com:cnwangk/demo.git
    -

    配合tasklist定位进程名称

    -
    tasklist | grep PID_PORT
    -

    查询MySQL(MariaDB)的默认端口号3306,查出对应的PID号

    -
    netstat -ano | grep 3306
    +
  4. +
  5. 再强制更新远程仓库:-f为强制推送更新仓库

    +
    git push -f origin master
    -

    配合tasklist定位进程名称

    -
    tasklist | grep PID_PORT
    -

    Windows服务器常用以及不常用的运维小技巧,持续更新中。。。

    +
  6. +
  7. 查看本地仓库大小

    +
    du -sk -m
  8. +
]]>
- 开发运维 + 生产力 - Windows server + git
@@ -12254,223 +12389,88 @@

http://localhost:4000

-

2、 主题目录

-

主题所在目录:themes

-

获取Next主题:使用 git clone 或者直接下载

-
-

git clone git@github.com:next-theme/hexo-theme-next.git

-

https://github.com/next-theme/hexo-theme-next/archive/refs/heads/master.zip

-
-

下载后复制到themes目录,然后修改hexo配置文件_config.yml:

-
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: hexo-theme-next
#theme: landscape
- -

如果使用 npm 命令安装 next 主题:

-
npm install hexo-theme-next --save
- -

在 hexo 配置,需要变动:

-
theme: next
-

还需要复制一份配置到 blog 根目录:

-
cp .\node_modules\hexo-theme-next\_config.yml ._config.next.yml
- - -

3、 hexo配置文件

-

blog目录下配置文件: _config.yml

-

介绍一些使用比较多的参数:更多请参考 hexo 或者 Next 主题文档

-
# Site    #站点配置
title: #网站标题:养得胸中一种恬静
subtitle: #子标题
description: #描述(个人简介):莫问收获,但问耕耘
author: #作者
language: zh-CN #配置语言(中文)

# search #搜索
search:
path: search.xml
field: post
content: true
format: html

# Deployment #配置一键发布,需要获取github的私人令牌(token)
## Docs: https://hexo.io/docs/one-command-deployment
#deploy:
# type: git
# repo: https://github.com/username/username.github.io
# example, https://github.com/hexojs/hexojs.github.io
# branch: gh-pages
- - -

4、 主题配置文件

-

themes目录landscape主题(hexo默认主题): _config.yml

-

themes目录next主题hexo-theme-next: _config.yml

-

Next主题仓库

-
-

https://github.com/next-theme/hexo-theme-next

-
-

主要介绍一些个人配置Next主题重要部分:根据使用经验加了注释

-
menu:   #菜单配置
home: / || fa fa-home #主页
about: /about/ || fa fa-user #关于页面(个人简介),默认需要手动创建
#search: /search #配置搜索
tags: /tags/ || fa fa-tags #配置标签页目录,默认需要手动创建
categories: /categories/ || fa fa-th #配置类别目录,默认需要手动创建
archives: /archives/ || fa fa-archive #配置归档目录
schedule: /schedule/ || fa fa-calendar #日程表
sitemap: /sitemap.xml || fa fa-sitemap #站点地图(xml文件,相当于一个导航)
commonweal: /404/ || fa fa-heartbeat #公益404界面,在source目录配置404.html即可

# Local Search #配置本地搜索
# 下载插件:npm install hexo-generator-searchdb --save
# Dependencies: https://github.com/next-theme/hexo-generator-searchdb
local_search:
enable: true
# If auto, trigger search by changing input.
# If manual, trigger search by pressing enter key or search button.
trigger: auto
# Show top n results per article, show all results by setting to -1
top_n_per_article: 1
# Unescape html strings to the readable one.
unescape: false
# Preload the search data when the page loads.
preload: false


#安装sitemap插件
#npm install hexo-generator-sitemap --save
#npm install hexo-generator-baidu-sitemap --save
# 自动生成sitemap
sitemap:
path: sitemap.xml

#导航栏在左侧、中间或者右侧
sidebar:
# Sidebar Position.
position: left

#配置社交信息
social:
GitHub: https://github.com/cnwangk || fab fa-github
E-Mail: mailto:dywangk@gmail.com || fa fa-envelope

#配置阅读全文效果
#https://github.com/ashisherc/hexo-auto-excerpt
auto_excerpt:
enable: true
length: 100

#你主打的写作平台(比如公众号)
follow_me:
WeChat: /images/wechat_channel.jpg || fab fa-weixin #设置公众号二维码,后台下载自己的二维码

#配置代码高亮显示(默认是github浅色)
codeblock:
# Code Highlight theme
# Available value:
# https://github.com/chriskempson/tomorrow-theme
#highlight_theme: night eighties
# All available themes: https://theme-next.js.org/highlight/
theme:
#light: default
light: atom-one-dark
dark: stackoverflow-dark

# Baidu Analytics #百度站点分析
# See: https://tongji.baidu.com
baidu_analytics: #注册账号建立分析站点生成的ID(一串字符串)
- - -

更多配置说明,请参考Next主题文档介绍:

-
-

https://theme-next.js.org/

-
-

四 发布至github pages

1、 发布至github pages

-

前提:已经配置 git 环境(本地生成ssh公钥,然后配置到github)

-

如果你还没自己的 github 账号,也没配置 git 环境,可以参考我的历史博客:git推送项目到github并使用gitee做镜像仓库,如果图片被防盗链了,还可以在我的公众号上搜索查看。

-

也可以配置 deploy 一键发布,需要配置 github 私人令牌 token。

-

个人推荐使用 cp 命令将 public 目录下生成的静态文件复制到你的 repo(仓库),然后提交到远程仓库,这样操作更灵活一点。

-

如下为提交至远程仓库详细步骤

-
mkdir github # 1. 创建github目录,用于存放(检出)自己的远程仓库
git clone git@github.com:yourUserName/yourUserName.github.io.git # 2. 克隆远程仓库
cd yourUserName.github.io # 3. 切换到仓库
git branch gh-pages # 4. 创建分支gh-pages
git remote add origin git@github.com:yourUserName/userName.github.io.git # 5. 连接远程仓库,已连接会提示exists
git add --all # 6. 暂存所有有文件
git commit -am "初始化提交" # 7. 初始化提交所有文件
git push git@github.com:yourUserName/yourUserName.github.io.git # 8. 推送至远程仓库
- -

做完上面提交操作,还需要给github仓库配置github pages服务。

-

github pages的配置页面

-
-

https://github.com/cnwangk/test/settings/pages

-
-

我测试配置了一个仓库:2022最新版github pages配置界面

-

注意:仓库必须是公开的(public)、然后仓库命令可以命令为用户名加github.io。

-

默认进入一个设置好的gh-pages分支的仓库这样显示内容的:将gh-pages设置为默认仓库。

-

Custom domain:配置域名,比如userName.github.io之外的域名。

-

-

2、访问验证博客

-
https://yourUserName.github.io
- -

可以访问我搭建好的示例:

-
-

https://cnwangk.github.io/

-
-

五 hexo帮助命令

1、 进入blog目录(cmd命令窗口)

-
cd blog
- -

2、 执行帮助命令

-

对使用比较有帮助的命令,根据个人实际使用经验,做了中文注释。

-
D:\hexo\blog>hexo --h             #查看帮助命令,使用Next主题
INFO Validating config
INFO ==================================
███╗ ██╗███████╗██╗ ██╗████████╗
████╗ ██║██╔════╝╚██╗██╔╝╚══██╔══╝
██╔██╗ ██║█████╗ ╚███╔╝ ██║
██║╚██╗██║██╔══╝ ██╔██╗ ██║
██║ ╚████║███████╗██╔╝ ██╗ ██║
╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚═╝
========================================
NexT version 8.10.1 #使用Next主题版本
Documentation: https://theme-next.js.org
========================================
Usage: hexo <command>

Commands: # 命令
clean Remove generated files and cache. # 移除文件和缓存
config Get or set configurations. # 获取和设置配置
deploy Deploy your website. # 发布到你的网站
generate Generate static files. # 生成静态文件
help Get help on a command. # 获取帮助命令
init Create a new Hexo folder. # 初始化,创建一个新的hexo目录
lc-counter hexo-leancloud-counter-security # 配置阅读数需要下载插件
list List the information of the site #站点列表信息
migrate Migrate your site from other system to Hexo.
new Create a new post. #新建一个md(markdown)文件
publish Moves a draft post from _drafts to _posts folder.
render Render files with renderer plugins.
server Start the server. #启动hexo服务
version Display version information. #查看hexo版本

Global Options:
--config Specify config file instead of using _config.yml #配置全局_config.yml文件
--cwd Specify the CWD
--debug Display all verbose messages in the terminal #开启debug模式
--draft Display draft posts
--safe Disable all plugins and scripts #禁用所有插件
--silent Hide output on console

For more help, you can use 'hexo help [command]' for the detailed information
or you can check the docs: http://hexo.io/docs/ #hexo官方文档
https://hexo.io/zh-cn/docs/ #hexo中文文档
- - - -

六 个人配置示例效果

https://blog.cnwangk.top/

-

莫问收获,但问耕耘

-

养得胸中一种恬静

-
-

以上就是本文的全部内容,希望能对你的工作与学习有所帮助。感觉写的好,就拿出你的一键三连。在公众号上更新的可能要快一点,目前还在完善中。能看到这里的,都是帅哥靓妹。如果感觉总结的不到位,也希望能留下您宝贵的意见,我会在文章中进行调整优化。

-

tips:使用hexo搭建的静态博客也会定期更新维护。

-

以上总结,仅供参考哟!希望对你有所帮助。

-

—END—

-]]> - - 静态博客 - - - hexo - -
- - centos下使用国内的镜像yum源地址 - /2021/05/25/centos%E4%B8%8B%E4%BD%BF%E7%94%A8%E5%9B%BD%E5%86%85%E7%9A%84%E9%95%9C%E5%83%8Fyum%E6%BA%90%E5%9C%B0%E5%9D%80/ - 国内镜像源

-

aliyun镜像

-
-

http://mirrors.aliyun.com

-
-

163镜像源

-
-

http://mirrors.163.com

-
-

中国科技大学

-
-

http://mirrors.ustc.edu.cn

-
-

centos官方站点

-
-

http://mirrorlist.centos.org

-
-

centos6.5的CentOS-Base.repo配置,修改的时候可以备份一份。

-

使用cp命令备份

-
cp CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.bak
- -

将$releasever 替换为版本号7,原因镜像源$releasever识别不了版本,6的版本无了,手动改为7

-
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=releasever$&arch=$basearch&repo=contrib
baseurl=http://mirrors.163.com/centos/7/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
- - - -

清除缓存

-
yum clean all 
- -

更新缓存

-
yum makecache
- - -]]>
- - 开发运维 - - - Linux - -
- - git清除版本控制 - /2022/02/21/git%E6%B8%85%E9%99%A4%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6/ - 如果不想让别人看到自己的提交记录,可以使用私有仓库+公有仓库配合使用。

-

在保留原始仓库状态情况下清除原始的分支,创建新的分支并强制推送至远程仓库。

-

如果想完全清除版本控制,删除隐藏的.git目录,然后重新初始化。

-
    -
  1. 创建并切换到新的分支

    -
    git checkout --orphan br_latest
    - - -
  2. -
  3. 暂存所有未追踪的文件

    -
    git add --all
    - - -
  4. -
  5. 提交所有更改

    -
    git commit -am "删除历史版本记录,初始化仓库"
    - - -
  6. -
  7. 删除原有分支

    -
    git branch -D master
    - - -
  8. -
  9. 将当前分支重命名

    -
    git branch -m master
    - +

    2、 主题目录

    +

    主题所在目录:themes

    +

    获取Next主题:使用 git clone 或者直接下载

    +
    +

    git clone git@github.com:next-theme/hexo-theme-next.git

    +

    https://github.com/next-theme/hexo-theme-next/archive/refs/heads/master.zip

    +
    +

    下载后复制到themes目录,然后修改hexo配置文件_config.yml:

    +
    # Extensions
    ## Plugins: https://hexo.io/plugins/
    ## Themes: https://hexo.io/themes/
    theme: hexo-theme-next
    #theme: landscape
    -
  10. -
  11. 强制更新存储库

    -
    git push -f origin master
  12. -
-

如果只是想完全去掉版本控制,完全可以删除隐藏文件.git目录,然后初始化git init。

-
$ rm -rf .git
$ git init
+

如果使用 npm 命令安装 next 主题:

+
npm install hexo-theme-next --save
+

在 hexo 配置,需要变动:

+
theme: next
+

还需要复制一份配置到 blog 根目录:

+
cp .\node_modules\hexo-theme-next\_config.yml ._config.next.yml
-
    -
  1. 将当前分支重命名为master

    -
    git branch -m master
    +

    3、 hexo配置文件

    +

    blog目录下配置文件: _config.yml

    +

    介绍一些使用比较多的参数:更多请参考 hexo 或者 Next 主题文档

    +
    # Site    #站点配置
    title: #网站标题:养得胸中一种恬静
    subtitle: #子标题
    description: #描述(个人简介):莫问收获,但问耕耘
    author: #作者
    language: zh-CN #配置语言(中文)

    # search #搜索
    search:
    path: search.xml
    field: post
    content: true
    format: html

    # Deployment #配置一键发布,需要获取github的私人令牌(token)
    ## Docs: https://hexo.io/docs/one-command-deployment
    #deploy:
    # type: git
    # repo: https://github.com/username/username.github.io
    # example, https://github.com/hexojs/hexojs.github.io
    # branch: gh-pages
    -
  2. -
  3. 连接远程仓库demo

    -
    git remote add origin git@github.com:cnwangk/demo.git
    +

    4、 主题配置文件

    +

    themes目录landscape主题(hexo默认主题): _config.yml

    +

    themes目录next主题hexo-theme-next: _config.yml

    +

    Next主题仓库

    +
    +

    https://github.com/next-theme/hexo-theme-next

    +
    +

    主要介绍一些个人配置Next主题重要部分:根据使用经验加了注释

    +
    menu:   #菜单配置
    home: / || fa fa-home #主页
    about: /about/ || fa fa-user #关于页面(个人简介),默认需要手动创建
    #search: /search #配置搜索
    tags: /tags/ || fa fa-tags #配置标签页目录,默认需要手动创建
    categories: /categories/ || fa fa-th #配置类别目录,默认需要手动创建
    archives: /archives/ || fa fa-archive #配置归档目录
    schedule: /schedule/ || fa fa-calendar #日程表
    sitemap: /sitemap.xml || fa fa-sitemap #站点地图(xml文件,相当于一个导航)
    commonweal: /404/ || fa fa-heartbeat #公益404界面,在source目录配置404.html即可

    # Local Search #配置本地搜索
    # 下载插件:npm install hexo-generator-searchdb --save
    # Dependencies: https://github.com/next-theme/hexo-generator-searchdb
    local_search:
    enable: true
    # If auto, trigger search by changing input.
    # If manual, trigger search by pressing enter key or search button.
    trigger: auto
    # Show top n results per article, show all results by setting to -1
    top_n_per_article: 1
    # Unescape html strings to the readable one.
    unescape: false
    # Preload the search data when the page loads.
    preload: false


    #安装sitemap插件
    #npm install hexo-generator-sitemap --save
    #npm install hexo-generator-baidu-sitemap --save
    # 自动生成sitemap
    sitemap:
    path: sitemap.xml

    #导航栏在左侧、中间或者右侧
    sidebar:
    # Sidebar Position.
    position: left

    #配置社交信息
    social:
    GitHub: https://github.com/cnwangk || fab fa-github
    E-Mail: mailto:dywangk@gmail.com || fa fa-envelope

    #配置阅读全文效果
    #https://github.com/ashisherc/hexo-auto-excerpt
    auto_excerpt:
    enable: true
    length: 100

    #你主打的写作平台(比如公众号)
    follow_me:
    WeChat: /images/wechat_channel.jpg || fab fa-weixin #设置公众号二维码,后台下载自己的二维码

    #配置代码高亮显示(默认是github浅色)
    codeblock:
    # Code Highlight theme
    # Available value:
    # https://github.com/chriskempson/tomorrow-theme
    #highlight_theme: night eighties
    # All available themes: https://theme-next.js.org/highlight/
    theme:
    #light: default
    light: atom-one-dark
    dark: stackoverflow-dark

    # Baidu Analytics #百度站点分析
    # See: https://tongji.baidu.com
    baidu_analytics: #注册账号建立分析站点生成的ID(一串字符串)
    -
  4. -
  5. 再强制更新远程仓库:-f为强制推送更新仓库

    -
    git push -f origin master
    +

    更多配置说明,请参考Next主题文档介绍:

    +
    +

    https://theme-next.js.org/

    +
    +

    四 发布至github pages

    1、 发布至github pages

    +

    前提:已经配置 git 环境(本地生成ssh公钥,然后配置到github)

    +

    如果你还没自己的 github 账号,也没配置 git 环境,可以参考我的历史博客:git推送项目到github并使用gitee做镜像仓库,如果图片被防盗链了,还可以在我的公众号上搜索查看。

    +

    也可以配置 deploy 一键发布,需要配置 github 私人令牌 token。

    +

    个人推荐使用 cp 命令将 public 目录下生成的静态文件复制到你的 repo(仓库),然后提交到远程仓库,这样操作更灵活一点。

    +

    如下为提交至远程仓库详细步骤

    +
    mkdir github # 1. 创建github目录,用于存放(检出)自己的远程仓库
    git clone git@github.com:yourUserName/yourUserName.github.io.git # 2. 克隆远程仓库
    cd yourUserName.github.io # 3. 切换到仓库
    git branch gh-pages # 4. 创建分支gh-pages
    git remote add origin git@github.com:yourUserName/userName.github.io.git # 5. 连接远程仓库,已连接会提示exists
    git add --all # 6. 暂存所有有文件
    git commit -am "初始化提交" # 7. 初始化提交所有文件
    git push git@github.com:yourUserName/yourUserName.github.io.git # 8. 推送至远程仓库
    +

    做完上面提交操作,还需要给github仓库配置github pages服务。

    +

    github pages的配置页面

    +
    +

    https://github.com/cnwangk/test/settings/pages

    +
    +

    我测试配置了一个仓库:2022最新版github pages配置界面

    +

    注意:仓库必须是公开的(public)、然后仓库命令可以命令为用户名加github.io。

    +

    默认进入一个设置好的gh-pages分支的仓库这样显示内容的:将gh-pages设置为默认仓库。

    +

    Custom domain:配置域名,比如userName.github.io之外的域名。

    +

    +

    2、访问验证博客

    +
    https://yourUserName.github.io
    -
  6. -
  7. 查看本地仓库大小

    -
    du -sk -m
  8. -
-]]>
- - 生产力 - - - git - -
- - Hello World - /2017/06/10/hello-world/ - 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.

-

Quick Start

Create a new post

$ hexo new "My New Post"
+

可以访问我搭建好的示例:

+
+

https://cnwangk.github.io/

+
+

五 hexo帮助命令

1、 进入blog目录(cmd命令窗口)

+
cd blog
-

More info: Writing

-

Run server

$ hexo server
+

2、 执行帮助命令

+

对使用比较有帮助的命令,根据个人实际使用经验,做了中文注释。

+
D:\hexo\blog>hexo --h             #查看帮助命令,使用Next主题
INFO Validating config
INFO ==================================
███╗ ██╗███████╗██╗ ██╗████████╗
████╗ ██║██╔════╝╚██╗██╔╝╚══██╔══╝
██╔██╗ ██║█████╗ ╚███╔╝ ██║
██║╚██╗██║██╔══╝ ██╔██╗ ██║
██║ ╚████║███████╗██╔╝ ██╗ ██║
╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚═╝
========================================
NexT version 8.10.1 #使用Next主题版本
Documentation: https://theme-next.js.org
========================================
Usage: hexo <command>

Commands: # 命令
clean Remove generated files and cache. # 移除文件和缓存
config Get or set configurations. # 获取和设置配置
deploy Deploy your website. # 发布到你的网站
generate Generate static files. # 生成静态文件
help Get help on a command. # 获取帮助命令
init Create a new Hexo folder. # 初始化,创建一个新的hexo目录
lc-counter hexo-leancloud-counter-security # 配置阅读数需要下载插件
list List the information of the site #站点列表信息
migrate Migrate your site from other system to Hexo.
new Create a new post. #新建一个md(markdown)文件
publish Moves a draft post from _drafts to _posts folder.
render Render files with renderer plugins.
server Start the server. #启动hexo服务
version Display version information. #查看hexo版本

Global Options:
--config Specify config file instead of using _config.yml #配置全局_config.yml文件
--cwd Specify the CWD
--debug Display all verbose messages in the terminal #开启debug模式
--draft Display draft posts
--safe Disable all plugins and scripts #禁用所有插件
--silent Hide output on console

For more help, you can use 'hexo help [command]' for the detailed information
or you can check the docs: http://hexo.io/docs/ #hexo官方文档
https://hexo.io/zh-cn/docs/ #hexo中文文档
-

More info: Server

-

Generate static files

$ hexo generate
-

More info: Generating

-

Deploy to remote sites

$ hexo deploy
-

More info: Deployment

+

六 个人配置示例效果

https://blog.cnwangk.top/

+

莫问收获,但问耕耘

+

养得胸中一种恬静

+
+

以上就是本文的全部内容,希望能对你的工作与学习有所帮助。感觉写的好,就拿出你的一键三连。在公众号上更新的可能要快一点,目前还在完善中。能看到这里的,都是帅哥靓妹。如果感觉总结的不到位,也希望能留下您宝贵的意见,我会在文章中进行调整优化。

+

tips:使用hexo搭建的静态博客也会定期更新维护。

+

以上总结,仅供参考哟!希望对你有所帮助。

+

—END—

]]>
静态博客 @@ -13626,162 +13626,72 @@

https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console

后面再次使用时才发现仓库改成rocketmq-dashboard了,已经找不到rocketmq-console。

-

rocketmq-dashboard可视化运维管理界面源码

-
-

https://github.com/apache/rocketmq-dashboard

-
-

rocketmq入门实践

必备环境

-
    -
  1. 64bit OS,Linux/Unix/Mac is recommended;(Windows user see guide below)
  2. -
  3. 64bit JDK 1.8+;
  4. -
  5. Maven 3.2.x;如果没有设置指定maven目录,默认下载jar包在C盘.m2目录
  6. -
  7. Git;
  8. -
  9. 4g+ free disk for Broker server
  10. -
-

一、快速入门

01 配置环境

配置环境变量(settings environment):Windows10环境可以配置到path环境变量中。

-
ROCKETMQ_HOME="D:\rocketmq-all-4.9.1-bin-release"
NAMESRV_ADDR="localhost:9876"
- -

注意:ROCKETMQ_HOME配置为你解压后的rocketmq路径,比如演示:D:\rocketmq-all-4.9.1-bin-release\bin。

-

如果没有配置JDK环境变量,使用记事本或者sublime text编辑mqnamesrv.cmd和mqbroker.cmd文件指定JDK路径即可,使用set设置JAVA_HOME(测试使用)。

-
set JAVA_HOME=D:\jdk8
set JAVA_HOME=D:\JavaEE\jdk8\jdk1.8.0_151
- - - -

Windows平台启动如下两个服务,先启动mqnamesrv服务,再启动mqbroker服务:

-
    -
  1. mqnamesrv.cmd
  2. -
  3. mqbroker.cmd
  4. -
-
D:\rocketmq-all-4.9.1-bin-release\bin>mqnamesrv.cmd

D:\rocketmq-all-4.9.1-bin-release\bin>set JAVA_HOME=D:\JavaEE\jdk8\jdk1.8.0_151
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON


D:\rocketmq-all-4.9.1-bin-release\bin>mqbroker.cmd

D:\rocketmq-all-4.9.1-bin-release\bin>set JAVA_HOME=D:\JavaEE\jdk8\jdk1.8.0_151
The broker[user, 192.168.245.1:10911] boot success. serializeType=JSON and name server is localhost:9876
- - - -

启动后日志管理(logs在C盘用户目录下):

-
    -
  1. consolelogs
  2. -
  3. rocketmqlogs
  4. -
-

启动rocketmq-dashboard-1.0.1-SNAPSHOT.jar服务

-
-

D:\rocketmq-dashboard>java -jar target\rocketmq-dashboard-1.0.1-SNAPSHOT.jar

-
-
D:\rocketmq-dashboard>java -jar target\rocketmq-dashboard-1.0.1-SNAPSHOT.jar

...
21:14:48,915 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/D:/rocketmq-dashboard/target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/logback.xml]
21:14:48,935 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@1bce4f0a - URL [jar:file:/D:/rocketmq-dashboard/target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/logback.xml] is not of type file
...
21:14:49,206 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1580893732 - Will use the pattern C:/Users/user/logs/consolelogs/rocketmq-console-%d{yyyy-MM-dd}.%i.log for the active file
21:14:49,210 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5c3bd550 - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/user/logs/consolelogs/rocketmq-console-%d{yyyy-MM-dd}.%i.log'.
...
21:14:49,229 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: C:\Users\user/logs/consolelogs/rocketmq-console.log
21:14:49,229 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [C:\Users\user/logs/consolelogs/rocketmq-console.log]
21:14:49,230 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
...
21:14:49,232 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@91161c7 - Registering current configuration as safe fallback point
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.6.0)

[2022-05-04 21:14:50.147] INFO background-preinit - HV000001: Hibernate Validator 6.2.0.Final
[2022-05-04 21:14:50.194] INFO main - Starting App v1.0.1-SNAPSHOT using Java 17.0.2 on user with PID 16344 (D:\rocketmq-dashboard\target\rocketmq-dashboard-1.0.1-SNAPSHOT.jar started by user in D:\rocketmq-dashboard)
[2022-05-04 21:14:50.205] INFO main - No active profile set, falling back to default profiles: default
[2022-05-04 21:14:52.633] INFO main - setNameSrvAddrByProperty nameSrvAddr=127.0.0.1:9876
[2022-05-04 21:14:53.088] INFO main - Tomcat initialized with port(s): 8080 (http)
[2022-05-04 21:14:53.106] INFO main - Initializing ProtocolHandler ["http-nio-8080"]
[2022-05-04 21:14:53.107] INFO main - Starting service [Tomcat]
[2022-05-04 21:14:53.109] INFO main - Starting Servlet engine: [Apache Tomcat/9.0.55]
...
[2022-05-04 21:15:00.255] INFO scheduling-1 - create MQuser instance ClientConfig [namesrvAddr=127.0.0.1:9876, clientIP=192.168.245.1, instanceName=1651670100054, clientCallbackExecutorThreads=4, pollNameServerInterval=30000, heartbeatBrokerInterval=30000, persistConsumerOffsetInterval=5000, pullTimeDelayMillsWhenException=1000, unitMode=false, unitName=null, vipChannelEnabled=true, useTLS=false, language=JAVA, namespace=null, mqClientApiTimeout=3000] success.
- - - -

访问如下地址进入web管理界面:

-
-

http://127.0.0.1:8080/

-
-

02 官方文档

rocketmq官方中文文档:

-
-

https://github.com/apache/rocketmq-externals/blob/master/docs/connect/cn/README.md

-
-

rocketmq快速启动:

-
-

https://rocketmq.apache.org/docs/quick-start/

-
-

rocketmq下载:

-
-

https://rocketmq.apache.org/dowloading/releases/

-
-

持续更新中…

-]]> - - web开发 - - - rocketmq - -
- - rockyLinux镜像源下载地址 - /2023/04/17/rockyLinux%E9%95%9C%E5%83%8F%E6%BA%90%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80/ - rockylinux 官网获取

官网:https://rockylinux.org/download

-

如果速度比较慢,请前往第三方开源镜像站获取,比如:阿里云、网易、中国科技大学以及浙江大学。

-

如下是个人整理的一些开源镜像站地址,可供参考:

- -

公共资源,请适度使用!资源最丰富的还属阿里云开源镜像站。

- - - -

rockylinux 开源镜像站获取

tips:如何获取?进入目录结构 rocky 或者 rockylinux,选择数字版本(比如9.1),再次选择目录 isos,根据你的场景需求选择操作平台(支持的处理器,请看下面的简单介绍)。

-

rockylinux阿里云镜像仓库
https://mirrors.aliyun.com/rockylinux/

-

8.7 & 9.1 直达:

- -

rockylinux网易镜像仓库
https://mirrors.163.com/rocky/

-

rockylinux中国科技大学镜像仓库
https://mirrors.ustc.edu.cn/rocky/

-

rockylinux浙江大学镜像仓库
https://mirrors.zju.edu.cn/rocky/

-

访问上面提供的链接,根据你的场景需求选择操作平台:

- -

aarch64 是什么
AArch64(Advanced ARM64)是一种64位精简指令集(RISC)处理器(计算机体系)架构。旨在提供高性能和低功耗的处理器,设计用于嵌入式系统、物联网设备和高性能计算应用。它是由ARM公司开发的,ARM处理器家族的一部分,由ARM公司开发并于2014年推出。并且是64位ARM处理器的一种,具有四个ARMv8-A核心和四个ARMv8-M核心。

-

AArch64处理器具有以下特点:

- -

AArch64处理器主要应用于物联网、汽车、医疗、工控、高性能计算、嵌入式系统和云计算等领域,如智能家居、智能穿戴、物联网传感器、嵌入式系统等。由于其高性能和低功耗的特点,AArch64处理器在许多领域中具有广泛的应用前景。

-

ppc64le 是什么
ppc64le是一个已经推出了纯小端模式,POWER8作为首要目标,OpenPower基金会基础的技术,试图使基于x86的Linux软件的移植工作以最小的工作量进行。它是一款64位的处理器,采用了AMD64(x86-64)指令集架构,具有64个64位寄存器、8个64位通用寄存器、32个32位寄存器和两个64位指令寄存器。它支持IEEE 754标准的双精度浮点运算,具有较低的时钟频率和功耗,适用于需要高性能和低功耗的应用领域。

-

ppc64le处理器采用了小端模式,这意味着它具有较低的总线速度,但是能够在较小的空间内实现较高的性能。这使得它适用于需要高性能计算和存储系统的应用领域,如高性能计算机、网络处理器和存储控制器等。此外,ppc64le处理器还支持动态调整指令缓存大小和数据缓存大小,进一步提高了其性能和效率。

-

总的来说,ppc64le是一款功能强大的处理器,适用于需要高性能计算和存储系统的应用领域

-

s390x 是什么
S390X(Series 300)是IBM公司推出的64位桌面和服务器处理器系列,旨在提供高性能和可靠性。该系列处理器基于IBM Power7处理器技术,采用Socket 7接口,具有多个处理器核心和高达128个线程。
S390X是一种64位精简指令集计算机体系结构,旨在提供高性能和低功耗的处理器。它是由IBM公司开发的,并且是64位Intel处理器的一种,具有四个Intel 64核心和四个Intel 32核心。

-

S390X处理器系列具有以下特点:

- -

S390X处理器主要应用于企业服务器、高性能计算、虚拟化和高清视频播放等领域。由于其高性能和低功耗的特点,S390X处理器在许多领域中具有广泛的应用前景,包括数据中心、云计算和高性能计算服务器等。

-

x86_64 是什么

-

AMD64与Intel64 颇有争议。毕竟AMD率先发布,普遍认为AMD率先推出x86_64,也称AMD64。所以,你在某开源仓库下载安装包时看到后缀名通常带有amd64字样

-

在x86-64出现以前,英特尔与惠普联合设计出IA-64架构;惟IA-64并不与x86兼容,且市场反应较冷淡,同时受制于多个专利权,使其他厂商不能模仿,规模没有很大。

-

x86_64架构于1999年由AMD设计,并首次公开64位集以扩展给x86,称为“AMD64”。其后也为英特尔所采用,现时英特尔称之为“Intel 64”,在之前曾使用过“Clackamas Technology” (CT)、“IA-32e”及“EM64T”。苹果公司和RPM包管理员以“x86-64”或“x86_64”称呼此64位架构。甲骨文公司及Microsoft称之为“x64”。BSD家族及其他Linux发行版则使用“x64-64”,32位版本则称为“i386”(或 i486/586/686),Arch Linux用x86_64称呼此64位架构。

-

x86_64(64-bit extended)是x86架构的64位拓展,是向后兼容于16位和32位的x86架构的64位计算机体系结构。它于1999年由AMD公司设计,并于2000年8月作为AMD64首次发布。AMD64架构包括两个处理器插槽(Socket A和Socket F)和一个64位的数据总线。

-

在AMD64架构中,32位和64位的代码可以共存,这意味着在一个平台上可以同时运行32位和64位应用程序。这使得AMD64成为在服务器和高性能计算领域广泛使用的64位计算平台。

-

除了AMD64,还有其他的64位计算平台,如Intel64和Itanium。Intel64是32位的x86-64架构,而Itanium是64位的Itanium-64架构。这些平台都是向后兼容于32位和64位的x86架构,并且都包括两个处理器插槽和一个64位的数据总线。

-

x86_64架构具有以下特点:

- -

在2008年,微软公司发布了.NET框架,其中包括了对x86_64的支持。这使得C#和.NET程序可以编译为64位的.NET程序,并在64位的Windows操作系统上运行。此外,Linux发行版也开始将x86_64架构作为其默认的64位架构,以提供对64位程序的完全支持。

+

rocketmq-dashboard可视化运维管理界面源码

+
+

https://github.com/apache/rocketmq-dashboard

+
+

rocketmq入门实践

必备环境

+
    +
  1. 64bit OS,Linux/Unix/Mac is recommended;(Windows user see guide below)
  2. +
  3. 64bit JDK 1.8+;
  4. +
  5. Maven 3.2.x;如果没有设置指定maven目录,默认下载jar包在C盘.m2目录
  6. +
  7. Git;
  8. +
  9. 4g+ free disk for Broker server
  10. +
+

一、快速入门

01 配置环境

配置环境变量(settings environment):Windows10环境可以配置到path环境变量中。

+
ROCKETMQ_HOME="D:\rocketmq-all-4.9.1-bin-release"
NAMESRV_ADDR="localhost:9876"
+ +

注意:ROCKETMQ_HOME配置为你解压后的rocketmq路径,比如演示:D:\rocketmq-all-4.9.1-bin-release\bin。

+

如果没有配置JDK环境变量,使用记事本或者sublime text编辑mqnamesrv.cmd和mqbroker.cmd文件指定JDK路径即可,使用set设置JAVA_HOME(测试使用)。

+
set JAVA_HOME=D:\jdk8
set JAVA_HOME=D:\JavaEE\jdk8\jdk1.8.0_151
+ + + +

Windows平台启动如下两个服务,先启动mqnamesrv服务,再启动mqbroker服务:

+
    +
  1. mqnamesrv.cmd
  2. +
  3. mqbroker.cmd
  4. +
+
D:\rocketmq-all-4.9.1-bin-release\bin>mqnamesrv.cmd

D:\rocketmq-all-4.9.1-bin-release\bin>set JAVA_HOME=D:\JavaEE\jdk8\jdk1.8.0_151
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON


D:\rocketmq-all-4.9.1-bin-release\bin>mqbroker.cmd

D:\rocketmq-all-4.9.1-bin-release\bin>set JAVA_HOME=D:\JavaEE\jdk8\jdk1.8.0_151
The broker[user, 192.168.245.1:10911] boot success. serializeType=JSON and name server is localhost:9876
+ + + +

启动后日志管理(logs在C盘用户目录下):

+
    +
  1. consolelogs
  2. +
  3. rocketmqlogs
  4. +
+

启动rocketmq-dashboard-1.0.1-SNAPSHOT.jar服务

+
+

D:\rocketmq-dashboard>java -jar target\rocketmq-dashboard-1.0.1-SNAPSHOT.jar

+
+
D:\rocketmq-dashboard>java -jar target\rocketmq-dashboard-1.0.1-SNAPSHOT.jar

...
21:14:48,915 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/D:/rocketmq-dashboard/target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/logback.xml]
21:14:48,935 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@1bce4f0a - URL [jar:file:/D:/rocketmq-dashboard/target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/logback.xml] is not of type file
...
21:14:49,206 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1580893732 - Will use the pattern C:/Users/user/logs/consolelogs/rocketmq-console-%d{yyyy-MM-dd}.%i.log for the active file
21:14:49,210 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5c3bd550 - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/user/logs/consolelogs/rocketmq-console-%d{yyyy-MM-dd}.%i.log'.
...
21:14:49,229 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: C:\Users\user/logs/consolelogs/rocketmq-console.log
21:14:49,229 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [C:\Users\user/logs/consolelogs/rocketmq-console.log]
21:14:49,230 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
...
21:14:49,232 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@91161c7 - Registering current configuration as safe fallback point
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.6.0)

[2022-05-04 21:14:50.147] INFO background-preinit - HV000001: Hibernate Validator 6.2.0.Final
[2022-05-04 21:14:50.194] INFO main - Starting App v1.0.1-SNAPSHOT using Java 17.0.2 on user with PID 16344 (D:\rocketmq-dashboard\target\rocketmq-dashboard-1.0.1-SNAPSHOT.jar started by user in D:\rocketmq-dashboard)
[2022-05-04 21:14:50.205] INFO main - No active profile set, falling back to default profiles: default
[2022-05-04 21:14:52.633] INFO main - setNameSrvAddrByProperty nameSrvAddr=127.0.0.1:9876
[2022-05-04 21:14:53.088] INFO main - Tomcat initialized with port(s): 8080 (http)
[2022-05-04 21:14:53.106] INFO main - Initializing ProtocolHandler ["http-nio-8080"]
[2022-05-04 21:14:53.107] INFO main - Starting service [Tomcat]
[2022-05-04 21:14:53.109] INFO main - Starting Servlet engine: [Apache Tomcat/9.0.55]
...
[2022-05-04 21:15:00.255] INFO scheduling-1 - create MQuser instance ClientConfig [namesrvAddr=127.0.0.1:9876, clientIP=192.168.245.1, instanceName=1651670100054, clientCallbackExecutorThreads=4, pollNameServerInterval=30000, heartbeatBrokerInterval=30000, persistConsumerOffsetInterval=5000, pullTimeDelayMillsWhenException=1000, unitMode=false, unitName=null, vipChannelEnabled=true, useTLS=false, language=JAVA, namespace=null, mqClientApiTimeout=3000] success.
+ + + +

访问如下地址进入web管理界面:

+
+

http://127.0.0.1:8080/

+
+

02 官方文档

rocketmq官方中文文档:

+
+

https://github.com/apache/rocketmq-externals/blob/master/docs/connect/cn/README.md

+
+

rocketmq快速启动:

+
+

https://rocketmq.apache.org/docs/quick-start/

+
+

rocketmq下载:

+
+

https://rocketmq.apache.org/dowloading/releases/

+
+

持续更新中…

]]>
- 开发运维 + web开发 - rocky + rocketmq
@@ -14086,6 +13996,96 @@ PostgreSQL + + rockyLinux镜像源下载地址 + /2023/04/17/rockyLinux%E9%95%9C%E5%83%8F%E6%BA%90%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80/ + rockylinux 官网获取

官网:https://rockylinux.org/download

+

如果速度比较慢,请前往第三方开源镜像站获取,比如:阿里云、网易、中国科技大学以及浙江大学。

+

如下是个人整理的一些开源镜像站地址,可供参考:

+ +

公共资源,请适度使用!资源最丰富的还属阿里云开源镜像站。

+ + + +

rockylinux 开源镜像站获取

tips:如何获取?进入目录结构 rocky 或者 rockylinux,选择数字版本(比如9.1),再次选择目录 isos,根据你的场景需求选择操作平台(支持的处理器,请看下面的简单介绍)。

+

rockylinux阿里云镜像仓库
https://mirrors.aliyun.com/rockylinux/

+

8.7 & 9.1 直达:

+ +

rockylinux网易镜像仓库
https://mirrors.163.com/rocky/

+

rockylinux中国科技大学镜像仓库
https://mirrors.ustc.edu.cn/rocky/

+

rockylinux浙江大学镜像仓库
https://mirrors.zju.edu.cn/rocky/

+

访问上面提供的链接,根据你的场景需求选择操作平台:

+ +

aarch64 是什么
AArch64(Advanced ARM64)是一种64位精简指令集(RISC)处理器(计算机体系)架构。旨在提供高性能和低功耗的处理器,设计用于嵌入式系统、物联网设备和高性能计算应用。它是由ARM公司开发的,ARM处理器家族的一部分,由ARM公司开发并于2014年推出。并且是64位ARM处理器的一种,具有四个ARMv8-A核心和四个ARMv8-M核心。

+

AArch64处理器具有以下特点:

+ +

AArch64处理器主要应用于物联网、汽车、医疗、工控、高性能计算、嵌入式系统和云计算等领域,如智能家居、智能穿戴、物联网传感器、嵌入式系统等。由于其高性能和低功耗的特点,AArch64处理器在许多领域中具有广泛的应用前景。

+

ppc64le 是什么
ppc64le是一个已经推出了纯小端模式,POWER8作为首要目标,OpenPower基金会基础的技术,试图使基于x86的Linux软件的移植工作以最小的工作量进行。它是一款64位的处理器,采用了AMD64(x86-64)指令集架构,具有64个64位寄存器、8个64位通用寄存器、32个32位寄存器和两个64位指令寄存器。它支持IEEE 754标准的双精度浮点运算,具有较低的时钟频率和功耗,适用于需要高性能和低功耗的应用领域。

+

ppc64le处理器采用了小端模式,这意味着它具有较低的总线速度,但是能够在较小的空间内实现较高的性能。这使得它适用于需要高性能计算和存储系统的应用领域,如高性能计算机、网络处理器和存储控制器等。此外,ppc64le处理器还支持动态调整指令缓存大小和数据缓存大小,进一步提高了其性能和效率。

+

总的来说,ppc64le是一款功能强大的处理器,适用于需要高性能计算和存储系统的应用领域

+

s390x 是什么
S390X(Series 300)是IBM公司推出的64位桌面和服务器处理器系列,旨在提供高性能和可靠性。该系列处理器基于IBM Power7处理器技术,采用Socket 7接口,具有多个处理器核心和高达128个线程。
S390X是一种64位精简指令集计算机体系结构,旨在提供高性能和低功耗的处理器。它是由IBM公司开发的,并且是64位Intel处理器的一种,具有四个Intel 64核心和四个Intel 32核心。

+

S390X处理器系列具有以下特点:

+ +

S390X处理器主要应用于企业服务器、高性能计算、虚拟化和高清视频播放等领域。由于其高性能和低功耗的特点,S390X处理器在许多领域中具有广泛的应用前景,包括数据中心、云计算和高性能计算服务器等。

+

x86_64 是什么

+

AMD64与Intel64 颇有争议。毕竟AMD率先发布,普遍认为AMD率先推出x86_64,也称AMD64。所以,你在某开源仓库下载安装包时看到后缀名通常带有amd64字样

+

在x86-64出现以前,英特尔与惠普联合设计出IA-64架构;惟IA-64并不与x86兼容,且市场反应较冷淡,同时受制于多个专利权,使其他厂商不能模仿,规模没有很大。

+

x86_64架构于1999年由AMD设计,并首次公开64位集以扩展给x86,称为“AMD64”。其后也为英特尔所采用,现时英特尔称之为“Intel 64”,在之前曾使用过“Clackamas Technology” (CT)、“IA-32e”及“EM64T”。苹果公司和RPM包管理员以“x86-64”或“x86_64”称呼此64位架构。甲骨文公司及Microsoft称之为“x64”。BSD家族及其他Linux发行版则使用“x64-64”,32位版本则称为“i386”(或 i486/586/686),Arch Linux用x86_64称呼此64位架构。

+

x86_64(64-bit extended)是x86架构的64位拓展,是向后兼容于16位和32位的x86架构的64位计算机体系结构。它于1999年由AMD公司设计,并于2000年8月作为AMD64首次发布。AMD64架构包括两个处理器插槽(Socket A和Socket F)和一个64位的数据总线。

+

在AMD64架构中,32位和64位的代码可以共存,这意味着在一个平台上可以同时运行32位和64位应用程序。这使得AMD64成为在服务器和高性能计算领域广泛使用的64位计算平台。

+

除了AMD64,还有其他的64位计算平台,如Intel64和Itanium。Intel64是32位的x86-64架构,而Itanium是64位的Itanium-64架构。这些平台都是向后兼容于32位和64位的x86架构,并且都包括两个处理器插槽和一个64位的数据总线。

+

x86_64架构具有以下特点:

+ +

在2008年,微软公司发布了.NET框架,其中包括了对x86_64的支持。这使得C#和.NET程序可以编译为64位的.NET程序,并在64位的Windows操作系统上运行。此外,Linux发行版也开始将x86_64架构作为其默认的64位架构,以提供对64位程序的完全支持。

+]]>
+ + 开发运维 + + + rocky + +
springboot初体验 /2020/10/30/springboot%E5%88%9D%E4%BD%93%E9%AA%8C/ @@ -14428,117 +14428,31 @@
[root@localhost ~]# wget --help | grep "保存文件"
-P, --directory-prefix=前缀 保存文件到 <前缀>/..

如果没有 wget 工具,请先安装:

-
dnf -y install wget
- -

安装 vim-plug 插件后,加入如下内容即可安装 nerdtree 和 tagbar 插件:

-
set number
call plug#begin()
Plug 'preservim/nerdtree'
Plug 'preservim/tagbar'
call plug#end()
-

个人认为,这两个插件还是很实用的,尤其是浏览代码。

-

如果想 tagbar 正常运行,还需安装:

-
dnf -y install ctags
- -

执行插件安装命令:

-
:PlugInstall
-

插件安装后,重启vim即可生效。

-

安装插件效果展示,最左侧是nerdtree效果,最右侧是tagbar效果。

-

示例:

-
vim Test.java
:NERDTree
:Tagbar
-

pp9CYh6.jpg

-

打包好的 Windows 和 Linux 平台 vim、nvim 安装包、PDF教程以及相关插件。

-

链接: https://pan.baidu.com/s/1QWyTn1H20I7c3KBKaXKXQA?pwd=8888
提取码: 8888

-

以上总结,仅供参考哟,希望对你的工作有所帮助!

-

—END—

-]]> - - 生产力 - - - vim - -
- - windows下jdk手动安装jre教程 - /2021/05/25/windows%E4%B8%8Bjdk%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85jre%E6%95%99%E7%A8%8B/ - 自己之前一直在用jdk6&&7,公司之前也是用jdk7。后来发现更新了jdk8引入了函数式编程,lambda表达式和stream流的概念,再后来发现JDK更新的速度越来越快了。直到有一天逛技术博客的时候发现出到jdk12了,下载后安装了试了下新功能,奇怪的是没有jre我这里下载的是解压版本。于是乎就搜索的一番,原来后续的版本需要手动来安装jre。顺带吐槽一下,去Oracle官网下载旧版本的jdk还得注册账号,以前可是不需要的。而且最近更新是真的快,jdk14也出来了。

-

正文

平时工作环境都是在win上的,只有测试、生产环境在linux下运行的。所以下面尝鲜的时候是在win下进行的。对于想了解jdk最新版本的新特性,还是很有帮助的。

-

一、 首先进入你安装jdk的目录

我这已经是手动执行过命令了,所以生成了jre

-

在这里插入图片描述

-

二、cmd(管理员身份启动)

cd 到安装jdk目录,是不是发现没有jre,很诡异,看下面如何操作。
在这里插入图片描述
在这里插入图片描述

-

三、执行以下命令生成jre

当然我自己也做了测试,对于jdk14的版本也同样适用。

-
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
- - -

在这里插入图片描述

-

四、jdk目录生成jre文件夹

证明大功告成。可以测试一下了,体验新特性。
在这里插入图片描述

-

尾声

善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富。

-]]>
- - web开发 - - - JDK - -
- - 【解决HCNetSDK.dll无法加载问题】海康SDK开发对接java项目demo运行 - /2022/02/21/%E3%80%90%E8%A7%A3%E5%86%B3HCNetSDK-dll%E6%97%A0%E6%B3%95%E5%8A%A0%E8%BD%BD%E9%97%AE%E9%A2%98%E3%80%91%E6%B5%B7%E5%BA%B7SDK%E5%BC%80%E5%8F%91%E5%AF%B9%E6%8E%A5java%E9%A1%B9%E7%9B%AEdemo%E8%BF%90%E8%A1%8C/ - 前言

最近公司有新需求,需要接入大华海康的项目,优先解决接入海康的SDK。对于我这个之前完全没接触过对接SDK的新手来说,完全是焦头烂额。公司只提供了SDK文档,没有其它文档支持。但是需要使用java进行对接数据。俗话说的好,工欲善其事,必先利其器。海康官方的SDK文档提供了java的demo例子,但是文档说明并不全面(个人感觉,遇到了很多坑,故予以总结)。

-

运行demo之前,最好浏览一遍SDK文档,比如操作系统与JDK以及DLL文件保持一致性。而且对你调试代码也颇有帮助,返回一些错误码在官方提供的文档有说明参照。例如:win64下运行64位JDK和64位DLL文件,也可以运行32位JDK和32位的DLL文件。

-

正文

官方文档直通车https://www.hikvision.com/cn/download_61.html
在这里插入图片描述
官方文档给出的【注意事项

-

—————————————————————————————————————————————-
一、 更新设备网络SDK时,SDK开发包【库文件】里的

-
HCNetSDK.dll、
HCCore.dll、
PlayCtrl.dll、
SuperRender.dll、
AudioRender.dll、
HCNetSDKCom文件夹、
ssleay32.dll、
libeay32.dll、
hlog.dll、
hpr.dll、
zlib1.dll、
log4cxx.properties
- -

等文件均要加载到程序里面,【HCNetSDKCom文件夹】(包含里面的功能组件dll库文件)需要和HCNetSDK.dllHCCore.dll一起加载,放在同一个目录下,且HCNetSDKCom文件夹名不能修改

-

二、 如果自行开发软件不能正常实现相应功能,而且程序没有指定加载的dll库路径,请在程序运行的情况下尝试删HCNetSDK.dll。如果可以删除,说明程序可能调用到系统盘Windows->System32目录下的dll文件,建议删除或者更新该目录下的相关dll文件;如果不能删除,dll文件右键选择属性确认SDK库版本。

-

三、如按上述步骤操作后还是不能实现相应功能,请根据NET_DVR_GetLastError返回的错误号判断原因

-

—————————————————————————————————————————————–

-
- -

基于海康SDK开发提供的demojava版运行,基于HCNetSDKV6.1.4.42版本写的,此时是官方提供的最新版本
在这里插入图片描述

-

一、环境的确认

注意我下载的是64位的SDK,操作系统win10_x64,jdk_x64熟读官方文档真的很重要,会少走很多弯路JDK和SDK版本必须一致,同是32位或者64位。如果不统一,遇到问题我也没辙。
在这里插入图片描述

-

二、引入项目到编辑器

使用eclipse for javaee或者IDEA都行,看个人喜好嘛。注意必须要将jar包和库文件build path怎么引入我相信大家肯定知道,example.jarjna.jar引入后代码就不会报红了。引入这里面指定的也能运行起来demo,没必要将整个库文件引入。

-

eclipse引入项目的目录结构,我直接新建了sdk文件夹放入指定的库文件
在这里插入图片描述

-

IDEA引入项目的目录结构,这是将整个库文件完全引入时做的测试
在这里插入图片描述

-

三、遇到问题并解析问题

最开始你会看到这个不友好的警告,一个很严重的java异常
在这里插入图片描述

-

运行java版demo遇到的问题一Unable to load library 'HCNetSDK': ÕҲ»µ½ָ¶¨

-
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'HCNetSDK': ÕҲ»µ½ָ¶¨
-

在这里插入图片描述
解析问题一:不难看出来,无法去加载库文件HCNetSDK.dll这时你分析一下这个报错的代码提示,可以看出来定位到ClientDemo.java这个类的第66行,那肯定是找不到HCNetSDK接口里提供的HCNetSDK实例。再向上看定位分析,找不到HCNetSDK.dll路径,定位到第36行。遇到报错不要怕,重要的是学会分析问题所在并去解决掉,领导也喜欢善于解决问题的。

-
- -

运行java版demo遇到的问题二Unable to load library 'PlayCtrl': ÕҲ»µ½ָ¶¨

-
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'PlayCtrl': ÕҲ»µ½ָ¶¨
-

在这里插入图片描述
解析问题二:不难看出来,无法去加载库文件PlayCtrl.dll这时你分析一下这个报错的代码提示,可以看出来定位到ClientDemo.java这个类的第67行,那肯定是找不到PlayCtrl接口里提供的PlayCtrl实例。再向上看定位分析,找不到PlayCtrl.dll路径,定位到第3069行。遇到报错不要怕,重要的是学会分析问题所在并去解决掉,领导也喜欢善于解决问题的。

-

四、工具类编写

解析完问题后,我们了解到无法加载HCNetSDK.dll、PlayCtrl.dll这个两个库文件,下面给出解决方案:我采用的是编写工具类GetDLLPath()方法来解决找不到路径的问题。

-

代码如下

-
//获取DLL文件路径
public class GetDLLPath {

//路径
public static String DLL_PATH;
static{
//通过getPath方法去拿路径
String path = GetDLLPath.class.getResource("/").getPath()
.replaceAll("20%", " ").substring(1);

// 这个是解决打包找不到路径的写法,但是目前引入demo运行用不上,我就注释掉了
// String[] ph = path.split("/");
// StringBuilder sb = new StringBuilder();
// for(int i= 0;i < ph.length-2;i++){
// sb.append("/").append(ph[i]);
// }
// //解决打包加载类找不到路径的问题,这里编写你自己存放的路径
// sb.append("/src/main/resource/sdk");
// path = sb.toString();

try {
//设置编码为UTF-8,这样设置转码会出一个问题,一旦遇到+号这种就会转成空格
DLL_PATH = java.net.URLDecoder.decode(path,"utf-8");
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
//测试
}
}
- -
- -

上面的工具类写好后,就可以修改HCNetSDK.java类,我给出原始文档写法和改良后的写法。修改HCNetSDK对象,引入GetDLLPath工具类,下面的代码给出解决方案

-
- -

建议多手动敲代码,不要一味的复制粘贴。不然你会生疏的,除非是达到了一定的技术后,可以偷偷懒也是可以的嘛,当然这是玩笑话,活跃下气氛。

-
- -

五、引入工具类

//原始写法
// HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("HCNetSDK",
// HCNetSDK.class);

//改完后的写法:通过GetDLLPath工具类去找dll绝对路径
HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary(GetDLLPath.DLL_PATH
+ "HCNetSDK.dll",HCNetSDK.class);

//原始写法
// PlayCtrl INSTANCE = (PlayCtrl) Native.loadLibrary("PlayCtrl",
// PlayCtrl.class);
//改良后写法:通过GetDLLPath工具类去找dll绝对路径
PlayCtrl INSTANCE = (PlayCtrl) Native.loadLibrary(GetDLLPath.DLL_PATH
+"PlayCtrl.dll",PlayCtrl.class);
- -



-

六、运行成功后的界面

做完以上步骤后,终于可以运行起来了demo起飞,开启征程。工欲善其事,必先利其器
在这里插入图片描述
当然这是官方文档基于javaswing写出的demo。如果项目需要引入,基本是用web开发的模式,网上找一找海康web3.0也是可行的。当然你自己写个出来,也是可行的,最终你还是要在自己的项目中编写接口拿到数据。

-
- -

七、分析接口

其实不难发现,最重要的就是HCNetSDK这个接口里面提供的类容。比如定义了一些常量和全局错误代码可供快速查询,具体还是看你需要用到那一部分。下面截取部分代码
在这里插入图片描述
在这里插入图片描述
最后点击注册时遇到了报错提示,可以使用hCNetSDK.NET_DVR_GetLastError()方法,获取错误code码,在HCNetSDK类中有提示

-
System.out.println(hCNetSDK.NET_DVR_GetLastError());
-

注册失败,通过错误code码定位原因。

-

在这里插入图片描述

-
+
dnf -y install wget
-

定位错误可以参考官方给出的PDF帮助文档

-

在这里插入图片描述

+

安装 vim-plug 插件后,加入如下内容即可安装 nerdtree 和 tagbar 插件:

+
set number
call plug#begin()
Plug 'preservim/nerdtree'
Plug 'preservim/tagbar'
call plug#end()
+

个人认为,这两个插件还是很实用的,尤其是浏览代码。

+

如果想 tagbar 正常运行,还需安装:

+
dnf -y install ctags
+ +

执行插件安装命令:

+
:PlugInstall
+

插件安装后,重启vim即可生效。

+

安装插件效果展示,最左侧是nerdtree效果,最右侧是tagbar效果。

+

示例:

+
vim Test.java
:NERDTree
:Tagbar
+

pp9CYh6.jpg

+

打包好的 Windows 和 Linux 平台 vim、nvim 安装包、PDF教程以及相关插件。

+

链接: https://pan.baidu.com/s/1QWyTn1H20I7c3KBKaXKXQA?pwd=8888
提取码: 8888

+

以上总结,仅供参考哟,希望对你的工作有所帮助!

+

—END—

]]>
- web开发 + 生产力 - Java + vim
@@ -14823,6 +14737,92 @@ vim + + 【解决HCNetSDK.dll无法加载问题】海康SDK开发对接java项目demo运行 + /2022/02/21/%E3%80%90%E8%A7%A3%E5%86%B3HCNetSDK-dll%E6%97%A0%E6%B3%95%E5%8A%A0%E8%BD%BD%E9%97%AE%E9%A2%98%E3%80%91%E6%B5%B7%E5%BA%B7SDK%E5%BC%80%E5%8F%91%E5%AF%B9%E6%8E%A5java%E9%A1%B9%E7%9B%AEdemo%E8%BF%90%E8%A1%8C/ + 前言

最近公司有新需求,需要接入大华海康的项目,优先解决接入海康的SDK。对于我这个之前完全没接触过对接SDK的新手来说,完全是焦头烂额。公司只提供了SDK文档,没有其它文档支持。但是需要使用java进行对接数据。俗话说的好,工欲善其事,必先利其器。海康官方的SDK文档提供了java的demo例子,但是文档说明并不全面(个人感觉,遇到了很多坑,故予以总结)。

+

运行demo之前,最好浏览一遍SDK文档,比如操作系统与JDK以及DLL文件保持一致性。而且对你调试代码也颇有帮助,返回一些错误码在官方提供的文档有说明参照。例如:win64下运行64位JDK和64位DLL文件,也可以运行32位JDK和32位的DLL文件。

+

正文

官方文档直通车https://www.hikvision.com/cn/download_61.html
在这里插入图片描述
官方文档给出的【注意事项

+

—————————————————————————————————————————————-
一、 更新设备网络SDK时,SDK开发包【库文件】里的

+
HCNetSDK.dll、
HCCore.dll、
PlayCtrl.dll、
SuperRender.dll、
AudioRender.dll、
HCNetSDKCom文件夹、
ssleay32.dll、
libeay32.dll、
hlog.dll、
hpr.dll、
zlib1.dll、
log4cxx.properties
+ +

等文件均要加载到程序里面,【HCNetSDKCom文件夹】(包含里面的功能组件dll库文件)需要和HCNetSDK.dllHCCore.dll一起加载,放在同一个目录下,且HCNetSDKCom文件夹名不能修改

+

二、 如果自行开发软件不能正常实现相应功能,而且程序没有指定加载的dll库路径,请在程序运行的情况下尝试删HCNetSDK.dll。如果可以删除,说明程序可能调用到系统盘Windows->System32目录下的dll文件,建议删除或者更新该目录下的相关dll文件;如果不能删除,dll文件右键选择属性确认SDK库版本。

+

三、如按上述步骤操作后还是不能实现相应功能,请根据NET_DVR_GetLastError返回的错误号判断原因

+

—————————————————————————————————————————————–

+
+ +

基于海康SDK开发提供的demojava版运行,基于HCNetSDKV6.1.4.42版本写的,此时是官方提供的最新版本
在这里插入图片描述

+

一、环境的确认

注意我下载的是64位的SDK,操作系统win10_x64,jdk_x64熟读官方文档真的很重要,会少走很多弯路JDK和SDK版本必须一致,同是32位或者64位。如果不统一,遇到问题我也没辙。
在这里插入图片描述

+

二、引入项目到编辑器

使用eclipse for javaee或者IDEA都行,看个人喜好嘛。注意必须要将jar包和库文件build path怎么引入我相信大家肯定知道,example.jarjna.jar引入后代码就不会报红了。引入这里面指定的也能运行起来demo,没必要将整个库文件引入。

+

eclipse引入项目的目录结构,我直接新建了sdk文件夹放入指定的库文件
在这里插入图片描述

+

IDEA引入项目的目录结构,这是将整个库文件完全引入时做的测试
在这里插入图片描述

+

三、遇到问题并解析问题

最开始你会看到这个不友好的警告,一个很严重的java异常
在这里插入图片描述

+

运行java版demo遇到的问题一Unable to load library 'HCNetSDK': ÕҲ»µ½ָ¶¨

+
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'HCNetSDK': ÕҲ»µ½ָ¶¨
+

在这里插入图片描述
解析问题一:不难看出来,无法去加载库文件HCNetSDK.dll这时你分析一下这个报错的代码提示,可以看出来定位到ClientDemo.java这个类的第66行,那肯定是找不到HCNetSDK接口里提供的HCNetSDK实例。再向上看定位分析,找不到HCNetSDK.dll路径,定位到第36行。遇到报错不要怕,重要的是学会分析问题所在并去解决掉,领导也喜欢善于解决问题的。

+
+ +

运行java版demo遇到的问题二Unable to load library 'PlayCtrl': ÕҲ»µ½ָ¶¨

+
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'PlayCtrl': ÕҲ»µ½ָ¶¨
+

在这里插入图片描述
解析问题二:不难看出来,无法去加载库文件PlayCtrl.dll这时你分析一下这个报错的代码提示,可以看出来定位到ClientDemo.java这个类的第67行,那肯定是找不到PlayCtrl接口里提供的PlayCtrl实例。再向上看定位分析,找不到PlayCtrl.dll路径,定位到第3069行。遇到报错不要怕,重要的是学会分析问题所在并去解决掉,领导也喜欢善于解决问题的。

+

四、工具类编写

解析完问题后,我们了解到无法加载HCNetSDK.dll、PlayCtrl.dll这个两个库文件,下面给出解决方案:我采用的是编写工具类GetDLLPath()方法来解决找不到路径的问题。

+

代码如下

+
//获取DLL文件路径
public class GetDLLPath {

//路径
public static String DLL_PATH;
static{
//通过getPath方法去拿路径
String path = GetDLLPath.class.getResource("/").getPath()
.replaceAll("20%", " ").substring(1);

// 这个是解决打包找不到路径的写法,但是目前引入demo运行用不上,我就注释掉了
// String[] ph = path.split("/");
// StringBuilder sb = new StringBuilder();
// for(int i= 0;i < ph.length-2;i++){
// sb.append("/").append(ph[i]);
// }
// //解决打包加载类找不到路径的问题,这里编写你自己存放的路径
// sb.append("/src/main/resource/sdk");
// path = sb.toString();

try {
//设置编码为UTF-8,这样设置转码会出一个问题,一旦遇到+号这种就会转成空格
DLL_PATH = java.net.URLDecoder.decode(path,"utf-8");
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
//测试
}
}
+ +
+ +

上面的工具类写好后,就可以修改HCNetSDK.java类,我给出原始文档写法和改良后的写法。修改HCNetSDK对象,引入GetDLLPath工具类,下面的代码给出解决方案

+
+ +

建议多手动敲代码,不要一味的复制粘贴。不然你会生疏的,除非是达到了一定的技术后,可以偷偷懒也是可以的嘛,当然这是玩笑话,活跃下气氛。

+
+ +

五、引入工具类

//原始写法
// HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary("HCNetSDK",
// HCNetSDK.class);

//改完后的写法:通过GetDLLPath工具类去找dll绝对路径
HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary(GetDLLPath.DLL_PATH
+ "HCNetSDK.dll",HCNetSDK.class);

//原始写法
// PlayCtrl INSTANCE = (PlayCtrl) Native.loadLibrary("PlayCtrl",
// PlayCtrl.class);
//改良后写法:通过GetDLLPath工具类去找dll绝对路径
PlayCtrl INSTANCE = (PlayCtrl) Native.loadLibrary(GetDLLPath.DLL_PATH
+"PlayCtrl.dll",PlayCtrl.class);
+ +



+

六、运行成功后的界面

做完以上步骤后,终于可以运行起来了demo起飞,开启征程。工欲善其事,必先利其器
在这里插入图片描述
当然这是官方文档基于javaswing写出的demo。如果项目需要引入,基本是用web开发的模式,网上找一找海康web3.0也是可行的。当然你自己写个出来,也是可行的,最终你还是要在自己的项目中编写接口拿到数据。

+
+ +

七、分析接口

其实不难发现,最重要的就是HCNetSDK这个接口里面提供的类容。比如定义了一些常量和全局错误代码可供快速查询,具体还是看你需要用到那一部分。下面截取部分代码
在这里插入图片描述
在这里插入图片描述
最后点击注册时遇到了报错提示,可以使用hCNetSDK.NET_DVR_GetLastError()方法,获取错误code码,在HCNetSDK类中有提示

+
System.out.println(hCNetSDK.NET_DVR_GetLastError());
+

注册失败,通过错误code码定位原因。

+

在这里插入图片描述

+
+ +

定位错误可以参考官方给出的PDF帮助文档

+

在这里插入图片描述

+]]>
+ + web开发 + + + Java + +
+ + windows下jdk手动安装jre教程 + /2021/05/25/windows%E4%B8%8Bjdk%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85jre%E6%95%99%E7%A8%8B/ + 自己之前一直在用jdk6&&7,公司之前也是用jdk7。后来发现更新了jdk8引入了函数式编程,lambda表达式和stream流的概念,再后来发现JDK更新的速度越来越快了。直到有一天逛技术博客的时候发现出到jdk12了,下载后安装了试了下新功能,奇怪的是没有jre我这里下载的是解压版本。于是乎就搜索的一番,原来后续的版本需要手动来安装jre。顺带吐槽一下,去Oracle官网下载旧版本的jdk还得注册账号,以前可是不需要的。而且最近更新是真的快,jdk14也出来了。

+

正文

平时工作环境都是在win上的,只有测试、生产环境在linux下运行的。所以下面尝鲜的时候是在win下进行的。对于想了解jdk最新版本的新特性,还是很有帮助的。

+

一、 首先进入你安装jdk的目录

我这已经是手动执行过命令了,所以生成了jre

+

在这里插入图片描述

+

二、cmd(管理员身份启动)

cd 到安装jdk目录,是不是发现没有jre,很诡异,看下面如何操作。
在这里插入图片描述
在这里插入图片描述

+

三、执行以下命令生成jre

当然我自己也做了测试,对于jdk14的版本也同样适用。

+
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
+ + +

在这里插入图片描述

+

四、jdk目录生成jre文件夹

证明大功告成。可以测试一下了,体验新特性。
在这里插入图片描述

+

尾声

善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富。

+]]>
+ + web开发 + + + JDK + +
个人blog搭建指南hexo-theme-next /2024/02/08/%E4%B8%AA%E4%BA%BAblog%E6%90%AD%E5%BB%BA%E6%8C%87%E5%8D%97hexo-theme-next/ @@ -15626,30 +15626,179 @@

函数、触发器和存储过程最主要的一块在BEGIN {业务逻辑区…} END这一块区域。

DELIMITER $$
USE `sakila`$$
DROP PROCEDURE IF EXISTS `film_in_stock`$$
CREATE DEFINER=`root`@`%` PROCEDURE `film_in_stock`(IN p_film_id INT, IN p_store_id INT, OUT p_film_count INT)
READS SQL DATA
SQL SECURITY INVOKER
BEGIN
SELECT inventory_id
FROM inventory
WHERE film_id = p_film_id
AND store_id = p_store_id
AND inventory_in_stock(inventory_id);
SELECT FOUND_ROWS() INTO p_film_count;
END$$
DELIMITER ;
-

关于函数我就不列举MySQL官方提供的示例了。

-

给出一点小小的建议,感觉对你没啥作用可以忽略掉:首先快速熟悉语法使用,对官方的示例进行解读,然后运行验证。最后,书写一些简单的示例达到熟练运用目的。不要只停留在想要执行,而是立即执行并带着思考去看待问题。多问一个为什么,思考本质。

-

——————更新于2022-3-14——————

-

六、SQL查漏补缺

    -
  1. SQL模糊匹配(like)
  2. -
  3. SQL通配符
  4. -
  5. SQL高级过滤
  6. -
  7. show操作符(主要介绍MySQL中的用法)
  8. -
-

更新文章:最近回顾以前工作,发现这些操作符也挺常用的。

-

SQL模糊匹配——通配符——高级过滤

-

END 莫问收获,但问耕耘

终身学习,源于某一次面试的总结,结果停不下来了。以上也是对 SQL 常用联合查询以及聚合函数的一个总结,希望能对你的工作与学习有所帮助。善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富

-

静下心来,才发现原来不会的还有很多。

-

一分耕耘,一分收获。

-

多总结,你会发现,自己的知识宝库越来越丰富。

-

以上总结,仅供参考!

-

最后,希望这篇总结对你的学习和工作有些许帮助!

+

关于函数我就不列举MySQL官方提供的示例了。

+

给出一点小小的建议,感觉对你没啥作用可以忽略掉:首先快速熟悉语法使用,对官方的示例进行解读,然后运行验证。最后,书写一些简单的示例达到熟练运用目的。不要只停留在想要执行,而是立即执行并带着思考去看待问题。多问一个为什么,思考本质。

+

——————更新于2022-3-14——————

+

六、SQL查漏补缺

    +
  1. SQL模糊匹配(like)
  2. +
  3. SQL通配符
  4. +
  5. SQL高级过滤
  6. +
  7. show操作符(主要介绍MySQL中的用法)
  8. +
+

更新文章:最近回顾以前工作,发现这些操作符也挺常用的。

+

SQL模糊匹配——通配符——高级过滤

+

END 莫问收获,但问耕耘

终身学习,源于某一次面试的总结,结果停不下来了。以上也是对 SQL 常用联合查询以及聚合函数的一个总结,希望能对你的工作与学习有所帮助。善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富

+

静下心来,才发现原来不会的还有很多。

+

一分耕耘,一分收获。

+

多总结,你会发现,自己的知识宝库越来越丰富。

+

以上总结,仅供参考!

+

最后,希望这篇总结对你的学习和工作有些许帮助!

+

—END—

+]]> + + 面经 + + + SQL + +
+ + 如何优雅的管理redis + /2022/01/11/%E5%A6%82%E4%BD%95%E4%BC%98%E9%9B%85%E7%9A%84%E7%AE%A1%E7%90%86redis/ + 如何给Redis设置密码,以防止其它未经授权的客户端进行连接呢?怎么知道哪些命令执行的比较慢呢?

+

本文将带你熟悉Redis管理方面的知识,包含安全和通信协议等等内容。
与此同时,还会介与之紧密相关的第三方管理工具。

+

上一篇博客Redis入门篇,其实只能作入门指南来看,并没有多少深度,但是对于面试有不少帮助的。标题有噱头才会引起更多爱好者多Redis的探索,进一步走进Redis这个五彩斑斓的世界,进阶知识只有深入学习才能更快掌握。

+ + + +

本文将带你熟悉Redis管理方面的知识,包含安全和通信协议等等内容。与此同时,还会介与之紧密相关的第三方管理工具。

+

一、安全

谈到安全,我们会联想到些什么?
比如,可信任的环境会给我们带来安全感,陌生的环境则会让你感到未知的恐惧和孤独。
再比如,国产化替代信创项目(安可替代),这里我简称为国创项目,就是要达到信任、安全可靠以及自主可控的的目的。

+

上面谈了这么多(瞎扯了很多,我黔驴尽穷了),只是为了提升我们的安全意识。

+

Redis以简洁为美,创始人曾这么描述过。但同样在安全层面也没做过多的工作。

+

这里补充一点,上次没有讲到如何优雅的关闭Redis服务。虽然可以杀掉进程来控制,但推荐使用如下方式关闭:

+
$ /opt/redis-6.0.8/src/redis-cli shutdown
+ + + +

1、可信环境

Redis的安全设计是基于“Redis运行在可信任的环境”这个前提下做出来的。在生产环境(正式发布环境)运行时,不允许外部直接连接到Redis服务器上,此时应该通过应用程序进行中转,运行在可信任的环境中是保证Redis安全至关重要的方法。

+

1.1、bind参数

在Redis的默认配置文件redis.conf中,只会接受本地的网络请求。但通过在配置文件中修改bind参数更改这一设置,默认的bind设置为:

+

+
bind:127.0.0.1
+

bind参数同样可以绑定多个IP地址,IP地址以间隔空格分隔,如下示例:

+

+
# Examples:
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
+ +

1.2、protected-mode参数

在Redis3.2的版本中,引入了一个特殊模式:保护模式,来更好地确保Redis运行在可信环境之中。值得注意的是,保护模式在默认情况下是开启的。

+

参数设置:

+
#开启保护模式
protected-mode yes
#禁止保护模式
protected-mode no
+ +

作用

+ +

在测试的时候,比如我在Windows下连接我的linux上的Redis服务。为了方便测试,此时临时关闭防护墙firewalld,或者采用firewall-cmd命令加入6379默认端口以及Redis服务,关于防火墙的知识可以参考我之前的文章《firewalld与iptables防火墙管理工具》:

+
#临时关闭防火墙
systemctl stop firewalld.service
+ + + +

注意:Redis3.2之前的版本默认会绑定所有网络接口,任何网络上的计算机(包含公网)都可连接至Redis服务器上。使用旧版的需要注意,最好修改这个参数,或者升级到新版。

+

2、数据库密码

Redis中提供了数据库密码功能。最开始我傻傻的以为直接就能连上,岂不是没有密码,真不安全。直到后来在工作的实践中,才发现原来这货可以是设置密码的,只是我以前并不知道而已。值得注意的是:并且在6.0版本中支持多用户权限控制功能

+

2.1、Redis密码设置

在我的上一篇文章也有提到过。Redis数据库密码是通过参数requirepass来控制的,默认的6.0.8版本是禁用掉了,需要手动开启。

+
#默认禁用掉了
#requirepass foobared
#启用密码
requirepass 123456
+ +

客户端每次连接到Redis时都需要发送密码,否则Redis会拒绝执行客户端发来的命令。例如我使用Windows客户端连接:
开启了保护模式,开始提示DENIED。利用bind绑定了信任的ip或者禁止保护模式,最后还会提示密码为验证。

+

示例:设置键sky,set “sky” “hello redis”

+
#设置sky
set "sky" "hello redis"
+ +

重启redis服务(需要读取到redis.conf文件),会提示验证密码,如下图所示。

+
#获取sky
get sky
(error) NOAUTH Authentication required. #提示需要密码认证
#认证
auth 123456
#再次获取sky
get sky
"hello redis"
+ +

虽然数据库设置密码很方便,但是在复杂的场景中经常需要使用更加细粒度的访问权限控制。比如:

+ +

tips:为此,Redis6.0推出了访问控制列表(ACL)功能,可以支持多用户,并且设置每个用户可以使用的命令和访问的键名规则等。可以通过配置文件设置,如下:

+ +
aclifile /opt/person/conf.acl
+ +

2.1、Redis主从复制注意事项

在配置Redis复制的时候,如果主库设置了密码,需要在从库的配置文件中通过masterauth <master-password>参数设置主库的密码,使从库连接主库时自动使用auth命令验证,配置如下。

+
masterauth <master-password>
+ + + +

3、命名命令

Redis支持在配置文件中将命令重命名,例如将FLUSHALL命令重命名为一个比较复杂的名字,达到保证只有自己的应用可以使用该命令。当然,这个功能可以看做在6.0版本之前没有ACL,作为对命令安全性的一个补充。如下配置:

+
rename-command FLUSHALL redisabcdsky1r2d3is
+ +

如果希望直接一点,直接禁用,通过重命名为空字符

+
rename-command FLUSHALL ""
+ +

再次强调:安全起见,无论设置密码还是重命名命令,都应遵循保证配置文件的安全性,否则就无意义了。

+

二、通信协议

之前有了解到Redis的主从复制以及持久化AOF文件的格式,通过了解Redis通信协议能更好的理解Redis。

+

当然Redis支持两种通信协议。如下:

+ +

1、简单协议

简单协议适合在telnet程序中和Redis通信。如下是通过telnet测试与Redis通信:

+

linux下Redhat系列安装telnet通过yum命令

+
yum -y install telnet
+ +

Windows在启用或关闭Windows功能中启用telnet

+
[root@dywangk redis-6.0.8]# telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
auth 123456 #同样需要验证密码,之前设置了密码
+OK
set foo bar
+OK
get foo
$3
bar
#输入quit退出telnet
+ +

1.1、错误回复

错误回复(error reply)以 - 开头并在后面跟着错误信息:

+
-ERR unknown command ``, with args beginning with:
+ +

1.2、状态回复

状态回复(status reply)以+开头

+
+OK
+ +

1.3、整数回复

整数回复(integer reply)以:开头

+
:3
+ +

1.4、字符串回复

字符串(bulk reply)回复以$开头

+
$3
+ +

2、统一请求协议

统一请求协议是从Redis1.2开始加入的,其命令格式与多行字符串回复格式类似。也以telnet为例演示:

+
[root@dywangk redis-6.0.8]# telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
auth 123456 #同样需要验证密码,之前设置了密码
+OK
*3
$3
set
$3
foo
$3
bar
+OK
#输入quit退出telnet
+ +

同样,在发送命令的时候指定了后面字符串的长度,所以每个命令的每个参数都可以包含二进制的字符。

+

Redis的AOF文件和主从复制时数据库发送的内容使用了统一请求协议。如果简单的使用telnet与Redis进行通信,使用简单协议即可。

+

三、管理工具

1、redis-cli

看到redis-cli大家肯定不陌生,是的我们学习测试快速融入都是使用的redis-cli命令进行的,Redis自带的客户端。Redis可以执行大部分的Redis命令,包括查看数据库信息的info命令、更改数据库设置的config命令和强制进行RDB快照的save命令。简单介绍几个管理Redis常用的命令。

+

1.1、耗时命令日志

当一条命令执行时间超过限制时,Redis会将该命令的执行时间等信息加入耗时命令日志(slow log)以供开发者查看。通过配置文件的slowlog-log-slower-than 10000参数设置限制,注意单位是微秒,可以看到默认为10000。通过slowlog-max-len 128限制记录的条数。

+

获取当前耗时命令日志

+
slowlog get
+ +

每条日志由以下4个部分组成

+ +

测试时,将slowlog-log-slower-than 0 参数设置为0

+
slowlog-log-slower-than 0
+ +

1.2、命令监控

Redis提供了monitor来监控Redis执行的所有命令,redis-cli也支持。例如:

+
monitor
+ +

注意:一般用于调试和纠错使用。

+

2、Medis

获取地址:https://getmedis.com/

+

当Redis中的键比较多时,此时使用redis-cli管理略显不足。Medis是一款macOS下的可视化Redis管理工具。通过界面即可实现管理Redis。

+

3、phpRedisAdmin

看到phpRedisAdmin,大家也许会联想到以网页形式管理MySQL的phpMyAdmin管理工具。

+

下载地址:https://github.com/erikdubbelboer/phpRedisAdmin

+

关于工具的使用,可以参考github说明,这里不做过多介绍。

+

建议:github那访问速度大家都懂的,建议导入到gitee作为镜像仓库使用,每隔一段时间同步。

+

4、Rdbtools

一款采用Python语言开发的Redis的快照文件解析器,它可以根据快照文件导出json数据文件、分析Redis中每个键的占用空间情况。

+

下载地址:https://github.com/sripathikrishnan/redis-rdb-tools

+

关于工具的使用,可以参考github说明,这里不做过多介绍。

+

5、命令参考

最后介绍一个Redis命令大全参考网站,源自于Redis官网,链接如下:

+

https://redis.io/commands

+

粗缯大布裹生涯,腹有诗书气自华。–《和董传留别》苏轼

+

随着自己知识宝库的不断积累,才会慢慢感受到读书破万卷,下笔如有神的感觉。

+

最后,希望对你的工作和学习有所帮助哟!

—END—

]]>
- 面经 + 数据库 - SQL + redis
@@ -16604,230 +16753,98 @@

示例,统计hello.sh的行数,统计有两行,与上面的演示对应起来了。

$ wc -l
[root@cnwangk ~]# wc -l hello.sh #统计hello.sh的行数,统计有两行,与上面的演示对应起来了。
2 hello.sh
-

最后总结出实用的几种,以追加的形式把错误和正确的结果输出到文件中:

- -

6、管道符

6.1、命令格式,如下表格所示:

- - - - - - - - - - - - - - - - - - - - - - - -
命令格式作用
命令1 | 命令2命令1的正确输出作为命令2的操作对象
;,格式1:命令2多个命令顺序执行,命令之间没有任何逻辑关系
&&,命令1&&命令2逻辑与,当命令1正确执行,命令2才会执行;命令1无法正确执行,命令2不会执行
||,命令1||命令2逻辑或,当命令1非正确执行,命令2才会执行;命令1正确执行,命令2不会执行
-

6.2、linux中的通配符,部分整理如下表格所示:

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
参数作用
*匹配任意内容
?匹配任意一个字符
[]匹配任意一个中括号内的字符,例如[abc]代表匹配一个字符,可能是a,也可能是b或c。
[-]匹配中括号里的任意一个字符,-代表一个范围,例如:[a-z]代表匹配一个小写字母。
[ ^ ]逻辑非,匹配不是中括号里的一个字符,例如:[^0-9]代表匹配一个非数字的字符。
-

续更新优化中…

-

总结

能看到这里的,都是帅哥靓妹。以上就是此次文章的所有内容的,希望能对你的工作有所帮助。感觉写的好,就拿出你的一键三连。如果感觉总结的不到位,也希望能留下您宝贵的意见,我会在文章中进行调整优化。

-

linux系列文章:linux小技巧scp命令、linux磁盘管理已经上传至github。

-

个人github仓库地址:

-

https://github.com/cnwangk/wangk-stick

-

以上总结,仅供参考哟!

-

—END—

-]]> - - 开发运维 - - - Linux - -
- - 如何优雅的管理redis - /2022/01/11/%E5%A6%82%E4%BD%95%E4%BC%98%E9%9B%85%E7%9A%84%E7%AE%A1%E7%90%86redis/ - 如何给Redis设置密码,以防止其它未经授权的客户端进行连接呢?怎么知道哪些命令执行的比较慢呢?

-

本文将带你熟悉Redis管理方面的知识,包含安全和通信协议等等内容。
与此同时,还会介与之紧密相关的第三方管理工具。

-

上一篇博客Redis入门篇,其实只能作入门指南来看,并没有多少深度,但是对于面试有不少帮助的。标题有噱头才会引起更多爱好者多Redis的探索,进一步走进Redis这个五彩斑斓的世界,进阶知识只有深入学习才能更快掌握。

- - - -

本文将带你熟悉Redis管理方面的知识,包含安全和通信协议等等内容。与此同时,还会介与之紧密相关的第三方管理工具。

-

一、安全

谈到安全,我们会联想到些什么?
比如,可信任的环境会给我们带来安全感,陌生的环境则会让你感到未知的恐惧和孤独。
再比如,国产化替代信创项目(安可替代),这里我简称为国创项目,就是要达到信任、安全可靠以及自主可控的的目的。

-

上面谈了这么多(瞎扯了很多,我黔驴尽穷了),只是为了提升我们的安全意识。

-

Redis以简洁为美,创始人曾这么描述过。但同样在安全层面也没做过多的工作。

-

这里补充一点,上次没有讲到如何优雅的关闭Redis服务。虽然可以杀掉进程来控制,但推荐使用如下方式关闭:

-
$ /opt/redis-6.0.8/src/redis-cli shutdown
- - - -

1、可信环境

Redis的安全设计是基于“Redis运行在可信任的环境”这个前提下做出来的。在生产环境(正式发布环境)运行时,不允许外部直接连接到Redis服务器上,此时应该通过应用程序进行中转,运行在可信任的环境中是保证Redis安全至关重要的方法。

-

1.1、bind参数

在Redis的默认配置文件redis.conf中,只会接受本地的网络请求。但通过在配置文件中修改bind参数更改这一设置,默认的bind设置为:

-

-
bind:127.0.0.1
-

bind参数同样可以绑定多个IP地址,IP地址以间隔空格分隔,如下示例:

-

-
# Examples:
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
- -

1.2、protected-mode参数

在Redis3.2的版本中,引入了一个特殊模式:保护模式,来更好地确保Redis运行在可信环境之中。值得注意的是,保护模式在默认情况下是开启的。

-

参数设置:

-
#开启保护模式
protected-mode yes
#禁止保护模式
protected-mode no
- -

作用

- -

在测试的时候,比如我在Windows下连接我的linux上的Redis服务。为了方便测试,此时临时关闭防护墙firewalld,或者采用firewall-cmd命令加入6379默认端口以及Redis服务,关于防火墙的知识可以参考我之前的文章《firewalld与iptables防火墙管理工具》:

-
#临时关闭防火墙
systemctl stop firewalld.service
- - - -

注意:Redis3.2之前的版本默认会绑定所有网络接口,任何网络上的计算机(包含公网)都可连接至Redis服务器上。使用旧版的需要注意,最好修改这个参数,或者升级到新版。

-

2、数据库密码

Redis中提供了数据库密码功能。最开始我傻傻的以为直接就能连上,岂不是没有密码,真不安全。直到后来在工作的实践中,才发现原来这货可以是设置密码的,只是我以前并不知道而已。值得注意的是:并且在6.0版本中支持多用户权限控制功能

-

2.1、Redis密码设置

在我的上一篇文章也有提到过。Redis数据库密码是通过参数requirepass来控制的,默认的6.0.8版本是禁用掉了,需要手动开启。

-
#默认禁用掉了
#requirepass foobared
#启用密码
requirepass 123456
- -

客户端每次连接到Redis时都需要发送密码,否则Redis会拒绝执行客户端发来的命令。例如我使用Windows客户端连接:
开启了保护模式,开始提示DENIED。利用bind绑定了信任的ip或者禁止保护模式,最后还会提示密码为验证。

-

示例:设置键sky,set “sky” “hello redis”

-
#设置sky
set "sky" "hello redis"
- -

重启redis服务(需要读取到redis.conf文件),会提示验证密码,如下图所示。

-
#获取sky
get sky
(error) NOAUTH Authentication required. #提示需要密码认证
#认证
auth 123456
#再次获取sky
get sky
"hello redis"
- -

虽然数据库设置密码很方便,但是在复杂的场景中经常需要使用更加细粒度的访问权限控制。比如:

- -

tips:为此,Redis6.0推出了访问控制列表(ACL)功能,可以支持多用户,并且设置每个用户可以使用的命令和访问的键名规则等。可以通过配置文件设置,如下:

- -
aclifile /opt/person/conf.acl
- -

2.1、Redis主从复制注意事项

在配置Redis复制的时候,如果主库设置了密码,需要在从库的配置文件中通过masterauth <master-password>参数设置主库的密码,使从库连接主库时自动使用auth命令验证,配置如下。

-
masterauth <master-password>
- - - -

3、命名命令

Redis支持在配置文件中将命令重命名,例如将FLUSHALL命令重命名为一个比较复杂的名字,达到保证只有自己的应用可以使用该命令。当然,这个功能可以看做在6.0版本之前没有ACL,作为对命令安全性的一个补充。如下配置:

-
rename-command FLUSHALL redisabcdsky1r2d3is
- -

如果希望直接一点,直接禁用,通过重命名为空字符

-
rename-command FLUSHALL ""
- -

再次强调:安全起见,无论设置密码还是重命名命令,都应遵循保证配置文件的安全性,否则就无意义了。

-

二、通信协议

之前有了解到Redis的主从复制以及持久化AOF文件的格式,通过了解Redis通信协议能更好的理解Redis。

-

当然Redis支持两种通信协议。如下:

- -

1、简单协议

简单协议适合在telnet程序中和Redis通信。如下是通过telnet测试与Redis通信:

-

linux下Redhat系列安装telnet通过yum命令

-
yum -y install telnet
- -

Windows在启用或关闭Windows功能中启用telnet

-
[root@dywangk redis-6.0.8]# telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
auth 123456 #同样需要验证密码,之前设置了密码
+OK
set foo bar
+OK
get foo
$3
bar
#输入quit退出telnet
- -

1.1、错误回复

错误回复(error reply)以 - 开头并在后面跟着错误信息:

-
-ERR unknown command ``, with args beginning with:
- -

1.2、状态回复

状态回复(status reply)以+开头

-
+OK
- -

1.3、整数回复

整数回复(integer reply)以:开头

-
:3
- -

1.4、字符串回复

字符串(bulk reply)回复以$开头

-
$3
- -

2、统一请求协议

统一请求协议是从Redis1.2开始加入的,其命令格式与多行字符串回复格式类似。也以telnet为例演示:

-
[root@dywangk redis-6.0.8]# telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
auth 123456 #同样需要验证密码,之前设置了密码
+OK
*3
$3
set
$3
foo
$3
bar
+OK
#输入quit退出telnet
- -

同样,在发送命令的时候指定了后面字符串的长度,所以每个命令的每个参数都可以包含二进制的字符。

-

Redis的AOF文件和主从复制时数据库发送的内容使用了统一请求协议。如果简单的使用telnet与Redis进行通信,使用简单协议即可。

-

三、管理工具

1、redis-cli

看到redis-cli大家肯定不陌生,是的我们学习测试快速融入都是使用的redis-cli命令进行的,Redis自带的客户端。Redis可以执行大部分的Redis命令,包括查看数据库信息的info命令、更改数据库设置的config命令和强制进行RDB快照的save命令。简单介绍几个管理Redis常用的命令。

-

1.1、耗时命令日志

当一条命令执行时间超过限制时,Redis会将该命令的执行时间等信息加入耗时命令日志(slow log)以供开发者查看。通过配置文件的slowlog-log-slower-than 10000参数设置限制,注意单位是微秒,可以看到默认为10000。通过slowlog-max-len 128限制记录的条数。

-

获取当前耗时命令日志

-
slowlog get
- -

每条日志由以下4个部分组成

- -

测试时,将slowlog-log-slower-than 0 参数设置为0

-
slowlog-log-slower-than 0
- -

1.2、命令监控

Redis提供了monitor来监控Redis执行的所有命令,redis-cli也支持。例如:

-
monitor
- -

注意:一般用于调试和纠错使用。

-

2、Medis

获取地址:https://getmedis.com/

-

当Redis中的键比较多时,此时使用redis-cli管理略显不足。Medis是一款macOS下的可视化Redis管理工具。通过界面即可实现管理Redis。

-

3、phpRedisAdmin

看到phpRedisAdmin,大家也许会联想到以网页形式管理MySQL的phpMyAdmin管理工具。

-

下载地址:https://github.com/erikdubbelboer/phpRedisAdmin

-

关于工具的使用,可以参考github说明,这里不做过多介绍。

-

建议:github那访问速度大家都懂的,建议导入到gitee作为镜像仓库使用,每隔一段时间同步。

-

4、Rdbtools

一款采用Python语言开发的Redis的快照文件解析器,它可以根据快照文件导出json数据文件、分析Redis中每个键的占用空间情况。

-

下载地址:https://github.com/sripathikrishnan/redis-rdb-tools

-

关于工具的使用,可以参考github说明,这里不做过多介绍。

-

5、命令参考

最后介绍一个Redis命令大全参考网站,源自于Redis官网,链接如下:

-

https://redis.io/commands

-

粗缯大布裹生涯,腹有诗书气自华。–《和董传留别》苏轼

-

随着自己知识宝库的不断积累,才会慢慢感受到读书破万卷,下笔如有神的感觉。

-

最后,希望对你的工作和学习有所帮助哟!

+

最后总结出实用的几种,以追加的形式把错误和正确的结果输出到文件中:

+ +

6、管道符

6.1、命令格式,如下表格所示:

+ + + + + + + + + + + + + + + + + + + + + + + +
命令格式作用
命令1 | 命令2命令1的正确输出作为命令2的操作对象
;,格式1:命令2多个命令顺序执行,命令之间没有任何逻辑关系
&&,命令1&&命令2逻辑与,当命令1正确执行,命令2才会执行;命令1无法正确执行,命令2不会执行
||,命令1||命令2逻辑或,当命令1非正确执行,命令2才会执行;命令1正确执行,命令2不会执行
+

6.2、linux中的通配符,部分整理如下表格所示:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
参数作用
*匹配任意内容
?匹配任意一个字符
[]匹配任意一个中括号内的字符,例如[abc]代表匹配一个字符,可能是a,也可能是b或c。
[-]匹配中括号里的任意一个字符,-代表一个范围,例如:[a-z]代表匹配一个小写字母。
[ ^ ]逻辑非,匹配不是中括号里的一个字符,例如:[^0-9]代表匹配一个非数字的字符。
+

续更新优化中…

+

总结

能看到这里的,都是帅哥靓妹。以上就是此次文章的所有内容的,希望能对你的工作有所帮助。感觉写的好,就拿出你的一键三连。如果感觉总结的不到位,也希望能留下您宝贵的意见,我会在文章中进行调整优化。

+

linux系列文章:linux小技巧scp命令、linux磁盘管理已经上传至github。

+

个人github仓库地址:

+

https://github.com/cnwangk/wangk-stick

+

以上总结,仅供参考哟!

—END—

]]>
- 数据库 + 开发运维 - redis + Linux
+ + 开源镜像站地址 + /2022/06/30/%E5%BC%80%E6%BA%90%E9%95%9C%E5%83%8F%E7%AB%99%E5%9C%B0%E5%9D%80/ + 开源软件镜像站

腾讯软件源
https://mirrors.cloud.tencent.com/

+

华为开源镜像站
https://mirrors.huaweicloud.com/home

+

阿里巴巴开源镜像站
https://developer.aliyun.com/mirror/

+

网易开源镜像站
https://mirrors.163.com/

+

清华大学开源软件镜像站
https://mirrors.tuna.tsinghua.edu.cn/

+

中国科学技术大学
https://mirrors.ustc.edu.cn/

+

浙江大学开源软件镜像站
https://mirrors.zju.edu.cn/

+

学术镜像网站

谷歌学术镜像

+

https://ac.scmor.com/

+]]>
+ + 开发运维 + +
常用护眼色 /2022/02/17/%E5%B8%B8%E7%94%A8%E6%8A%A4%E7%9C%BC%E8%89%B2/ @@ -16889,23 +16906,6 @@ 护眼色 - - 开源镜像站地址 - /2022/06/30/%E5%BC%80%E6%BA%90%E9%95%9C%E5%83%8F%E7%AB%99%E5%9C%B0%E5%9D%80/ - 开源软件镜像站

腾讯软件源
https://mirrors.cloud.tencent.com/

-

华为开源镜像站
https://mirrors.huaweicloud.com/home

-

阿里巴巴开源镜像站
https://developer.aliyun.com/mirror/

-

网易开源镜像站
https://mirrors.163.com/

-

清华大学开源软件镜像站
https://mirrors.tuna.tsinghua.edu.cn/

-

中国科学技术大学
https://mirrors.ustc.edu.cn/

-

浙江大学开源软件镜像站
https://mirrors.zju.edu.cn/

-

学术镜像网站

谷歌学术镜像

-

https://ac.scmor.com/

-]]>
- - 开发运维 - -
微信公众号留言怎么开 /2024/04/20/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E7%95%99%E8%A8%80%E6%80%8E%E4%B9%88%E5%BC%80/ @@ -17903,36 +17903,6 @@ MariaDB - - 解决eclipse导入项目后Html文件中文乱码问题 - /2017/06/26/%E8%A7%A3%E5%86%B3eclipse%E5%AF%BC%E5%85%A5%E9%A1%B9%E7%9B%AE%E5%90%8EHtml%E6%96%87%E4%BB%B6%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98/ - 几年前,刚毕业不久,接触到eclipse for JavaEE开发工具,当时不知道默认编码为GBK,或者是ISO-8859-1。

-

解决eclipse导入项目后Html文件中文乱码问题,修改字符编码,主要是修改html文件的编码。

-

修改workspace的默认编码

-
    -
  1. 依次找到:windows->General->Workspace
  2. -
  3. 全局生效:将 Text file encoding 的other选项改为 UTF-8
  4. -
-

修改Resource默认字符编码

-
    -
  1. 单项目生效:右键项目找到Text file encoding
  2. -
  3. 将other选项改为 UTF-8
  4. -
-

解决方案

-

依次找到路径:

-
    -
  1. windows->perferences->General->Content Types->Text->HTML
  2. -
  3. 然后将Default encoding设置为UTF-8即可。
  4. -
-

最后,希望对你的工作和学习有所帮助哟!
——END——

-]]>
- - 生产力 - - - eclipse - -
解决sublime-text打开txt文件乱码以及被墙并禁止更新提示 /2021/03/08/%E8%A7%A3%E5%86%B3sublime-text%E6%89%93%E5%BC%80txt%E6%96%87%E4%BB%B6%E4%B9%B1%E7%A0%81%E4%BB%A5%E5%8F%8A%E8%A2%AB%E5%A2%99%E5%B9%B6%E7%A6%81%E6%AD%A2%E6%9B%B4%E6%96%B0%E6%8F%90%E7%A4%BA/ @@ -17983,24 +17953,33 @@ - 解决xshell强制更新的问题 - /2020/03/31/%E8%A7%A3%E5%86%B3xshell%E5%BC%BA%E5%88%B6%E6%9B%B4%E6%96%B0%E7%9A%84%E9%97%AE%E9%A2%98/ - 解决xshell强制更新的问题。讲道理,软件用起来功能稳定就行。可是某些软件,偏偏强制你更新,感觉流氓属性十足。这时候就得寻求其它方法了,你看xshell也有这尿性,下面给出解决的方法。

-

正文

当你某一天使用xshell时,突然发现,oh fuck,不更新还不让用了,内心一万个曹尼玛奔腾而过。使用一段时间就会提示,确实很艹蛋。下图就是打开xshell软件出现的提示,按照我下面说的方法即可解决。

-

在这里插入图片描述

-

这时不要担心,按照我说的方法,其实无非就是判定系统时间,把自己电脑的系统时间改一下就行了。当然采用脚本的形式更方便。

-

首先新建一个文本文档以.bat文件格式保存,然后将下面提供的代码复制到xx.bat文件中然后保存。
下面的代码部分位置我用#给出了注释,你复制的时候可以将#部分去掉。

-

代码提供

-
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close) && exit
title Xshell启动器
set atime=%date:~0,10%

#设置系统时间
date 2018-12-31

#改成你的xshell启动路径
start D:\work\Xshell6Portable_50151\Xshell6Portable\Xshell6Portable.exe

echo 启动软件中...
ping 0.0.0.0 -n 6 > null
echo 同步时间中,完成后自动关闭窗口...

:reset
w32tm /resync >null
set btime=%date:~0,10%
echo %atime%|findstr %btime% >nul
if %errorlevel% equ 0 (
exit
) else (
goto reset
)
- - -

尾声

记录点点滴滴。善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富。

+ 解决eclipse导入项目后Html文件中文乱码问题 + /2017/06/26/%E8%A7%A3%E5%86%B3eclipse%E5%AF%BC%E5%85%A5%E9%A1%B9%E7%9B%AE%E5%90%8EHtml%E6%96%87%E4%BB%B6%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98/ + 几年前,刚毕业不久,接触到eclipse for JavaEE开发工具,当时不知道默认编码为GBK,或者是ISO-8859-1。

+

解决eclipse导入项目后Html文件中文乱码问题,修改字符编码,主要是修改html文件的编码。

+

修改workspace的默认编码

+
    +
  1. 依次找到:windows->General->Workspace
  2. +
  3. 全局生效:将 Text file encoding 的other选项改为 UTF-8
  4. +
+

修改Resource默认字符编码

+
    +
  1. 单项目生效:右键项目找到Text file encoding
  2. +
  3. 将other选项改为 UTF-8
  4. +
+

解决方案

+

依次找到路径:

+
    +
  1. windows->perferences->General->Content Types->Text->HTML
  2. +
  3. 然后将Default encoding设置为UTF-8即可。
  4. +
+

最后,希望对你的工作和学习有所帮助哟!
——END——

]]>
- 开发运维 + 生产力 - xshell + eclipse
@@ -18041,42 +18020,24 @@ - 解压软件哪个好用:7z和360zip国际版 - /2022/01/15/%E8%A7%A3%E5%8E%8B%E8%BD%AF%E4%BB%B6%E5%93%AA%E4%B8%AA%E5%A5%BD%E7%94%A8-7z%E5%92%8C360zip%E5%9B%BD%E9%99%85%E7%89%88/ - 在实际的工作中,解压缩软件哪款比较实用,相信很多人都搜索过也同样收集过。今天我就介绍一些个人认为比较实用的,当然有些解压缩软件外观简洁并且优美。

-

简洁的外观,实用性高,往往受众群体还可以。那么,简洁而优美的外观并且无广告,往往是吸引人关注的。曾经使用过WinRAR,但是体验不是很友好。后来用了一段时间的2345好压,起初还是很好用的。可惜后来膨胀了,广告和捆绑越来越多。转而寻找能搭配简洁的7z的解压缩软件,最终找到了360zip国际版。

-

日常就喜欢折腾,寻找简洁实用的小工具。

-

-

一、7z

7z正如官网描述的一样,是一款自由软件,业界良心。

-

1、7z的官网地址

https://www.7-zip.org/

-

同时支持64位的X64和32位的X86,并且还支持64位的ARM架构,目前最新版的为21.07。

-

-

个人使用7z的版本是19.00,界面如下所示:

-

-

2、7z外观及功能

7z的主界面比较简洁,但很实用,如下所示:

-

-

主要设置界面,选项不是很多,以实用性为主:

-

-

7z就介绍这么多,小巧而实用,这是对7z最好的阐述。并且是免费的哟,业界良心,鼓吹一波。

-

二、360zip国际版

上面介绍了7z,再说另一款我沿用至今的解压缩软件360zip国际版。不仅外观耐看,而且还很实用。当然也有国内版本,同样是免费的,但我没使用过,不知道是不是有小广告弹窗之类的。

-

同样体积不是很大,外观也很简洁,360zip国内版下载地址https://yasuo.360.cn/

-

1、360zip国际版下载地址

360zip国际版官网下载地址:https://www.360totalsecurity.com/zh-cn/360zip/

-

个人目前使用的是1.0.0.1031,重来没有遇到过弹框和小广告如下图所示,官网最新版是1.0.0.1041。

-

-

2、360zip国际版外观

360zip国际版主体界面,看着是不是很舒服,简洁而优美。

-

-

压缩界面的展示,有通用和自定两种模式,同样也支持设置密码。

-

-

解压缩界面,同样支持自定义设置。设置自己需要的解压缩格式,支持添加注释以及设置密码。

-

-

设置界面,注意了,如果不想自动升级,可以在设置界面将开启自动升级按钮取消掉

-

+ 解决xshell强制更新的问题 + /2020/03/31/%E8%A7%A3%E5%86%B3xshell%E5%BC%BA%E5%88%B6%E6%9B%B4%E6%96%B0%E7%9A%84%E9%97%AE%E9%A2%98/ + 解决xshell强制更新的问题。讲道理,软件用起来功能稳定就行。可是某些软件,偏偏强制你更新,感觉流氓属性十足。这时候就得寻求其它方法了,你看xshell也有这尿性,下面给出解决的方法。

+

正文

当你某一天使用xshell时,突然发现,oh fuck,不更新还不让用了,内心一万个曹尼玛奔腾而过。使用一段时间就会提示,确实很艹蛋。下图就是打开xshell软件出现的提示,按照我下面说的方法即可解决。

+

在这里插入图片描述

+

这时不要担心,按照我说的方法,其实无非就是判定系统时间,把自己电脑的系统时间改一下就行了。当然采用脚本的形式更方便。

+

首先新建一个文本文档以.bat文件格式保存,然后将下面提供的代码复制到xx.bat文件中然后保存。
下面的代码部分位置我用#给出了注释,你复制的时候可以将#部分去掉。

+

代码提供

+
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close) && exit
title Xshell启动器
set atime=%date:~0,10%

#设置系统时间
date 2018-12-31

#改成你的xshell启动路径
start D:\work\Xshell6Portable_50151\Xshell6Portable\Xshell6Portable.exe

echo 启动软件中...
ping 0.0.0.0 -n 6 > null
echo 同步时间中,完成后自动关闭窗口...

:reset
w32tm /resync >null
set btime=%date:~0,10%
echo %atime%|findstr %btime% >nul
if %errorlevel% equ 0 (
exit
) else (
goto reset
)
+ + +

尾声

记录点点滴滴。善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富。

]]>
- 生产力 + 开发运维 - 360zip + xshell
@@ -18140,6 +18101,45 @@ 机械革命蛟龙16K + + 解压软件哪个好用:7z和360zip国际版 + /2022/01/15/%E8%A7%A3%E5%8E%8B%E8%BD%AF%E4%BB%B6%E5%93%AA%E4%B8%AA%E5%A5%BD%E7%94%A8-7z%E5%92%8C360zip%E5%9B%BD%E9%99%85%E7%89%88/ + 在实际的工作中,解压缩软件哪款比较实用,相信很多人都搜索过也同样收集过。今天我就介绍一些个人认为比较实用的,当然有些解压缩软件外观简洁并且优美。

+

简洁的外观,实用性高,往往受众群体还可以。那么,简洁而优美的外观并且无广告,往往是吸引人关注的。曾经使用过WinRAR,但是体验不是很友好。后来用了一段时间的2345好压,起初还是很好用的。可惜后来膨胀了,广告和捆绑越来越多。转而寻找能搭配简洁的7z的解压缩软件,最终找到了360zip国际版。

+

日常就喜欢折腾,寻找简洁实用的小工具。

+

+

一、7z

7z正如官网描述的一样,是一款自由软件,业界良心。

+

1、7z的官网地址

https://www.7-zip.org/

+

同时支持64位的X64和32位的X86,并且还支持64位的ARM架构,目前最新版的为21.07。

+

+

个人使用7z的版本是19.00,界面如下所示:

+

+

2、7z外观及功能

7z的主界面比较简洁,但很实用,如下所示:

+

+

主要设置界面,选项不是很多,以实用性为主:

+

+

7z就介绍这么多,小巧而实用,这是对7z最好的阐述。并且是免费的哟,业界良心,鼓吹一波。

+

二、360zip国际版

上面介绍了7z,再说另一款我沿用至今的解压缩软件360zip国际版。不仅外观耐看,而且还很实用。当然也有国内版本,同样是免费的,但我没使用过,不知道是不是有小广告弹窗之类的。

+

同样体积不是很大,外观也很简洁,360zip国内版下载地址https://yasuo.360.cn/

+

1、360zip国际版下载地址

360zip国际版官网下载地址:https://www.360totalsecurity.com/zh-cn/360zip/

+

个人目前使用的是1.0.0.1031,重来没有遇到过弹框和小广告如下图所示,官网最新版是1.0.0.1041。

+

+

2、360zip国际版外观

360zip国际版主体界面,看着是不是很舒服,简洁而优美。

+

+

压缩界面的展示,有通用和自定两种模式,同样也支持设置密码。

+

+

解压缩界面,同样支持自定义设置。设置自己需要的解压缩格式,支持添加注释以及设置密码。

+

+

设置界面,注意了,如果不想自动升级,可以在设置界面将开启自动升级按钮取消掉

+

+]]>
+ + 生产力 + + + 360zip + +
身份证异地办理指南 /2024/03/03/%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%BC%82%E5%9C%B0%E5%8A%9E%E7%90%86%E6%8C%87%E5%8D%97/ diff --git a/sitemap.xml b/sitemap.xml index 2562340d0..689b923d6 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,6 +1,15 @@ + + https://blog.cnwangk.top/2022/03/20/Windows-10%E5%B9%B3%E5%8F%B0%E5%AE%89%E8%A3%85PostgreSQL-14-2%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B/ + + 2024-10-14 + + monthly + 0.6 + + https://blog.cnwangk.top/2022/01/31/MySQL8-0-28%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B%E5%85%A8%E7%A8%8B%E5%8F%82%E8%80%83MySQL%E5%AE%98%E6%96%B9%E6%96%87%E6%A1%A3/ @@ -640,15 +649,6 @@ 0.6 - - https://blog.cnwangk.top/2022/03/20/Windows-10%E5%B9%B3%E5%8F%B0%E5%AE%89%E8%A3%85PostgreSQL-14-2%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B/ - - 2023-05-29 - - monthly - 0.6 - - https://blog.cnwangk.top/2022/01/30/MySQL%E5%BC%80%E5%8F%91%E7%AF%87%EF%BC%8C%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E%E7%9A%84%E9%80%89%E6%8B%A9/ @@ -994,7 +994,7 @@ https://blog.cnwangk.top/ - 2024-10-02 + 2024-10-14 daily 1.0 @@ -1002,336 +1002,336 @@ https://blog.cnwangk.top/tags/jekyll/ - 2024-10-02 + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/Rust/ - 2024-10-02 + https://blog.cnwangk.top/tags/Linux/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/MySQL/ - 2024-10-02 + https://blog.cnwangk.top/tags/Rust/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/Linux/ - 2024-10-02 + https://blog.cnwangk.top/tags/MySQL/ + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/%E8%BE%BE%E6%A2%A6/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/github/ - 2024-10-02 + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/git/ - 2024-10-02 + https://blog.cnwangk.top/tags/hexo/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/hexo/ - 2024-10-02 + https://blog.cnwangk.top/tags/git/ + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/htop/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/Java/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/zabbix/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/Oracle/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/vsftpd/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/VNC/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/SQL/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/nacos/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/workbench/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/redis/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/rocky/ - 2024-10-02 + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/Ubuntu/ - 2024-10-02 + https://blog.cnwangk.top/tags/VScode/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/PostgreSQL/ - 2024-10-02 + https://blog.cnwangk.top/tags/Ubuntu/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/VScode/ - 2024-10-02 + https://blog.cnwangk.top/tags/powershell/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/powershell/ - 2024-10-02 + https://blog.cnwangk.top/tags/PostgreSQL/ + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/Windows/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/Windows-11/ - 2024-10-02 + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/JDK/ - 2024-10-02 + https://blog.cnwangk.top/tags/StableSwarmUI/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/StableSwarmUI/ - 2024-10-02 + https://blog.cnwangk.top/tags/JDK/ + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/docker/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/stable-diffusion-webui/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/Windows-server/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/nginx/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/hugo/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/npm/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/podman/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/rocketmq/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/springboot/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/vim/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/%E6%8A%A4%E7%9C%BC%E8%89%B2/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/MariaDB/ - 2024-10-02 + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/eclipse/ - 2024-10-02 + https://blog.cnwangk.top/tags/sublime-text/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/sublime-text/ - 2024-10-02 + https://blog.cnwangk.top/tags/eclipse/ + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/xshell/ - 2024-10-02 + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/360zip/ - 2024-10-02 + https://blog.cnwangk.top/tags/%E6%9C%BA%E6%A2%B0%E9%9D%A9%E5%91%BD%E8%9B%9F%E9%BE%9916K/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/tags/%E6%9C%BA%E6%A2%B0%E9%9D%A9%E5%91%BD%E8%9B%9F%E9%BE%9916K/ - 2024-10-02 + https://blog.cnwangk.top/tags/360zip/ + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/%E8%BA%AB%E4%BB%BD%E8%AF%81/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/DaVinci-Resolve/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/tags/%E9%A9%BE%E9%A9%B6%E8%AF%81/ - 2024-10-02 + 2024-10-14 weekly 0.2 @@ -1340,70 +1340,70 @@ https://blog.cnwangk.top/categories/%E9%9D%99%E6%80%81%E5%8D%9A%E5%AE%A2/ - 2024-10-02 + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/categories/web%E5%BC%80%E5%8F%91/ - 2024-10-02 + https://blog.cnwangk.top/categories/%E5%BC%80%E5%8F%91%E8%BF%90%E7%BB%B4/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/ - 2024-10-02 + https://blog.cnwangk.top/categories/web%E5%BC%80%E5%8F%91/ + 2024-10-14 weekly 0.2 - https://blog.cnwangk.top/categories/%E5%BC%80%E5%8F%91%E8%BF%90%E7%BB%B4/ - 2024-10-02 + https://blog.cnwangk.top/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/ + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/categories/%E7%94%9F%E4%BA%A7%E5%8A%9B/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/categories/%E6%9D%82%E8%B0%88/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/categories/AI/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/categories/%E9%9D%A2%E7%BB%8F/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/categories/%E7%AC%94%E7%94%B5/ - 2024-10-02 + 2024-10-14 weekly 0.2 https://blog.cnwangk.top/categories/%E7%94%9F%E6%B4%BB%E7%99%BE%E7%A7%91/ - 2024-10-02 + 2024-10-14 weekly 0.2 diff --git a/tags/MySQL/index.html b/tags/MySQL/index.html index ae1c2a118..7e8fbca61 100644 --- a/tags/MySQL/index.html +++ b/tags/MySQL/index.html @@ -249,8 +249,8 @@

MySQL
-
@@ -269,8 +269,8 @@

MySQL
-
@@ -309,8 +309,8 @@

MySQL
-
@@ -329,8 +329,8 @@

MySQL
-