《Python后端技术》
主要包含后端用到的技术栈以及遇到的问题,mysql相关,elasticsearch相关,IM服务器相关,bug相关,flask相关。
如果有断序,可能被我暂时隐藏,修改后再公布。
毛毛是一只狗
经历的意义在于引导你,而非定义你!
展开
-
Nacos的配置中心,服务的注册和发现,python版
Nacos核心功能的使用,python脚本操作Nacos,可借鉴并集成到自己的项目原创 2022-06-24 11:21:12 · 2356 阅读 · 3 评论 -
【git认证错误】fatal: Authentication failed for ‘http://gitlab.gwm.cn/les-zt/middleware/erp_upload.git/‘
问题描述我在CentOS环境使用git,pycharm的terminal.本来好好的,突然就报这个错误了fatal: Authentication failed for ‘http://gitlab.gwm.cn/les-zt/middleware/erp_upload.git/’1:重启pycharm一般重启后就可以了2: 如果重启后还是不行,做一下操作linux环境,清楚掉缓存的账号名和密码,重新输入git config --system --unset credential.helpe原创 2022-04-24 11:09:34 · 708 阅读 · 2 评论 -
git免密码提交
git config --global credential.helper store说明:输入上面命令后,第一次提交还需要输入密码,以后就不用了Git is a free and open source distributed version control systemdesigned to handle everything from small to very large projects withspeed and efficiency.Git is easy to learn an原创 2022-03-04 16:49:57 · 894 阅读 · 1 评论 -
Python Pickle持久化class对象
import pickleclass Person: def __init__(self, n, a): self.name = n self.age = a def show(self): print(self.name+"_"+str(self.age))class Person1: def __init__(self, n, a): self.name = n self.age = a原创 2022-01-26 10:44:50 · 743 阅读 · 0 评论 -
【Docker】利用docker在window环境下部署python开发环境
利用docker在window环境下部署python开发环境(替代虚拟机的开发方案)原创 2021-12-02 17:08:13 · 3161 阅读 · 0 评论 -
【ubuntu】ubuntu界面下更改下载源(最简单的方式)
网上很多教程都是更改etc/apt下的sources.list文件内容,去找那些源的地址代码,然后备份,粘贴,很麻烦。上面的方式适合云服务器用的没有图形界面,但我们平时用的ubuntu都是有图形界面的,就不用那么麻烦了。按照下面方法随便点两下就可以更改下载源了...原创 2021-11-03 14:35:42 · 863 阅读 · 4 评论 -
【ubuntu】2021年最新的,ubuntu更改阿里源方法
# 移动到apt源文件路径$ cd /etc/apt# 备份原来的源文件$ sudo cp sources.list sources.list.bak# 删除文件里的所有内容,然后粘贴阿里源地址$ sudo vim sources.listdeb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-sec原创 2021-11-02 11:42:24 · 4132 阅读 · 3 评论 -
【ubuntu】 teminal光标没有了,怎么办?
terminal光标消失解决办法:echo -e "\033[?25h"隐藏光标用命令:echo -e "\033[?25l"原创 2021-11-02 11:28:25 · 1389 阅读 · 0 评论 -
【技术栈⭐00073】linux-fg(foreground)命令恢复一个在后台暂停的进程到前台工作
当在前台执行的进程通过ctrl+z 暂停这个进程,并放到后台的时候,我们需要重新恢复这个进程到前台的方法?如果不这样做我们就要杀掉这个进程,不是很方便通过下面图片我们能看出来ctrl+z 和ctrl+c的区别通过ps aux | grep go 能看到这个进程还在后台,端口号被占用我们可以通过fg(foreground:前景)和jobs两个命令恢复这个进程到前台工作fg 进程job号...原创 2021-07-28 12:07:12 · 511 阅读 · 0 评论 -
【技术栈⭐00071】mysql如何存Emoji表情
这里写目录标题解决方案代码参考如果是自己搭建的数据库,参考如下。如果你用的阿里云的数据库数据库里的表也要支持utf8md4最后你连接数据库的方式如下解决方案如果想在数据库存emoji表情需要满足以下几种情况。1: mysql 数据库要改成utf8md4编码格式,因为这样才能存emoji四个字符的表情。2: 客户端也要改成utf8md4的编码格式,这里的客户端指的是后端工程师开发的服务器,只是相对于数据库来说是是客户端。其实就是在连接mysql的时候指定一下以什么编码连接mysql数据库。代码参考原创 2021-05-13 18:11:24 · 1426 阅读 · 1 评论 -
一看就会☀️Flask+redis,如何处理用户多端登录
如何处理用户多端登录项目中遇到的问题是否允许用户多端登录?问题1:在允许用户多端登录的情况下,修改密码后,其他端没修改密码是否被退出登录,需要重新登录不允许多端登录的情况下问题2:当用户在第二个端登录时,让第一段登录的情况失效。解决方案> 问题1> 问题2项目中遇到的问题用户在chrome和edge都登录,在一端修改了密码,另一端还能正常登录。这个事件引出了很多问题。是否允许用户多端登录?问题1:在允许用户多端登录的情况下,修改密码后,其他端没修改密码是否被退出登录,需要重新登录不允原创 2021-05-08 11:29:01 · 1398 阅读 · 5 评论 -
【技术栈⭐00069】git初始化建立的几种方式
Git global setupgit config --global user.name "wang changyu"git config --global user.email "wangchangyu@em3.ai"Create a new repositorygit clone https://gitlab.em3.ai/wangchangyu/arteam3d_backend.gitcd arteam3d_backendtouch README.mdgit add READ.原创 2021-04-20 13:34:05 · 148 阅读 · 0 评论 -
【技术栈⭐00068】基于docker-gen的实现nginx-proxy对docker服务自动化部署以及负载均衡。
详细使用方法参考以下github网址https://github.com/nginx-proxy/nginx-proxy以下是我的docker-compose.ymlversion: '3'services: nginx-proxy: image: nginxproxy/nginx-proxy networks: - webproxy ports: - "80:80" links: - whoami2 volumes原创 2021-04-15 15:45:22 · 572 阅读 · 12 评论 -
【技术栈⭐00067】docker-compose运行dockerfile+gunicorn+flask
docker-compose部署套装**==docker-compose简单说明==**requirements.txtDockerfilegunicorn.pydocker-compose.ymldocker-compose简单说明利用docker-compose管理docker容器操作docker-compose集合了我们操作Dockerfile和Dockerfile里的一下命令,总结就是,Dockerfile帮我们管理docker镜像,docker-compose帮我们管理docker众多容原创 2021-04-11 19:42:33 · 841 阅读 · 0 评论 -
【技术栈⭐00066】git删除分支
删除分支删除分支的时候使用 删除本地分支和远程分支即可删除本地分支git branch -d dev-wangchangyu删除远程分支(这个方法也会删除远程分支和本地分支的关系,即追踪分支)git push origin --delete branch删除追踪分支git branch --delete --remotes <remote>/<branch>或者git fetch origin --prune简写git fetch origin原创 2021-04-11 11:54:29 · 113 阅读 · 0 评论 -
【技术栈-00065】ModuleNotFoundError: No module named ‘MySQLdb‘
pip install mysql-connector-pythonsudo apt-get install libmysqlclient-devpip3 install mysqlclient原创 2021-04-08 09:34:07 · 111 阅读 · 0 评论 -
【技术栈——00064】ssh配置免密登录,给新用户设置免密登录,给服务器起别名。
SSH配置免密登录配置检查远程服务器是否安装了ssh客户端和服务端没安装的话选择安装检查是否启动启动停止命令客户端先生成秘钥对(公钥和私钥)将公钥复制到远程服务器端的authorized_keys(没有创建这个文件)这里说下给普通用户设置免密登录给服务器起别名这个主要在客户端配置免密登录配置检查远程服务器是否安装了ssh客户端和服务端dpkg -l | grep ssh没安装的话选择安装sudo apt-get install openssh-client sudo apt-get inst原创 2021-04-06 17:38:53 · 231 阅读 · 0 评论 -
【技术栈——00061】搭建关于python项目docker镜像的Dockerfile文件示例(自己的)
指定基于的基础镜像FROM ubuntu:18.04RUN echo export LANGUAGE=en_US.UTF-8 >> /etc/profileRUN echo export LANG=en_US.UTF-8 >> /etc/profileRUN echo export LC_ALL=en_US.UTF-8 >> /etc/profileRUN apt-get updateRUN apt-get upgradeRUN apt-get instal原创 2021-03-26 11:27:36 · 645 阅读 · 2 评论 -
【技术栈——00060】htop教程
原创 2021-03-19 17:11:33 · 146 阅读 · 0 评论 -
【技术栈——00059】socketio服务器和flask对接,完成服务器推送
即时通讯服务器init文件内容**main文件内容**notify文件内容server文件内容flask初始化app时的设置具体推送逻辑:启动服务器的方式提示init文件内容__all__ = ["chat", "main", "notify", "server"]import os, syssys.path.append(os.path.dirname(os.path.abspath(__file__)))from . import chatfrom . import mainfrom原创 2021-02-18 16:33:36 · 534 阅读 · 3 评论 -
【技术栈——00058】elasticsearch详细安装过程,图文教程(包含java安装过程)
目录安装java JDK安装elasticsearch难点1:启动es的时候内存分配问题,修改一下es里的文件内存,修改方法上面的一个网址里,其他人的2:账号问题,es文件别放在root下,我放在opt下了建议啊(设置了chmod 777 *),或者放在你创建的用户文件夹下。安装java JDK这一步网上搜一下吧,有很多教程,折腾一会就安装上了。推荐一下好的教程https://blog.csdn.net/sangewuxie/article/details/80958611以下推荐参考,没有实原创 2021-02-03 17:49:41 · 279 阅读 · 1 评论 -
【技术栈——00057】阿里云的CDN加速怎么使用?
https://bucketexample.oss-cn-hangzhou-internal.aliyuncs.com/example/example.jpghttps://em3dviewer-beijing1.oss-accelerate.aliyuncs.com/3dTeam_publicData/avatar/panda.jpg原创 2021-02-02 14:10:22 · 1150 阅读 · 0 评论 -
【技术栈——00055】mysql主从同步配置
利用docker容器完成数据库主从同步1:复制别修改mysql配置文件到mysql_slave2:拉去镜像3:进入镜像创建可远程登录的账号4:测试容器内登录主机,和主机登录容器mysql 的账号是否可以5:mysqldump 备份数据库到容器6:获取主句二进制日志文件7:配置从服务器的slave8:启动slave服务器,并查看同步状态1:复制别修改mysql配置文件到mysql_slave每个从服务器的serverid不能重复2:拉去镜像sudo docker image pull mysql:5.原创 2021-01-27 14:26:39 · 104 阅读 · 0 评论 -
【技术栈——00054】Flask的ORM数据库迁移,修改模型后无法迁移的问题
ORM执行迁移时的BUG问题描述解决方法1:把这个alembic_version表删除或者清空里面的数据都可以2:然后重新迁移问题描述上图,修改了model里的代码,比如想增加一个字段,但是迁移的时候怎么也不成功,比如提示上面的信息,也看不出什么,或者别的信息。或者migrations/这个文件删除了,你重新迁移,但也会遇到上图的问题,迁移不成功。总之各种迁移不成功,但有一种需要注意,就是模型类里的数据和数据库一样的时候也不会做迁移,程序也会提示你结构没有变化之类的。init生成了迁移文件就好了原创 2021-01-21 19:47:15 · 500 阅读 · 0 评论 -
【技术栈——00052】网络实时流量监测工具-iftop使用教程-linux
ubuntu install iftopInstall iftopiftop effect使用方法介绍Install iftopsudo apt-get install iftopiftop effect监控网卡的实时流量流量的峰值使用方法介绍sudo iftop -i eth0原创 2021-01-03 15:45:06 · 184 阅读 · 0 评论 -
【技术栈——00051】一个python小项目的部署结构及流程,包含docker+gunicorn+flask。
这里写目录标题一:项目介绍二:项目环境构筑三:软件构成四:软件说明一:项目介绍Web后端,http server,框架Flask,7个View,Flask日志项目所在位置docker里/home/warehouse/synchronizeFolder/facial_recognition_backendOcr账号下的docker-folder文件和docker里的/home/warehouse/synchronizeFolder/facial_recognition_backend是映射关系(原创 2020-12-29 16:34:07 · 247 阅读 · 1 评论 -
【技术栈——00050】怎么获取阿里云oss永久url?
因为,之前上传文件,存得是对象名字Objectname,获取到的url都是有时效性的。查了半天终于知道怎么回去上传文件的永久url。下面的是复制的阿里云智能助手指示的教程相关资料的复制。可供参考。如果参考我的内容不能解决,可以打阿里云的客服电话解决,他们都是专业的。以下是阿里云文本公共读Object如果Object允许匿名访问,那么文件URL的格式为:https://BucketName.Endpoint/ObjectName例如华东1(杭州)地域下名为bucketexample的Buck原创 2020-12-29 14:11:03 · 3999 阅读 · 2 评论 -
【技术栈——00048】gunicorn配置文件的启动方式
创建文件启动创建文件配置文件配置文件方式启动Gunicorn创建文件touch gunicorn.conf这个文件在项目根目录创建,比如我的flask项目,这个文件和manage.py 文件在一个级目录配置文件import multiprocessing#预加载资源preload_app = True# 并行工作进程数workers = 5# 指定每个工作者的线程数threads = 4# 端口 5000bind = '127.0.0.1:5006'# 设置守护进程,原创 2020-12-20 13:44:06 · 1979 阅读 · 2 评论 -
【技术栈——00047】跨域问题总结-分为多中情况的跨域解决方案。
跨域问题总结跨域问题描述跨域问题解决方案解决方案1:解决方案2:解决方案3:跨域问题描述跨域问题解决方案解决方案1:CORS(app, supports_credentials=True)解决方案2:这个方法的*号,对前端可能有不 @app.after_requestdef af_request(resp): """ #请求钩子,在所有的请求发生后执行,加入headers。 :param resp: :return: """原创 2020-12-14 16:17:46 · 225 阅读 · 0 评论 -
【技术栈——00046】supervisor进程管理工具,详细的部署gunicorn和flask部署步骤。
进程的管理工具,监控服务器状态,遇到问题会自动重启。1:sudo pip install supervisor # 用python2安装2:echo_supervisord_conf > supervisord.conf # 执行这个命令,在当前文件夹下生成supervisor的配置文件3:vim supervisord.conf # 编辑生成的supervisor配置文件,把下面的代码加到文件最下面。[include]files = /etc/supervisor/*.con原创 2020-12-10 19:37:05 · 676 阅读 · 1 评论 -
【技术栈——00045】remote-SSH的远程配置
配置remote-ssh安装remote-ssh插件配置配置config就可以了安装remote-ssh插件配置点击remotesshtargets 右边有个螺丝的设置 点一下然后出现config的打开方法,第一个配置config就可以了下面是配置方法,需要连接几个就配置几个直接复制就可以,没有别的符号Host AliServer 这个名字随便起HostName 10.84.62.199User ocr 其他账户名 Host AliServer 这个原创 2020-11-04 18:10:02 · 762 阅读 · 0 评论 -
【技术栈——00044】linux时区相关命令
CentOS 7,使用了一个新的命令timedatectltimedatectl 命令1:读取时间timedatectl //等同于 timedatectl status2:设置时间timedatectl set-time “YYYY-MM-DD HH:MM:SS”3:列出所有时区timedatectl list-timezones4: 设置时区timedatectl set-timezone Asia/Shanghai5:是否NTP服务器同步timedatectl set-ntp y转载 2020-09-07 10:58:30 · 186 阅读 · 0 评论 -
【技术栈——00043】ubuntu增加环境变量,永久生效的方法。
一:在ubuntu的/etc/profile下增加以下两个环境变量export LC_ALL=C.UTF-8export LANG=C.UTF-8二(持久化设置):vim打开这个文件: ~/.bashrc在文件底部增加(不增加就每次开机都在终端输入一次): source /etc/profile重启系统,...原创 2020-09-03 11:45:34 · 1054 阅读 · 0 评论 -
【技术栈——00042】Docker网络端口指定的两种方式
dockers在端口指定是的时候可用用以下两种形式第一种#ip是宿主机ip,port1是宿主机端口,port2是容器里的端口。port1映射到port2参数:-p ip:port1:port2第二种:#当使用这种端口方式时,-p就不起作用了,容器里用什么端口,宿主机就用什么端口。--network=host...原创 2020-08-31 11:19:11 · 2245 阅读 · 0 评论 -
【技术栈——00041】npm set proxy
npm是node的安装工具包原创 2020-08-26 14:54:42 · 421 阅读 · 0 评论 -
【技术栈——00040】Microservice tutorial---nameko(微服务)
这里写目录标题一:rabbitmq install二:微服务类三:微服务启动方式一四:微服务启动方式二五:flask服务器调用微服务目录参考一:rabbitmq installdocker run -p 5672:5672 --hostname nameko-rabbitmq rabbitmq:3rabbitmq相当于一个消息队列(也就是消息中间件),nameko run 运行的服务都会挂载到rabbitmq上,所以用nameko搭建微服务必须先安装rabbitmq。二:微服务类创建一个ser原创 2020-08-20 18:54:06 · 552 阅读 · 0 评论 -
【技术栈——00039】Flask project deploy tutorial
flask部署参考设置全过程nginx部分补充说明设置全过程nginx部分补充说明原创 2020-08-20 06:57:53 · 168 阅读 · 0 评论 -
【技术栈——00038】vim的vimrc文件配置
vim的vimrc文件配置完整配置(参考)vim运行python代码的配置上面的图片完整配置(参考)set nocompatiblefiletype onset backspace=indent,eol,startset numbercolorscheme murphycall plug#begin('~/.vim/plugged')Plug 'python-mode/python-mode', { 'for': 'python', 'branch': 'develop' }Plug原创 2020-08-12 15:04:49 · 965 阅读 · 0 评论 -
【技术栈——00037】消除vscode安装pylint后提示的unused variable
vscode消除vscode安装pylint后提示的unused variable查看代码复制代码消除vscode安装pylint后提示的unused variable查看代码把标记的那段代码放到你的vscode的setting.json文件里。复制代码{ "python.pythonPath": "C:\\Users\\intern\\AppData\\Local\\Programs\\Python\\Python37\\python.exe", "editor.fontSiz原创 2020-07-20 11:41:56 · 3263 阅读 · 0 评论 -
【技术栈——00036】安装python依赖包的网址
https://www.lfd.uci.edu/~gohlke/pythonlibs/常用的依赖包lxml,Twitts…原创 2020-06-08 09:40:58 · 963 阅读 · 0 评论