- 博客(44)
- 收藏
- 关注
原创 VirtualBox装虚拟机的问题记录
VirtualBox装虚拟机的问题记录1、虚拟机不能正常启动 总是异常退出报错 VT-x is disabled in the BIOS for both all CPU modes 这个时候是 电脑的支持虚拟化的开关没有打开解决办法:1、虚拟机不能正常启动 总是异常退出报错 VT-x is disabled in the BIOS for both all CPU modes这个时候是 电脑的支持虚拟化的开关没有打开解决办法:
2024-09-21 14:44:37 354
原创 python 环境问题
当我在pycharm终端执行脚本,比如 activate激活虚拟环境时,会报错不让执行。直接在搜索框搜索powershell,以管理员身份运行。这类问题的出现原因是没有权限执行脚本。
2024-09-18 17:43:42 392
原创 转义字符笔记
" 在字符串前面加 u 后面字符串以Unicode格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。" r加在字符串前面,表示需要原始字符,不需要转义字符,r是raw的缩写,表示原始的意思。\b 退格符,按键盘上的Backspace键,將光标向前删除一个字符。\t 制表符,作用是列对齐,一个Tab键的距离(4个空格)" 在字符串前面加b,表示这是一个 bytes 对象。\ 反斜杠符号 ,用 \ 在字符串里表示反斜杠。" 双引号,用 " 在字符串里表示双引号。
2024-09-09 18:48:50 331
原创 os模块函数
os.path.join(path1[, path2[, …os.path.normcase(path) 转换path的大小写和斜杠,在windows中,一般都是把正斜杠转换成反斜杠。os.path.realpath(path) 返回path的真实路径,把相对路径转换成真实路径。os.path.exists(path) 路径存在则返回True,路径不存在返回False。os.path.getsize(path) 返回文件夹大小,如果不存在就返回错。os.path.abspath(path) 返回绝对路径。
2024-09-09 18:42:18 259
原创 DRF序列化_instance传参
从数据库查询出来的都是数据实例对像,不能直接返回客户端,json也并不能序列化数据实例对像,所以需要序列化器,把数据实例对像序列化,表现结果就是把从数据库查询出来的数据,转换成map形式,数据类型保持在数据库中本来的数据类型,返回给客户端。
2024-08-27 14:39:55 693
原创 Nginx负载均衡
负载均衡概述早期的网站流量和业务功能都比较简单,单台服务器足以满足基本的需求,但是随着互联网的发展,业务流量越来越大并业务逻辑也跟着越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因次需要多台服务器进行性能的水平扩展及避免单点故障出现。那么如何将不同用户的请求流量分发到不同的服务器上呢单点机器出现的问题1、服务端接收请求的时候,超出了最高的并发处理能力,就会出现处理请求的速度非常慢,或者直接把服务器压垮,出现宕机的情况2、服务端如果宕机了,该如何解决。
2024-08-02 16:44:06 1173
原创 Nginx_Rewrite功能配置
Rewrite是Nginx服务器提供的一个重要基本功能,是Web服务器产品中几乎必备的功能。主要的作用是用来实现URL的重写。注意: Nginx服务器的Rewrite功能的实现依赖于PCRE的支持,因此在编译安装Nginx服务器之前,需要安装PCRE库。Nginx使用的是ngx_http_rewrite_module模块来解析和处理Rewrite功能的相关配置Rewrite的相关指令set 指令 if 指令 break 指令 return 指令rewrite 指令rewrite_log 指令。
2024-07-25 18:25:55 1004
原创 Nginx跨域问题的分析
这块内容,我们主要从以下方面进行解决同源策略浏览器的同源策略: 是一种约定,是浏览器最核心也是最基本的安全功能,如果浏览器少了同源策略,则浏览器的正常功能可能都会受到影响。同源: 协议、域名(IP)、端口相同即为同源跨域主要是针对浏览器的,当我们访问一个网址时,从该网页点击一个链接(或者调用另一个网址)、如果这个链接或者网址不跟访问的网页不同源,就会出现跨域。
2024-07-25 16:09:20 886
原创 Nginx静态资源部署
Nginx静态资源概述上网去搜索访问资源对于我们来说并不陌生,通过浏览器发送一个HTTP请求实现从客户端发送请求到服务器端获取所需要的内容后并把内容回显展示在页面的一个过程。这个时候,我们请求的内容就分为两种类型,以类型是静态资源,一类是动态资源。静态资源即指在服务器端真实存在并且能直接拿来展示的一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。动态资源即指在服务器端真实存在但是要想获取需要经过一定的业务逻辑处理,根据不同的条件展示在页面不同的结果,比如说报表展示等。
2024-07-22 18:39:45 1765
原创 Nginx服务操作问题
经过前面的操作,我们会发现,如果想要启动、关闭或者重新加载nginx配置文件,都需要先进入到nginx的安装目录的sbin目录,然后使用nginx的二进制可执行文件来操作,相对来说操作比较繁琐,这块该如何优化?另外如果我们想把Nginx设置成随着服务器启动就自动完成启动操作,又该如何来实现?
2024-07-19 19:19:04 329
原创 Nginx配置实例
前面我们已经对Nginx服务器默认配置文件结构和涉及的基本指令做了详细的阐述。通过这些指令的合理配置,我们就可以让一台Nginx服务器正常工作,并且提供基本的Web服务器功能。接下来我们将通过一个比较完整和最简单的基础配置实例,来巩固下面所学习的指令及其配置。/usr/local/nginx/conf/nginx.conf 的配置参数详解。
2024-07-19 15:22:15 162
原创 nginx.conf配置文件详解
这个配置主要可以用来解决常说的 “惊群”问题,大致意思是在某一个时刻,客户端发来一个请求连接,Nginx后台是以多进程的工作模式,也就是说有多个worker进程会被同时唤醒,但是最终只会有一个进程可以获取到连接,如果每次唤醒的进程数目太多,就会影响Nginx的整体性能。从前面的内容学习中,我们知道Nginx的核心配置文件默认是放在 /usr/local/nginx/conf/nginx.conf,这一节,我们就来学习下nginx.conf的内容和基本配置方法。
2024-07-17 19:17:33 1088
原创 Nginx目录分析,安装和启停命令
CGI(Commen Gateway Interface 通用网关【接口】,主要的解决问题是从客户端发送一个请求和数据,服务端获取到请求和数据后可以调用CGI【程序】处理及相应结果给客户端的一种标准规范。fastcgi,scgi,uwsgi 都是cgi衍生出来的,比cgi更快,后缀带default的,都是配置文件的备份程序。mime.types : 请求头的相关配置信息可以看这个文件。
2024-07-16 14:55:33 891
原创 nginx 环境准备
使用源码进行简单安装,我们会发现安装的过程比较繁琐,需要提前准确GCC编译器、PCRE兼容正则表达式库、zlib压缩库、OpenSSL安全通信的软件库包,然后才能进行Nginx的安装。这种方式和简单的安装配置不同的地方在第一不,通过./configure来对编译参数进行设置,需要我们手动来指定,那么都有哪些参数可以进行设置,接下来我们进行一个详细的说明。(8)输入自己的ip地址,如果看到了nginx的欢迎界面,则代表nginx安装成功。我们先来认识一些简单的路径配置已经通过这些配置来完成一个简单的编译。
2024-07-12 17:56:19 449
原创 linux rpm yum systemctl常用命令
RPM (RedHat Package Manager), RedHat 软件包管理工具 ,类似windows中的setup.exe 是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但是理念都是通用的,RPM包的名称格式- apache 软件名称- 1.3.23-11 软件的版本号- i386 是软件所运行的硬件平台,Intel 32位处理器的统称- rpm 文件扩展名 代表RPM包。
2024-07-11 15:29:16 270
原创 linux 进程
表示 该进程是后台运行的程序,没有终端运行),tty1是图形化终端,tty2-tty6是本地的字符界面终端。通过查看进程列表,你可以确定哪些进程占用了大量的 CPU。常见的状态有 R: 运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s: 包含子进程、l:多线程、+:前台显示。ps -ef| grep xxx (功能描述: 查看系统中所有进程 ,并且可以查看子父进程之间的关系)数值越大,表面进程是CPU密集型运算。%CPU 当前用户进程占用CPU的时间, 占用越高 进程越耗费资源。
2024-07-08 16:29:01 776
原创 linux 进程管理
解释下硬盘、内存、cpu的区别。硬盘是外部存储文件的,可以永久性存储文件,但是读取数据很慢,内存的载体是内存条,可以在电脑运行时临时存储数据,读取数据的速度很快,跟硬盘不是一个级别,然后CPU运算时读取数据都是从内存中读取数据。数据运行时 一定要拷到内存中才能被CPU读取。
2024-06-20 17:11:31 146
原创 liunx 网络
通常centos6的网卡文件命名是eth0、centos7的命名规则是ens 或者是enp 等,对应的命名是多样性的,通常有几个网卡就有几个对应的配置文件。网络管理器(NetworkManger) 是一个动态的网络控制器与配置系统,它用于当网络设备可用时。保持设备连接和开启并激活,默认情况下centos7已安装网络管理器,并处于启用状态。该路径下都是跟网络相关的配置,对应的 配置文件我们可以认为是对应的网卡配置。
2024-06-17 18:56:42 788
原创 virsualbox 安装虚拟机的坑
下载网址: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?安装网址: :https://aka.ms/vs/17/release/vc_redist.x64.exe。
2024-06-17 17:22:01 254
原创 python协程理论理解
进程是指一段程序指令的运行活动,是计算机分配资源的最小单元(进程为线程提供资源,可以认为是指开了一块内存区域)线程是计算机中可以被cpu调度的最小单元,一个进程中可以有多个线程,进程为进程中的线程提供资源,线程是真正工作的单位协程也可以被称为微线程,是一种上下文切换技术,其实就是通过代码,切换执行不同的程序,目的是同线程一样,使计算机资源被充分利用。
2024-04-24 16:12:48 967
原创 docker网络私有地址范围
这些地址范围是专门用于内部网络通信,并且不会被分配给公共互联网上的设备。在企业网络、家庭网络以及诸如 Docker 容器等私有网络环境中,通常会使用这些私有地址范围来分配 IP 地址。当你在设置子网时,通常会选择这些私有地址范围中的一个来避免与公共互联网上的 IP 地址冲突,并确保在局域网内部进行通信时不会产生冲突。私有地址范围是指保留用于内部网络通信的 IPv4 地址范围。
2024-04-10 11:49:34 205
原创 gunicorn
Gunicorn是一个 Python 的 WSGI HTTP 服务器。它所在的位置通常是在反向代理(如 Nginx)和一个 web 应用(如django)之间,支持eventlet也支持greenlet。Gunicorn启动项目之后一定会有一个主进程Master和一个或者多个工作进程。工作进程的数量可以指定。工作进程是实际处理请求的进程。主进程维护服务器的运行。
2024-04-09 17:59:06 709
原创 drf源码_数据检验
3、如果想校验和序列化 字段不一致,可以通过read_only 和 write_only控制。write_only为True时,这个字段提交时会校验,但是不会序列化返回,比如密码这种字段。read_only表示序列化字段,在提交时,如果有字段设置为True,那么这个字段可以不。1、如果对新增数据 校验过后,成功保存到数据库后,想要序列化返回,此时可以校验定义一个。2、校验可以跟序列化同时用一个序列化类,但是两者的字段是一致的。用提交,不用校验,知识序列化后显示,比如自增id。如果一个请求,即需要做。
2024-03-18 15:26:53 295
原创 drf源码_序列化源码
在创建类的时候,类里面定义的 类属性 和 方法是要比 类先创造的,因为如果我们用type()这种方式创建类的时候,类属性和方法是要当作参数传给type的,所以 创建类的时候 类属性和方法是先有的,然后再创建类对于上述代码,在类创建之前,其内部字段会先进行实例化对象。而这些CharField在CharField等字段实例化时,内部会维护一个计数器,来表示实例化的先后顺序。
2024-03-18 15:03:00 688
原创 DRF序列化_创建
在和Serializer中都可以自定义字段,并传入一些相关参数。title = models.CharField(verbose_name="标题", max_length=32)order = models.IntegerField(verbose_name="顺序")name = models.CharField(verbose_name="姓名", max_length=32)
2024-03-16 15:28:08 186
原创 drf源码_解析器
使用获取请求体中的数据。这个的数据怎么来的呢?其实在drf内部是由解析器,根据请求者传入的数据格式 + 请求头来进行处理。解析器源码1、drf 將解析器封装到 Request中2、將解析器传给 parsers 参数3、將选择解析器参数DefaultContentNegotiation 实例化对象传给 negotiator,DefaultContentNegotiation.select_parser 作用是根据request的请求头 和 列表中解析器的请求头匹配选择合适的解析器。
2024-03-16 14:58:40 165
原创 drf源码_限流
限流,限制用户访问频率,例如:用户1分钟最多访问100次 或者 短信验证码一天每天可以发送50次, 防止盗刷。本质,每个限流的类中都有一个。
2024-03-16 11:19:11 297
原创 drf_访问周期和组件的配置
首先请求过来,最新访问django的中间件,首先访问各中间件的process_request,然后匹配视图函数,但是并不访问,匹配完之后,再访问各中间件的process_view函数,访问完之后,然后再走drf中的dispatch, 然后依次进行用户认证,权限认证 和限流认证,最后才访问视图函数。
2024-03-16 10:24:42 222
原创 drf源码_认证
在开发API过程中,有些功能需要登录才能访问,有些无需登录。drf中的认证组件主要就是用来实现此功能。关于认证组件,我们用案例的形式,先来学习常见的用用场景,然后再来剖析源码。项目要开发100个接口,其中1个无需登录接口、98个必须登录才能访问的接口、1个公共接口(未登录时显示公共/已登录时显示个人信息)。原来的认证信息只能放在URL中传递,如果程序中支持放在很多地方,例如:URL中、请求头中等。认证组件中,如果是使用了多个认证类,会按照顺序逐一执行其中的方法。
2024-03-15 18:26:25 729
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人