- 博客(99)
- 收藏
- 关注
原创 mysql高可用方案(galera+haproxy+keepalived)
一,服务器基础配置准备3台主机,系统centos7node1 192.168.59.132node2 192.168.59.133node3 192.168.59.134分别在三台服务器执行以下操作:1,关闭防火墙systemctl disable firewalld systemctl stop firewalldsed -ri '/SELINUX=/cSELINUX=disabled' /etc/selinux/configsetenforce 02,配置yum源cat >
2021-12-29 08:56:01 1690
原创 阿里云弹性伸缩在生产环境中的实战应用
之所以要写这篇文章,是因为11月19日正好是个周五,一下班匆匆忙忙拿起书包往家赶,谁知刚出公司大门就连续接到好几个报警电话,服务器崩掉了。赶紧回公司定位问题,发现公司发了一条公众号,链接到商城小程序的用户突增,导致服务器CPU飙高,数据库使用率也瞬间飚到100%。怎么办,赶紧手动扩容,临时增加了两台16C服务器,把压力过高的服务扩容到这两台数据,数据库之前就配置了自动扩容,很快就自动恢复了。虽然有惊无险,但是前前后后也耗费了半个多小时。为了避免以后遇到同样的问题,花了两天时间,利用阿里云弹性伸缩服务,实现
2021-12-09 16:27:12 1634
原创 ubuntu安装docker
一,更新源,下载依赖包sudo apt-get updatesudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release二,添加docker official GPG key curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /us
2021-08-05 14:32:11 437
原创 ubuntu 完全卸载docker
# 1 删除某软件,及其安装时自动安装的所有包sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc# 2 删除无用的相关的配置文件dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 3 卸载没有删除的docker相关插件(结合自己电脑的实际情况)sudo apt-get autoremove docker-ce-*# 4 删
2021-08-05 13:37:59 328
原创 Ubuntu18.4使用docker安装mysql
1,安装支持rancher 的dockercurl https://releases.rancher.com/install-docker/18.09.sh | sh2,docker安装mysql,映射本地目录 docker run -p 3306:3306 --name mysql \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/lo
2021-08-04 17:51:16 408
原创 线上容器cpu持续飙高排查思路(docker版)
总流程1、查看docker的cpu占用率:docker stats2、进入cpu占用高的docker容器:docker exec -it 容器编号 /bin/bash3、查看容器中具体进程cpu占用率,执行top,(如top命令无法使用,执行:export TERM=dumb ,然后在执行:top)4、查看进程中线程cpu占用率:top -H -p 进程号5、将异常线程号转化为16进制: printf “%x\n” 线程号6、查看线程异常的日志信息:jstack 进程号|grep 16进制异常线
2021-02-21 14:56:38 2715
原创 后端开发环境搭建---maven(deploy)
一,配置远程仓库1,全局配置文件路径:D:\Program Files\Apache\apache-maven-3.6.2\conf\settings.xml2,用户配置文件路径(一般选择用户配置):C:\Users\zcy\.m2\settings.xml3,如果用户路径下没有settings.xml文件,从全局配置文件copy一份须知:项目中的pom.xml已经配置了远程maven仓库...
2019-10-26 11:39:57 301
原创 后端开发环境搭建---日志
日志配置文件:application.yml调日志级别:debuglogging: level: org.apache.ibatis: ${LOGGING_LEVEL:debug} io.choerodon: ${LOGGING_LEVEL:debug} org.hzero.platform.infra.mapper: ${LOGGING_LEVEL:debug}...
2019-10-26 10:27:05 705
原创 后端开发环境搭建---插件
idea插件:checkstyle-idea # 代码规范emmylua # lua代码插件free mybatis plugin # Mapper接口和XML文件之间跳转lombok # 以简单的注解形式来简化java代码maven helper # maven插件mybatis pluginspock framework enhancements...
2019-10-26 10:09:57 354
原创 idea导入工程
idea操作:file->new->module from exsiting sources选中工程路径,导入next,勾选search for projects recursively
2019-10-25 18:41:45 921
原创 Let's Encrypt 安装配置教程
官网:https://letsencrypt.org/安装Let’s Encrypt安装非常简单直接克隆就可以了git clone https://github.com/letsencrypt/letsencrypt生成通配符证书期间需要根据提示设置DNS TXT记录,用作你对判断你是否拥有域名使用权 cd letsencrypt./certbot-auto certonly -...
2019-10-15 18:46:55 1341
原创 windows下ssh-add失败的解决办法
解决方法:打开git Bash命令行,依次执行1.exec ssh-agent bash2.eval ssh-agent -s3.ssh-add “XXX.ssh\id_rsa”**引号中的路径就是你私钥文件的路径
2019-08-27 09:11:36 1923
原创 centos7 docker创建maven仓库
1,下载nexusdocker pull sonatype/nexus32,运行docker run --rm -d --privileged=true -p 8081:8081 --name nexus -v /data/docker/nexus3/nexus-data:/var/nexus-data sonatype/nexus33,查看密码文件(docker登录容器)密码文件路径...
2019-08-19 11:37:17 267
原创 centos7 docker 安装gitlab
1.安装docker···[root@server-10 ~]# yum install docker-ce -y[root@server-10 ~]# systemctl enable docker[root@server-10 ~]# systemctl start docker···2,获取gitlab镜像包[root@server-10 ~]# docker pull git...
2019-08-19 09:05:06 212
原创 linux动态连接库的问题
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*...
2019-06-06 13:19:13 319
原创 rabbitMQ消息队列
线程queue的作用多线程使用queue实现生产者消费者模型, 同一个进程不同线程间通信一个线程往队列中放数据一个线程从队列中取数据rabbitMQ介绍what本身就是一个队列, 只不过比较专业, 也叫作消息中间件, 消息队列fromrabbitMQ的开发语言: erlangwhy什么场景下需要用到消息队列?异步什么情况下使用异步对任务没有同步的要求, 其他任务不依...
2019-03-17 17:38:23 1127
原创 python rsa加密解密
import rsaimport base64class Crypto: def __init__(self): pass def savekey(self): ''' 新建公钥和私钥并保存到本地 :return: ''' pubkey, privkey = rsa.newkey...
2019-03-17 17:32:31 2576
原创 python APScheduler 执行定时任务
入门任务:每隔5s打印一个1from apscheduler.schedulers.background import BackgroundScheduler, BlockingSchedulerscheduler = BlockingScheduler()def func(): print(1)job = scheduler.add_job(func, trigger...
2019-03-15 23:40:04 7800 1
原创 python django面试题(第八章)
第八章 django1. 简述http协议和常用请求头http协议是超文本传输协议常用请求头:协议头说明Accept可接受的响应内容类型Accept-Charset可接受的字符集Accept-Encoding可接受的响应内容的编码方式。Accept-Language可接受的响应内容语言列表。Accept-Datetime可接受的按照时间...
2019-03-15 10:16:52 19649 1
原创 python 爬虫面试题(第十三章)
第十三章 爬虫1.写出在网络爬取过程中,遇到防爬问题的解决办法。2.如何提高爬虫的效率?分布式爬虫开启线程池使用aiohttp异步爬虫3.你的爬虫爬取的数据量有多少?4.列举您使用过的 python网络爬虫所用到的模块。requests,selenium,scrapy,aiohttp5.简述 requests模块的作用及基本使用?模拟浏览器发送http,https请求6....
2019-03-15 10:12:09 598
原创 django 重新生成表结构
清理migrations需要清理两个标记。将app内migrations文件夹里除了__init__.py这个文件外的所有文件删除。登录数据库,找到django_migrations这个表,然后将表内对应的应用app下的migrations记录删除即可。或者直接删除库重新执行命令python manage.py makemigrationspython manage.py mig...
2019-03-14 19:29:03 2603
原创 python多条件排序
一个列表()如下)中的数据是按{a:1,b:2,c:3}的格式存储的,将列表中的数据按照c的大小排序,若c相等,则按b的大小排序,用一行代码lst = [{'a':1,'b':2,'c':4},{'a':1,'b':2,'c':3},{'a':1,'b':1,'c':3}]答:lst.sort(key=lambda x:(x['c'],x['b']))print(lst)...
2019-03-14 18:34:33 2470 1
原创 python 定时任务 celery入门
celery介绍Celery 本身不是任务队列,它是管理分布式任务队列的工具,或者换一种说法,它封装好了操作常见任务队列的各种操作,我们用它可以快速进行任务队列的使用与管理,当然你也可以自己看 rabbitmq 等队列的文档然后自己实现相关操作都是没有问题的。celery角色及作用Brokersbrokers 中文意思为中间人,在这里就是指任务队列本身,Celery 扮演生产者和消费者的角...
2019-03-14 18:13:26 1397 2
原创 Django 使用auth模块登录 如何通过session 获取用户ID
首先,用户登录到服务器之后,会保存一个key:value 值,就是session.这个key呢,是系统随机生成的一个随机字符串,用来表示唯一的身份。比如:87234EFFDIDf7234D:{‘id’:1,‘username’:“zhangsan”,‘account’:0001,}Value,就是这个key中保存的数据。默认字段:[’_auth_user_id’, ‘_auth_user_b...
2019-03-13 18:45:02 7943
原创 restframework 权限组件
1.局部视图权限在app01.service.permissions.py中:from rest_framework.permissions import BasePermissionclass SVIPPermission(BasePermission): message="SVIP才能访问!" def has_permission(self, request, view)...
2019-03-08 15:53:03 257
原创 restframework 认证组件
1.局部视图认证在app01.service.auth.py:class Authentication(BaseAuthentication): def authenticate(self,request): token=request._request.GET.get("token") token_obj=UserToken.objects.filt...
2019-03-08 15:51:29 336
原创 restframework 用户访问频率限制
局部视图throttle在app01.service.throttles.py中:from rest_framework.throttling import BaseThrottleVISIT_RECORD={}class VisitThrottle(BaseThrottle): def __init__(self): self.history=None ...
2019-03-08 15:47:18 506
原创 爬虫做js逆向分析的思路
1. 为什么要做逆向正常我们访问一个网站是由html css js 文件组成的,下图是某网站的正常访问。当然我们也可以看到是谁调用了这个请求执行了什么(2图为某网站登录链接)分析URL我们可以看到这个链接他的请求参数,传输方式等。我们可以看到左图和右图的差距;同样的请求方式和fromdata会有这样的差距。如果有些经验的同学就会去找相关js了如何快速查找js我们可以在搜索查...
2019-03-07 09:05:56 20120 5
原创 django中单元测试
test.py文件中from django.test import TestCasefrom app01.models import People #导入people Model类# Create your tests here.#创建测试类class PeopleTestCase(TestCase): def setUp(self): #setUp 固定写法 ...
2019-03-06 17:30:04 277
原创 django- debug-toolbar配置
1.安装pip install django-debug-toolbar2.配置步骤1:settings.pyINSTALLED_APPS中添加'debug_toolbar.apps.DebugToolbarConfig'MIDDLEWARE中添加'debug_toolbar.middleware.DebugToolbarMiddleware'文件尾部添加INTERNAL_IP...
2019-03-06 17:14:33 604
原创 一个合格开发必备的Linux基础
19.请问你使用的linux发行版是什么?如何查看linux发行版信息?centoscat /etc/os-release20.请问你公司的服务器环境是物理机还是虚拟化?虚拟化:我26台dell power edge R720 ,实体服务器,通过vmware vsphere虚拟化的 300+linux服务器8台阿里云2个nginx负载均衡,2个web服务器,2个前端服务器,2...
2019-03-06 09:22:27 873
原创 易盾二代js分析(待续)
第一步:找到请求地址https://c.dun.163yun.com/api/v2/check?id=eda6d7f57cf54b5d8f9b0ed24e5b6e66&token=c195e70d994a4149a2f1dd6c93fe87f8&data={“d”%3A"ICMUEX7PBKfH\\UuBXvAcLR9jHWLxFdW82NGGYSARm%2F92%2F6FbV...
2019-03-05 21:54:43 2247 1
原创 django 增删改查基本操作
1. 单表新增views.py文件class Index(View): def get(self,request): # 新增 name = request.GET.get('name') age = request.GET.get('age') user_obj = User.objects.create(name=na...
2019-03-04 22:42:18 124
原创 django 路由传参
django路由传参位置传参关键字传参1.位置传参url请求地址http://127.0.0.1:8000/api/1/2urls.py文件中urlpatterns = [ url(r'^api/(\d+)/(\d+)', Index.as_view()), #\d+ 指定接收类型为数字]views.py文件中class Index(View): d...
2019-03-04 22:26:01 1386
原创 mitmproxy说明
mitmproxy完整生命周期:import typingimport mitmproxy.addonmanagerimport mitmproxy.connectionsimport mitmproxy.httpimport mitmproxy.logimport mitmproxy.tcpimport mitmproxy.websocketimport mitmproxy.p...
2019-03-04 18:01:59 1081
原创 python软件开发目录规范
目录规范:#=============>bin目录:存放执行脚本#start.pyimport sys,osBASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.append(BASE_DIR)from core import corefrom conf import my...
2019-03-04 09:50:15 322
原创 django基础配置
1. 设置时区和语言Django默认使用美国时间和英语,在项目的settings文件中,如下所示:LANGUAGE_CODE = 'en-us'TIME_ZONE = 'UTC'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = True我们把它改为亚洲/上海时间和中文(别问我为什么没有北京时间,也别把语言写成zh-CN)。LANGUAGE_CO...
2019-03-04 09:48:55 170
原创 Ubuntu系统忘记root密码怎么办
1、重启电脑长按shift键直到进入下图进入GRUB引导模式,选择第二行Ubuntu 高级选项, 选中直接回车 ,如下图:2、进入如下画面,看到里面有一些选项,这时千万不要按回车键,按e进入(recovery mode) 编译kernel进行启动参数3、关键的时候到了, 倒数第四行,会看到一行Linux /boot/vmlnuz-4.2.0-27-generic …ro recovery ...
2019-03-01 23:32:06 1655
原创 selenium爬虫利用mitmproxy实现js拦截
1.下载mitmproxy pip install mitmproxy2.新建HTTPProxy.py文件,写入如下内容TARGET_URL = 'https://g.alicdn.com/secdev/sufei_data/3.6.11/index.js' #这个是淘宝的index.js文件的INJECT_TEXT = 'Object.defineProperties(navigato...
2019-03-01 16:10:52 6863
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人