博客 (7)

IIS 中使用 HttpPlatformHandler 模块部署 python web 项目时遇到 502.3 网关错误

HTTP 错误 502.3 - Bad Gateway

There was a connection error while trying to route the request.

最可能的原因:

  • CGI 应用程序没有返回一组有效的 HTTP 错误。

  • 由于父网关中出现错误,充当代理或网关的服务器无法处理该请求。

可尝试的操作:

  • 使用 DebugDiag 排查 CGI 应用程序。

  • 确定此错误是否由代理或网关引起。

详细错误信息:

模块    httpPlatformHandler

通知    ExecuteRequestHandler

处理程序    httpplatformhandler

错误代码    见下方表格

详细信息:

当 CGI 应用程序未返回一组有效的 HTTP 头,或者代理或网关无法将请求发送至父网关时,便会出现此错误。您可能需要获取一个网络跟踪,或者与代理服务器管理员联系(如果不是 CGI 的问题)。

错误代码可能的错误原因
0x8007053d未安装相关组件库,建议执行命令:pip install -r requirements.txt
0x80070005

若显示配置错误“由于权限不足而无法读取配置文件”则是应用代码目录未配置相应用户的读取权限;

访问受限,请正确配置 IIS 中的网站凭据、应用程序池标识、项目目录“读取”、解释器目录“读取和执行”权限等

0x80072ee2执行超时,一般发生在批量读写的时候


xoyozo 2 个月前
431

安装 PyPI(包/库/组件)

pip install 包名

如果安装失败,尝试用国内镜像

pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果不想每次都加 -i 参数,可以更改全局配置

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple


查看所有配置

pip config list


查看 python 文件路径

# Windows 或 Linux 通用
python -c "import sys; print(sys.executable)"

默认路径为:C:\Users\<user name>\AppData\Local\Programs\Python\Python<version>\python.exe


常用组件介绍

包名介绍
Flask一款基于 Python 的轻量级 Web 开发框架
Django一款基于 Python 的重量级 Web 开发框架
Pandas一个数据分析包,提供 Series、Time-Series、DataFrame、Panel、Panel4D、PanelND 等数据结构


更多

xoyozo 2 个月前
428
数据库 数据类型 收费情况 调用方式 数据来源 资料
BaoStock 仅提供历史数据(如日线、周线),无实时行情 免费开源 Python 数据来源为交易所或合作机构的标准化接口 文档
AkShare 股票、期货、债券、期权、外汇、货币、指数…… 免费开源 Python / Anaconda / R / MATLAB / 本地 Web API

基于爬虫技术从大型财经网站抓取公开数据

包含北交所行情数据                

文档 / 数据字典 / AKTools
Tushare Pro 股票、指数、公募、期货、期权、债券、外汇、港股、美股…… 免费 / 收费 Web API / Python / Matlab / R

通过社区的采集和整理存入数据库经过质量控制后再提供给用户

包含北交所行情数据                

积分 / 权限 / 文档
麦蕊智数 沪深股票基础数据、实时交易数据、指数数据 免费 / 收费 Web API licence / 文档
JoinQuant/JQData 股票、基金等行情数据 试用 / 收费 Python 文档
xoyozo 4 个月前
663

截止 2024 年 9 月,CZDB 数据已支持 JAVA、PHP、C、Node.js、Python 语言解析,但官方迟迟未推出 C# / ASP.NET 的版本,于是我参照前面几种语言版本写了 C# 版,支持 IPv4 与 IPv6,实测查询速度,CZDB 版的 MEMORY 模式比原来的 DAT 版数据库快数百倍(具体要看磁盘和内存的读写速度)。能够有效降低 CPU 的使用率,特别是在需要频繁查询 IP 属地的应用场景(譬如每个 HTTP 请求都要判断 IP 属地来决定是否允许访问)。

我要试试→

源代码已提交给纯真官方,相信很快就会有官方版本的 SDK。

xoyozo 11 个月前
2,009

本文将详细介绍 stable diffusion webui 的下载、安装及问题解决。
Stable Diffusion 是 2022 年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,尽管它也可以应用于其他任务,如内补绘制、外补绘制,以及在提示词(英语)指导下产生图生图的翻译。它是一种潜在扩散模型,由慕尼黑大学的 CompVis 研究团体开发的各种生成性人工神经网络。它是由初创公司 StabilityAI,CompVis 与 Runway 合作开发的,并得到 EleutherAI 和 LAION 的支持。
其它问题请参考

一、环境准备

(一)硬件方面:

1. 显存

4G 起步,4G 显存支持生成 512*512 大小图片,超过这个大小将卡爆失败。

2. 硬盘

10G 起步,模型基本都在 5G 以上,有个 30G 硬盘不为过吧?现在硬盘容量应该不是个问题。

(二)软件方面:

1. Git

https://git-scm.com/download/win
下载最新版即可,对版本没有要求。

2. Python

https://www.python.org/downloads/
截止发稿(2023.3.6)时,最高版本只能用 3.10.*,用 3.11.* 会出问题。

3. Nvidia CUDA

https://developer.download.nvidia.cn/compute/cuda/11.7.1/local_installers/cuda_11.7.1_516.94_windows.exe
版本 11.7.1,搭配 Nvidia 驱动 516.94,可使用最新版。

4. stable-diffusion-webui

https://github.com/AUTOMATIC1111/stable-diffusion-webui
核心部件当然用最新版本~~但注意上面三个的版本的兼容性。

5. 中文语言包

https://github.com/VinsonLaro/stable-diffusion-webui-chinese
下载 chinese-all-0306.jsonchinese-english-0306.json 文件

6. 扩展(可选)

https://github.com/Mikubill/sd-webui-controlnet
下载整个 sd-webui-controlnet 压缩包

https://huggingface.co/Hetaneko/Controlnet-models/tree/main/controlnet_safetensors
https://huggingface.co/lllyasviel/ControlNet/tree/main/models
https://huggingface.co/TencentARC/T2I-Adapter/tree/main
试用时先下载第一个链接中的 control_openpose.safetensors 或 第二个链接中的 control_sd15_openpose.pth 文件

7. 模型

https://huggingface.co/models
https://civitai.com
可以网上去找推荐的一些模型,一般后缀名为 ckptptpthsafetensors ,有时也会附带 VAE(.vae.pt)或配置文件(.yaml)。

类型文件格式存放目录备注
check point.ckpt,.safetensors\models\Stable-diffusion文件较大
vae名字带有 vae 的\models\vae细节更好地恢复,特别是眼睛和文字
Textual Inversion*.pt\embeddings一般文件很小,额外的 tag
Lora*.pt\models\Lora调整模型,理解为风格化也可以
Hypernetworks.pt,.ckpt,*.safetensors\models\hypernetworks和 lora 工作方式相似,算法不同

这里可以学习一下模型的基本概念《解析不同种类的 Stable Diffusion 模型 Models,再也不用担心该用什么了

二、安装流程

1. 安装 Git

就正常安装,无问题。

2. 安装 Python

建议安装在非 program files、非 C 盘目录,以防出现目录权限问题。
注意安装时勾选 Add Python to PATH,这样可以在安装时自动加入 windows 环境变量 PATH 所需的 Python 路径。

3. 安装 Nvidia CUDA

正常安装,无问题。

4. 安装 stable-diffusion-webui

国内需要用到代理和镜像,请按照下面的步骤操作:

a) 编辑根目录下 launch.py 文件
将 https://github.com  替换为 https://ghproxy.com/https://github.com,即使用  Ghproxy 代理,加速国内 Git。
如图将代码中所有类似地址都改掉(注意:不仅仅是图中所展示的这些)。

b) 执行根目录下 webui.bat 文件
根目录下将生成 tmp 和 venv 目录。

c) 编辑 venv 目录下 pyvenv.cfg 文件
将 include-system-site-packages = false 改为 include-system-site-packages = true

d) 配置 python 库管理器 pip
方便起见,在 \venv\Scripts 下打开 cmd 后执行如下命令:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ # 镜像
pip freeze > requirements_versions.txt # 创建文件
pip install -r requirements_versions.txt # 执行此条命令前,请检查你的剩余磁盘空间
pip install xformer # 如果不执行此条命令,启动 Stable Diffusion 时可能会出现错误。xformer 还可以在后续使用中降低显卡占用。

xformer 会安装到 \venv\Lib\site-packages 中,安装失败可以用 pip install -U xformers 命试试。

e) 安装语言包
将文件 chinese-all-0306.jsonchinese-english-0306.json 放到目录 \localizations 目录中。
运行 webui 后进行配置,操作方法见下。

f) 安装扩展(可选)
将 sd-webui-controlnet 解压缩到 \extensions 目录中。
将 control_sd15_openpose.pth 文件复制到 /extensions/sd-webui-controlnet/models 目录中。
不同的扩展可能还需要安装对应的系统,比如 controlnet 要正常使用则还需要安装 ffmpeg 等。

g) 安装模型
下载的各种模型放在 \models\Stable-diffusion 目录中即可。

h) 再次执行根目录下 webui.bat 文件
用浏览器打开 webui.bat 所提供的网址即可运行。

其中提供了网址:http://127.0.0.1:7860

打开该网址后在 Settings -> User interface -> Localization (requires restart) 设置语言,在菜单中选择 chinese-all-0220(前提是已经在目录中放入了对应语言包,见上),点击 Apply Settings 确定,并且点击 Reload UI 重启界面后即可。

好了,现在可以开始使用了~~

三、问题及注意点

1. python 版本错误

错误

ERROR: Could not find a version that satisfies the requirement torch==1.13.1+cu117
ERROR: No matching distribution found for torch==1.13.1+cu117

这是由于 python 版本不对导致的(上面提过了,截止发稿时不能追求新版本),要用 python 3.10.* 版本。
解决来源:https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/7166

2. pip版本错误

警告:

[notice] A new release of pip available: 22.3.1 -> 23.0.1
[notice] To update, run: D:\stable-diffusion-webui\venv\Scripts\python.exe -m pip install --upgrade pip

提示中已经给出了解决方案:
在 \venv\Scripts\ 目录中打开 cmd,执行

python.exe -m pip install --upgrade pip

3. 安装或执行停滞

如果在执行 webui.bat 进行包下载安装时或者生成图片时会卡很久都没反应,那么这时可以复制包名,进入 python 安装目录或 \venv\Scripts\ 目录中打开 cmd,执行

pip install 包名

也可以通过任务管理查看网络状态,如果网络在玩命下载,那么就等着吧~~

4. xFormers 安装不上

很多同学都反应 xformers 无法安装,可以用以下的方法试试:

  • 检查 Dreambooth 要求的 Python 版本:
    如果您的 Python 版本低于 3.6,请安装最新的 Python 版本,并重复尝试安装 xformers。

# 据此可以在终端中运行以下命令,以检查您的 Python 版本:
python --version
  • 安装依赖项:xformers 有许多依赖项,如果这些依赖项没有正确安装可能会导致升级失败。您可以尝试安装以下依赖项:

pip install numpy scipy torch torchaudio transformers
  • 清除 pip 缓存并重新安装:

# 清除 xformers 缓存:运行以下命令清除 xformers 缓存。
pip uninstall -y xformers
pip cache purge

# 更新 pip:确保您正在使用最新版本的 pip,可以运行以下命令更新 pip。
pip install --upgrade pip

# 安装 xformers:在清除了缓存并更新了 pip 之后,重新安装 xformers。
pip install xformers
  • 手动安装 xformers 指定版本
    如果上述步骤仍然无法解决问题,可尝试手动安装 Dreambooth 所需的 xformers 版本。在 Dreambooth 的文档中,可以找到 xformers 的版本要求。

pip install xformers==0.0.17.dev465
  • 使用 conda 环境
    如果您使用的是 conda 环境,请尝试在 conda 环境中安装 xformers。

# 创建 conda 环境
conda create --name myenv

# 激活 conda 环境并安装 xformers
conda activate myenv
pip install xformers
  • 网络问题
    如果已经配置好了代理,就不要考虑这个了。
    检查网络连接:请确保您的计算机与互联网连接,并且网络连接没有被防火墙或代理服务器阻止:

# 检查网络连接是否正常
ping google.com
  • 非必要
    你确定需要使用 xformers 么?如果不需要,可以在 webui-user.bat 中把 --xformers 去掉试试。

  • 其它
    如果上述方法还是无法解决问题,请尝试在 OpenAI 的论坛或者 Dreambooth 的 GitHub 页面上寻求更多帮助。-_-!

5. 其他安装问题

删除 /tmp 和 /venv 目录后重启 webui.bat 试试。

6. 硬件问题

一般显卡不达标,就会爆卡,解决办法就是编辑根目录下 webui-user.bat 文件,试一下修改参数 COMMANDLINE_ARGS 即可。

以下几个设置逐一测试看看哪个适合自己。

set COMMANDLINE_ARGS=--lowvram --precision full --no-half --skip-torch-cuda-test
set COMMANDLINE_ARGS=--lowvram --precision full --no-half
set COMMANDLINE_ARGS=--lowvram

本机显存 4G,使用最后一个配置方法,可以烧出 2048*1080 的图,前两种方法反而会在最后爆卡。

最后,预祝各位成功~~

dog drink~~ where is dog?

在这里插入图片描述

参考:
【AI 繪畫】Stable-Diffusion 通過骨架分析插件 ControlNet 來製作超有意境的圖片
Stable Diffusion 2.1 + WebUI 的安装与使用(极详细)
低配显卡想玩 Stable Diffusion?修改一个配置就行
整合包

转自 暂时先用这个名字 2 年前
5,042

下载 sqlmap:https://github.com/sqlmapproject/sqlmap

下载 python:https://www.python.org/downloads/

以 windows 版为例:

安装 python;

解压缩 sqlmap;

“在终端中打开 / 在命令行中打开” sqlmap.py 文件所在目录;

执行命令 

python sqlmap.py -u "网址" --data="POST数据" --tables

需要注意的是,sqlmap 会记录探测过的网址的结果信息,修复网站漏洞后要再次检测是否安全时,应删除缓存文件,位置在:

C:\Users\用户\AppData\Local\sqlmap\output\

image.png

xoyozo 3 年前
4,790

NTP Reply Flood Attack (NTP射型Ddos攻击)以下简称NTP_Flood是一种利用网络中NTP服务器的脆弱性(无认证,不等价数据交换,UDP协议),来进行DDos行为的攻击,本文将就此种攻击的产生原因,利用方法等进行阐述,并使用编程语言(Python,C++)对此攻击进行实现。

转自 黑客防线 11 年前
6,663