腾讯云安装stable diffusion webui

安装项目中的提示操作:GitHub – AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI

遇到的问题:

  1. github中clone项目的时候慢:
  2. 安装torch的时候源慢:
    • 安装的时候等一会,一般是前面阶段比较慢,到后面速度就会上来。
    • 可以在launch.py中将对应的源替换掉,使用清华的源。
  3. 一些缺失的包:
    • ERROR: Cannot activate python venv
    • python3 -m venv venv/
      1. 安装TCMalloc
        • apt install libgoogle-perftools-dev
  4. 服务器重启后找不到显卡驱动,报错 torch is not able to use gpu
    • apt update 更新的时候 内核的header没安装成功,重启了服务器,造成显卡驱动没有正常运行 重新安装了一下 kernel header
    • sudo apt install linux-headers-$(uname -r)
  5. 无法使用公网访问:
    • Could not create share link. Please check your internet connection or our status page: https://status.gradio.app
      • 没解决,并且sd默认的公网服务并不稳定。  使用nginx反向代理7860端口解决
      • 换海外服务器
  6. ERROR: Cannot activate python venv, aborting…
    • python3 -c ‘import venv’ #should not return any errors
    • python3 -m venv venv/ #should populate the directory
  7. nginx做反向代理,需要增加socket支持:
    • location / {
    • proxy_pass http://127.0.0.1:7860;
    • proxy_http_version 1.1;
    • proxy_set_header Upgrade $http_upgrade;
    • proxy_set_header Connection “Upgrade”;
    • proxy_read_timeout 300s;
    • proxy_connect_timeout 300s;
    • }
  8. 运行: ./webui.sh –share –enable-insecure-extension-access

使用cloudflare代理flask启用https服务

问题1:使用cloudflare的dns回源服务器的时候,出现了http和https不断反复重定向

问题2:  flask只能启用http服务,需要启用https

  • 使用lnmp vhost add 添加域名,配置ssl证书
  • pip install gunicorn
  • 新建文件 gunicorn_start.sh(解决问题2),运行sh gunicorn_start.sh
#!/bin/bash
 
# 定义Flask应用程序的名称和入口文件名
APP_NAME=app
APP_ENTRYPOINT=app:app
 
# 定义SSL证书和私钥文件的路径
CERT_FILE=/path/to/cert.pem
KEY_FILE=/path/to/key.pem
 
# 启动Gunicorn
gunicorn $APP_ENTRYPOINT \
  --bind 0.0.0.0:443 \
  --certfile $CERT_FILE \
  --keyfile $KEY_FILE \
  --workers 4 \
  --worker-class gthread \
  --threads 2 \
  --timeout 120 \
  --log-level=info \
  --access-logfile=- \
  --error-logfile=-
  •  nginx  配置
server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name your-site ;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/your-site;
 
        ssl_certificate /usr/local/nginx/conf/ssl/your-site/fullchain.cer;
        ssl_certificate_key /usr/local/nginx/conf/ssl/your-site/your-site.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
 
 
        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
 
        location / {
                proxy_pass https://127.0.0.1:5000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        access_log  /home/wwwlogs/your-site.log;
 
    }
  • cloudflare找到对应的域名,点击左侧的 “SSL/TLS”。 将“Your SSL/TLS encryption mode ” 配置成FULL或者FULL(Strict) (否则不支持https,解决问题1)

手把手教你国内注册ChatGPT Plus 【典藏版】

一、ChatGPT Plus

升级到付费版的ChatGPT Plus好处自然不用说,懂的都懂。比如稳定,无字数限制,不会有错误等等。

本文就分享一下本人(以及若干ChatGPT Plus爱好者+群友)亲测有效的ChatGPT Plus付费版升级流程。注册门槛说实话有点高,不过总结起来其实就下面4个步骤:

1.png

这里简单说,欧易是港股上市,国内最大的交易所,Depay是最大的虚拟信用卡公司。

二、实操步骤

要完成上述4个步骤,你需要提前准备好:

  1. 注册1个可用的ChatGPT账号
  2. 注册1个虚拟交易平台欧易账号(没得选,国内安全的只有它)
  3. 申请1张虚拟信用卡(选Depay,群里小伙伴都是用它)
  4. 能正常访问ChatGPT的科学上网条件(一定要选美国的代理节点)

1、申请ChatGPT账号

这一步网上有很多详细的教程,我这里就不细说了。还没有自己的ChatGPT账号的,先参照https://sms-activate.org/cn/info/ChatGPT 一步一步做,申请一个属于自己的ChatGPT,这个教程注册+接验证码都有了,国内的手机号也可以完成注册。

照着做就行,只有先搞定ChatGPT账号,才能在此基础上升级到ChatGPT Plus。

已经有ChatGPT账号的,直接进入第2步,走起!

2、申请欧易账号完成USDT充值

因为Depay不接受人民币直接充值,所以我们必须借助交易所平台,来完成

人民币—USDT—USD美元的兑换过程,等Depay账户里有USD美元了再充值。这里,对USDT不熟悉的朋友我说一下,USDT是虚拟货币泰达币,跟USD锚定的,安全不用担心。

关于交易所,咱国内用户,受前两年国家整顿的政策影响,当下国家支持并且靠谱的大交易所目前就仅剩下欧易一家独大了,咱没得选,乖乖注册一个欧易账号就好。

点击这里–>跳转官网注册欧易账号

等待欧易账号注册好,下载并安装APP,安装过程中如果系统提示有安全风险,不必理会,对于虚拟货币,系统都会误报,咱们这是正规官网下载的,哪来的风险,忽略就好。

耐心等待欧易App安装成功,点击App首页——我要买币——快捷买币——选USDT——购买至少23USDT(大概¥200)——支持支付宝、微信或者银行卡购买。

做完上面这一步,就完成人民币——USDT的兑换。

这里,我多买点,买36USDT,大概250人民币。

2.png

3、申请虚拟信用卡Depay

  1. 什么是Depayundefined首先,ChatGPT要求必须美国的信用卡,咱们国内的双币卡、全币卡都不能用。undefined不用说,对于国内没有美国当地信用卡的小伙伴,肯定选赫赫有名的Depay美国虚拟信用卡。
  2. 注册Depay账号undefined点此注册Depay账号,可以用邮箱或者手机号,我本人选的谷歌邮箱注册,如果验证码没收到很可能在垃圾箱里。账号注册成功后,会让你下载它们的App安装,苹果手机需要登录海外的Apple账号,安卓手机可以直接下载apk安装,我下载的是depay1.2.4.apk版本。耐心等待APP安装完毕,用刚刚注册的账号和密码登录Depay。
  3. 申请第一张卡undefined点击界面左上角的“申请卡”开通虚拟信用卡,开卡的时候可以选0开卡费的,也可以选10USDT开卡费的,区别是0开卡费的需要你完成KYC认证,通俗点说就是需要你上传身份证(国内身份证没问题)认证,建议开通0开卡费的长期使用。undefined卡开通后,可以往Depay里充值USDT ,这一步在接下去的第4小章节会讲到,需要用到前面注册的欧易账号来充值USDT。
3.png

4、给钱包充值USDT

1、 打开Depay App钱包,找到钱包——USDT——充币——复制你的充值地址,确认屏幕上显示主网是TRC20,

充值地址千万不要复制错,比如我的Depay钱包的USDT充值地址是TKeiEjFBDyJTAb89YhFDQCyFfLjiZJt55Z。

复制

4.png

2、 打开上面第2步注册的欧易App,找到首页——资产——提币——USDT——链上提币。

提币地址填Depay钱包里的充值地址,这里我填TKeiEjFBDyJTAb89YhFDQCyFfLjiZJt55Z,

提币网络选TRC20 (千万不能选错,否则到不了账),

数量选大于23USDT就行,够充值1个月ChatGPT Plus会员就行。

提交,等待到账。

5.png

3、欧易提现到Depay成功后,点击Depay App钱包——兑换,将所有的USDT都兑换成USD美元

6.png

4、点击Depay App首页的To Card,将兑换的美元存入卡中,到此,Depay充值大功告成。

📢📢📢注意

需要注意的是,新注册的欧易用户默认完成身份认证后,需要等待24小时才可以提现,如果你着急提现到Depay,你也可以私信找我代充,按照汇率1:8收点劳务费。一般不是很急的话建议24小时就行,不必花这冤枉钱。

三、开通ChatGPT Plus

我们已经在第3步中拥有了一张属于自己的虚拟信用卡(其实相当于借记卡,不可透支),并且往里面充了20多美刀,够我们订阅1个月ChatGPT Plus了。

登录ChatGPT, 左下角找到升级Plus的选项——Upgrade to Plus

7.png

一些群友反馈没有出现这个升级的选项,记得把IP切换到美国再重新登陆,现阶段只有美国的IP才会有这个选项,(升级的时候需要美国IP,升级完毕后不要求)。

另外,切记切记——

  1. 科学上网,一定要用美国IP
  2. 浏览器开启无痕模式
  3. 账单地址用美国地址生成器生成
  4. 如果1、2都做了还是失败,那么尝试清空浏览器缓存,重新登录ChatGPT再尝试。如果还是不行,那么建议更换你目前在用的代理节点再试,直到成功。

关于代理

代理一定要用美国的IP,如果你不确定自己的IP是不是美国的,http://en.ipip.net/ 查看。不要用那种很多人使用的代理,容易失败。

关于账单地址

理论上随便填都行,你可以网上搜美国地址生成器,直接生成一个免税州的账单地址:

8.png

请一定要用美国IP访问,否则可能会遇到如下报错:

11.png

四、ChatGPT Plus初体验

看到如下PLUS的尊贵标识,就说明你已经成功开通ChatGPT Plus了。

只能说,这钱花的值,你将拥有了AI的丝滑体验。

9.png

每个月大概不到¥150,也就3杯星巴克的钱,换来的是一个高效的信息获取渠道,不亏,是一个跨时代的生产力。

至此,恭喜您,已经成为了尊贵的ChatGPT Plus用户,成为全球走在时代前沿的人了。从现在起,访问ChatGPT Plus就拥有Default和Legacy双模型回答,以及快速、稳定的AI回复。

10.png

五、常见问题&解决

这里汇总了群友最常遇到的一些问题及解决办法如下——

  1. 如何取消ChatGPT Plus的自动订阅?
> 上面说过,我们的Depay信用卡其实没有透支功能,只是相当于借记卡,理论上说只要你不往卡里充钱,其实不必担心下个月被扣款。不过,保险起见,你还是可以取消自动订阅,方法是:  
> 打开ChatGPT首页并登录——左下角——My Account——Manage My Subscription——Cancel Plan

复制

  1. ChatGPT Plus中的default mode和legacy mode有什么区别?
> default mode就是Turbo mode,它会更有情感和活力,会有趣一些,不过回答上偏更加简洁,省去了之前legacy mode一些细节。  
> legacy mode则更适合学术论文,不像Turbo Mode回答那么大众,适合科研,论文。  
> 更详细的比较可以参考:<https://www.reddit.com/r/ChatGPT/comments/111skny/the_differences_between_default_and_legacy_models/>

复制

  1. 为什么升级到ChatGPT Plus需要这么麻烦?
> 这个问题归根结底是因为openAI不支持PayPal充值,大家没事就写 e-mail给openai的ceoSam Altman(国人喊他奥特曼),让他早点支持支持payPal吧。

复制

  1. 升级ChatGPT Plus每个月$20值不值?
> 这是一个仁者见仁智者见智的问题,你觉得值它就值,你觉得不值,就尝试下取消续费就好。不过,应该没人会拒绝更优越的生产力吧?

github连接超时(不能push,不能pull)

git pull 或者git push的时候,提示:

kex_exchange_identification: Connection closed by remote host
Connection closed by 127.0.0.1 port 22
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
  1. 使用命令:ssh -T git@github.com
    1. 返回结果:Hi developer! You’ve successfully authenticated, but GitHub does not provide shell access.
    2. 表明没有问题
  2. 使用代理:
#只对github.com
git config --global http.https://github.com.proxy socks5://127.0.0.1:1080

#取消代理
git config --global --unset http.https://github.com.proxy

还是同样的问题。

3. 将ssh的22端口改为使用443

在等待git pull命令超时之后报出了类似: ssh: connect to host github.com port 22: Connection timed out的错误!

原因是: ssh 阻塞了22端口!

解决方法: 修改 ssh 的配置文件

关于修改配置,存在两种解决方法:

/etc/ssh/ssh_config 中修改全局配置
在用户主目录下.ssh/中添加配置文件
这里选择的后者:

cd ~/.ssh/
vi config

# 在config中添加下面内容
Host github.com  
User git  
Hostname ssh.github.com 
PreferredAuthentications publickey  
IdentityFile ~/.ssh/id_rsa 
Port 443
即: 使用https的443端口进行访问!

python获取print的输入内容

因为print是输出到sys.out里面, 所以要替换标准的输出:


#coding: utf-8

class TextArea(object):

    def __init__(self):
        self.buffer = []

    def write(self, *args, **kwargs):
        self.buffer.append(args)

import sys

stdout = sys.stdout
sys.stdout = TextArea()

# print to TextArea
print("testA")
print("testB")
print("testC")

text_area, sys.stdout = sys.stdout, stdout

# print to console
print(text_area.buffer)
输出内容:
[('testA',), ('\n',), ('testB',), ('\n',), ('testC',), ('\n',)]

如果是json数据,可以增加一步处理:

data_get_json_ori = text_area.buffer[0]  # json
data_get_json = json.loads(data_get_json_ori)

data_get= {}
host = ''
for key, value in data_get_json.items():
data_get[key] = value

go调用python3

因为python的底层c写的,只需要让go可以调用c就能调用python了

import "github.com/DataDog/go-python3"
/*
#cgo CFLAGS: "-I/usr/include/python3.8"
#cgo LDFLAGS: "-L/usr/local/lib/python3.8" "-lpython3.8"
#define PY_SSIZE_T_CLEAN
#include <Python.h>
*/
pycodeGo := `
from you_get import common
video_url = "` + video_url + `"
res = common.any_download(url=video_url,json_output=True)
output['title'] = res['title']
output['url'] = res['streams']['18']['url']
print(output)
`

defer python3.Py_Finalize()
python3.Py_Initialize()
pyResult := python3.PyRun_SimpleString(pycodeGo)

github上有2个python的项目,一个python2,一个python3

python2:https://github.com/sbinet/go-python

python3:https://github.com/DataDog/go-python3

ubuntu18安装Python3.7

  1. ubuntu18系统自带了python2.7和python3.6;
  2. 不要卸载ubuntu自带的python版本;
  3. ubuntu下不同版本的python可以共存,可直接安装python3.7。

1.升级包索引和软件

sudo apt update
sudo apt upgrade -y

2.安装编译所需包

sudo apt install build-essential zlib1g-dev libbz2-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

3.下载Python3.7

官网下载Python-3.7.4.tgz文件

wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz

4.解压Python安装包

tar -xzvf Python-3.7.4.tgz

5.编译和安装

cd Python-3.7.4
./configure --prefix=/usr/local/src/python37  # 配置安装位置
sudo make
sudo make install

6.建立软连接

sudo ln -s /usr/local/src/python37/bin/python3.7 /usr/bin/python3.7
sudo ln -s /usr/local/src/python37/bin/pip3.7 /usr/bin/pip3.7

接下来你就可以使用python3.7,而不会影响系统自带的python2.7和python3.6

如果你想用python3.7替换掉系统默认的python3

sudo rm -rf /usr/bin/python3
sudo ln -s /usr/local/src/python37/bin/python3.7 /usr/bin/python3

默认ubuntu系统中没有pip3,直接建立软连接即可。
sudo ln -s /usr/local/src/python37/bin/pip3.7 /usr/bin/pip3

输入python3默认就是你安装好的python3.7了

vim常用配置

set nocompatible " 关闭 vi 兼容模式

syntax on " 自动语法高亮

colorscheme desert" 设定配色方案

set number " 显示行号

set cursorline " 突出显示当前行

set ruler " 打开状态栏标尺

set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4

set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格

set tabstop=4 " 设定 tab 长度为 4

set nobackup " 覆盖文件时不备份

set autochdir " 自动切换当前目录为当前文件所在的目录

filetype plugin indent on " 开启插件

set backupcopy=yes " 设置备份时的行为为覆盖

set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感

set nowrapscan " 禁止在搜索到文件两端时重新搜索

set incsearch " 输入搜索内容时就显示搜索结果

set hlsearch " 搜索时高亮显示被找到的文本

set noerrorbells " 关闭错误信息响铃

set novisualbell " 关闭使用可视响铃代替呼叫

set t_vb= " 置空错误铃声的终端代码

" set showmatch " 插入括号时,短暂地跳转到匹配的对应括号

" set matchtime=2 " 短暂跳转到匹配括号的时间

set magic " 设置魔术

set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存

set guioptions-=T " 隐藏工具栏

set guioptions-=m " 隐藏菜单栏

set smartindent " 开启新行时使用智能自动缩进

set backspace=indent,eol,start

" 不设定在插入状态无法用退格键和 Delete 键删除回车符

set cmdheight=1 " 设定命令行的行数为 1

set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)

set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\

" 设置在状态行显示的信息

set foldenable " 开始折叠

set foldmethod=syntax " 设置语法折叠

set foldcolumn=0 " 设置折叠区域的宽度

setlocal foldlevel=1 " 设置折叠层数为

" set foldclose=all " 设置为自动关闭折叠

" 用空格键来开关折叠

" nnoremap @=((foldclosed(line(‘.’)) < 0) ? ‘zc’ : ‘zo’)

" 配置多语言环境

if has("multi_byte")

" UTF-8 编码

set encoding=utf-8

set termencoding=utf-8

set formatoptions+=mM

set fencs=utf-8,gbk
endif

" 选中状态下 Ctrl+c 复制

vmap <C-c>"+y

" 确认vim编辑器是否支持clipboard特性
" vim –version| grep “clipboard"
" 支持这特性的检索结果应该包含 +clipboard,而不支持则会是 -clipboard

更改pip源

  1. 临时使用:

在使用pip的时候加参数-i

例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gevent

常用的pip源如下:

pypi 清华大学源:https://pypi.tuna.tsinghua.edu.cn/simple
pypi 豆瓣源 :http://pypi.douban.com/simple/
pypi 腾讯源:http://mirrors.cloud.tencent.com/pypi/simple
pypi 阿里源:https://mirrors.aliyun.com/pypi/

  1. 永久修改:

linux下 :

mkdir ~/.pip
vi ~/.pip/pip.conf
添加内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple