Lamp架构从入门到精通

系列文章目录

lnmp架构

lnmp架构-nginx负载均衡以及高可用

  • 系列文章目录
  • 一、源码编译
    • configure(检测预编译环境是否可行)
    • make
    • make install
    • 优化关闭Debug
  • 二、 nginx负载均衡
  • 三、nginx的高并发
    • nginx work数量的设定
    • nginx work进程与cpu的静态绑定
    • 压力测试
    • nginx高并发
      • 修改操作系统的限制
  • 四、nginx技术阅读文档
  • 五、nginx权重以及nginx的健康检测
  • 六、nginx ip哈希负载均衡
  • 七、基于cookie算法的nginx负载均衡
  • 八、 lnmp架构
  • 九、数据库的编译
  • 系列文章目录
  • lnmp架构图
  • 一、Mysql的初始化
  • 二、php的源码编译
  • 三、更改php的配置
  • 三、 做nginx和php-fpm的整合
  • 四、 nginx + php-fpm + mysqld的整合
  • 五、 扩充PHP模块之memcache
    • nginx高速缓存


一、源码编译

Nginx web 7 proxy cdn(cache)
www.nginx.com官网 www.nginx.org 下载要下载稳定版本Stable
阿里发行的版本Tengine(修改后的Nginx,二次开发)
源码编译可以灵活定制你需要的功能相比较rpm包安装
源码编译三部曲:
configure (这个是个脚本,gnumake)
make
make install
camke有缓存(有安装进度),gnumake没有缓存,每次都会重新编译

configure(检测预编译环境是否可行)

./configure --help 查看编译的功能模板
如果不指定安装路径一般安装在/usr/local 配置文件放在/usr/local/etc 二进制程序放在 /usr/local/bin(在系统的环境变量里面,echo $PATH)
指定安装路径比较好,以后备份删除修改都方便查找 --prefix=/usr/local/nginx
–with默认不编译,想要编译这个模板就加入–with
–without默认编译,去掉这个功能,就–without
缺少xxx library 在系统一般是xxx-devel(开发包),不是的话yum search找下
编译成功后,会把你之前写的参数写入到Makefile中,执行make的时候回读取当前的Makefile
configure没有生成Makefile的话,make也无法执行

make

编译时间与源代码量和机器性能有关
把源码编译成二进制程序

make install

make install 会把编译好的二进制程序、配置文件等,拷贝到指定的位置/usr/local/nginx,在修改nginx配置的时候要在/usr/loacl/nginx里面的conf修改而不是源码包里面的conf修改
在make install安装完后,可以回收到源码包
源码包/objs
有个绿色的文件nginx(编译好的二进制程序)
在这里插入图片描述
在make install的时候会把源码里面拷贝到这个路径
在这里插入图片描述
在源码包里面有个conf这里面是它的配置
在这里插入图片描述在这里插入图片描述

在安装路径,二进制程序在sbin目录里面

在这里插入图片描述

希望让其被系统环境识别

在这里插入图片描述

在这里插入图片描述
在运行后,它会产生临时的目录

在这里插入图片描述

优化关闭Debug

传参(相当于kill)
在这里插入图片描述
由于c语言编译会产生很多的临时文件,所以清理
在这里插入图片描述
为了更纯净的,可以删掉,重新解压一个tar包

在这里插入图片描述
关闭其debug
在这里插入图片描述
在这里插入图片描述
然后继续configure make make install
优化成功
在这里插入图片描述

二、 nginx负载均衡

ps aux 查到Nginx
在这里插入图片描述在这里插入图片描述
变更conf文件/usr/local/nginx/conf
在这里插入图片描述在这里插入图片描述
ps aux
在这里插入图片描述/usr/local/nginx conf里面这些是gobal
在这里插入图片描述在这里插入图片描述
在http里加的参数会直接作用里面所有的server
定义负载均衡器名字westos
在这里插入图片描述
location / 当访问/目录的时候
proxy_pass 反向代理http://westos(负载均衡器的名字)
反向代理,负载均衡加速
反向代理,客户端不需要任何操作,代理服务器帮忙
正向代理,客户端需要设置代理服务器(网游和翻墙)
在这里插入图片描述
检测语法-t,没有问题就可以刷新服务了

在这里插入图片描述
给结点2和结点3开启Httpd服务
http报错5开头一般是服务端有问题,百度直接搜索HTTP状态码
在这里插入图片描述

三、nginx的高并发

修改并发到65535,一个进程并发65535

在这里插入图片描述

nginx work数量的设定

work数量和你cpu数量是相关的,几个cpu几个work

在这里插入图片描述

根据cpu数量自动判断几个work

在这里插入图片描述
在这里插入图片描述

nginx work进程与cpu的静态绑定

01表示第一个cpu核心,10表示第二个cpu核心
把work的进程和cpu进行静态的绑定,这样可以大量避免cpu上下文切换带来的损耗

在这里插入图片描述
具体更多用法查看Nginx work_processes参数

压力测试

在这里插入图片描述在这里插入图片描述

httpd自带的ab压测工具 -c 1 一个并发
在这里插入图片描述
没有请求失败的,每s速度8000
在这里插入图片描述
压力都在server2 server3上去了
由于是反向代理,所以吞吐量(流量要除以2)
netstat-antlpe

在这里插入图片描述在这里插入图片描述
大概用了10s左右
在这里插入图片描述

nginx高并发

在这里插入图片描述

在这里插入图片描述

修改操作系统的限制

在这里插入图片描述
要添加这个,要不然操作系统默认是1024,突破不了,65535
即改即生效
在这里插入图片描述
速度变快了
在这里插入图片描述

四、nginx技术阅读文档

阅读官方文档 https://docs.nginx.com/nginx/,学习
在这里插入图片描述

五、nginx权重以及nginx的健康检测

设置权重 https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/
在这里插入图片描述
server2接受的请求就变多了
在这里插入图片描述
设置本机的80端口,只要后端有一个服务端存活,就不会启动本机bakeup,在bakeup服务器不要放应用服务,写入此网站正在维护中

在这里插入图片描述

关闭后端的server2和server3的httpd,它有健康监测,当后端没有服务器,便会启动自己

在这里插入图片描述

六、nginx ip哈希负载均衡

算法,ip哈希(不支持bakeup)

在这里插入图片描述
只要来源不变,访问服务器不变

在这里插入图片描述
问题:client->dns->CDN(内容分发网络,用来加速,减轻后端server的压力)
client(原地址,目标地址) -> cdn(反向代理)->nginx(获取的地址时cdn的地址,很多客户端过了cdn,地址都变成cdn了)nginx变会调度到同一服务器

如果架构有缓存,不能用哈希ip算法

七、基于cookie算法的nginx负载均衡

手动下线某台机器
在这里插入图片描述在这里插入图片描述
这种算法,是那台服务器负载小调度谁,但是这个服务要Nginx plus才能用,收费
在这里插入图片描述
所以使用基于cookie的算法
希望不同客户端过cdn都能均衡,过cdn以后ip变成一样
在这里插入图片描述
添加算法sticky
在这里插入图片描述
Nginx服务启动不来,因为是nginx plus才能使用的,注释掉sticky

在这里插入图片描述
在这里插入图片描述

替代方法

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
重新编译
在这里插入图片描述在这里插入图片描述
重新进入/usr/local/nginx/conf/nginx.conf
把刚才注释的sticky算法打开
在这里插入图片描述
sticky算法,这种算法是基于浏览器的cookie来负载均衡
cookie非常小,每当客户端访问时,server端会给客户端返回一个cookie,这个值交给浏览器(浏览器要支持)(关闭浏览器会被自动清理),之后所有的请求都会带cookie过去,当cookie到服务器时候,会对应服务器内存的sasion,继续由同一个后端处理清理网页缓存后

刷都是server2
在这里插入图片描述
在这里插入图片描述
不能用curl命令,curl命令不支持cookie
不用原地址做哈希,用cookie来解决,即使过cdn cache都行

八、 lnmp架构

前2列是前面做的负载均衡后面是lnmp架构(电商的平台)
lamp=linux/unix/windows(操作系统) +apache/nginx/…(web服务器)+mysql/pgsql/…(数据库)+php/jsp/python…(动态语言)
通过路由器的等价路由,配合OSPF等价协议,扩展LVS
在这里插入图片描述

九、数据库的编译

编译mysql数据库
www.mysql.com下载源码,我们需要编译
也可以下载集成好的包
在这里插入图片描述选择源码下载
在这里插入图片描述
下载这个,这个含有c++的boost库,要不然还要额外的下载
在这里插入图片描述
在这里插入图片描述

第三个版本更新表示修复bug
第二个版本更新新的功能
第一个版本变更表示大变更

编译完要占用10个G,所以/空间一定要够用
在这里插入图片描述
里面没有configure(gmake)这个是cmake

在这里插入图片描述在这里插入图片描述
pub/docs/有lamp架构的部署文档
在这里插入图片描述
\vi因为里面很多特殊字符,用vim就不转译了
在这里插入图片描述安装的时候从真机复制就没问题了

官方推荐创建Build目录,在这个目录里面编译
数据目录也可以挂载远程的存储区
sock没有指定默认在/tmp
数据库的字符集很重要
在这里插入图片描述
找不到Boost库
在这里插入图片描述在这里插入图片描述
写相对路径和绝对路径都行,我写的是绝对路径

在这里插入图片描述
缺少c++编译器
在这里插入图片描述
在这里插入图片描述
缺少依赖性,告诉你是redhat系统,应该需要这个软件
在这里插入图片描述在这里插入图片描述
由于cmake有cache文件
在这里插入图片描述
所以
在这里插入图片描述
继续编译,编译成功在这里插入图片描述
有个警告
在这里插入图片描述在这里插入图片描述
完全编译成功
在这里插入图片描述
如果是在真机上面,可以make -j10,开启10cpu一块编译
但是在虚拟机就单线程make编译就行,虚拟机是2G内存,很容易内存溢出,cmake有安装进度,虚拟机可以分配7G内存,一定要给真机留够1G的内存,要不然很容器就卡死了
在这里插入图片描述

cmake安装是有进度的

在这里插入图片描述
在这里插入图片描述

END

系列文章目录

lnmp2

lnmp架构2-lnmp架构的搭建

  • 系列文章目录
  • 一、源码编译
    • configure(检测预编译环境是否可行)
    • make
    • make install
    • 优化关闭Debug
  • 二、 nginx负载均衡
  • 三、nginx的高并发
    • nginx work数量的设定
    • nginx work进程与cpu的静态绑定
    • 压力测试
    • nginx高并发
      • 修改操作系统的限制
  • 四、nginx技术阅读文档
  • 五、nginx权重以及nginx的健康检测
  • 六、nginx ip哈希负载均衡
  • 七、基于cookie算法的nginx负载均衡
  • 八、 lnmp架构
  • 九、数据库的编译
  • 系列文章目录
  • lnmp架构图
  • 一、Mysql的初始化
  • 二、php的源码编译
  • 三、更改php的配置
  • 三、 做nginx和php-fpm的整合
  • 四、 nginx + php-fpm + mysqld的整合
  • 五、 扩充PHP模块之memcache
    • nginx高速缓存


lnmp架构图

在这里插入图片描述

一、Mysql的初始化

将启动脚本考入/etc/init.d/下启动(init方式传统启动脚本)
在这里插入图片描述
装了mariadb以后才会有这个文件

在这里插入图片描述
在这里插入图片描述
这个是Mysql的全局变量参数,在这里面配置的参数是全局生效的,并且持久化
修改mariadb的全局变量参数文件并作为Mysql的全局变量参数文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
包含很多Mysql数据库的配置参数

在这里插入图片描述
Mysqld默认会读取的文件

在这里插入图片描述
初始化参数,一个是安全的,一个是非安全的
非安全是没有给管理员加密码,你要进去以后加密码
安全的是随机生成了密码
在这里插入图片描述
为了安全性,让mysql运行在私有用户中,不是直接在root下运行
在这里插入图片描述
运行完以后生成一个随机密码
在这里插入图片描述
在这里插入图片描述
在启动以后,如果有报错,可以去改路径下去查看
在这里插入图片描述
netstat - antlp查看到3306mysql端口已经打开了
在这里插入图片描述
已经启动了
在这里插入图片描述
生产环境推荐使用的安全安装
在这里插入图片描述
将刚才生成随机密码输入,自己设置新的密码后,是否启动密码校验脚本,我选择的是No
启动密码校验脚本的话,会强制你密码的强度,字符串大小写长度等等
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
刷新数据库的认证数据表

在这里插入图片描述
-p后面跟的是密码,进入到了数据库,warning是推荐你不要-p后面直接接入密码,这样别人history就能查到你数据库的密码,不安全使用交互式输入密码

在这里插入图片描述
在这里插入图片描述

二、php的源码编译

rpm 源码 自动化 容器化安装都行
可以直接去php下载php的源码
我直接在我的服务器下获取
在这里插入图片描述

在这里插入图片描述
yum install bzip2 -y
在这里插入图片描述
–with-config-file是php主配置文件的目录,–enable-fpm激活faster cgi的管理器 --with-fpm-user指定Php运行的时候以什么身份运行,用Nginx当初配Nginx时候的用户,这样可以防止处理权限问题了,不指定,默认是httpd,可不加,你后面可以更改主配置文件来随时更改用户
选项越多,编译的模块依赖性就越多
–with-curl curl命令 iconv 有关图形 --with-mhash加密 --with-zlib 网页压缩 --with-openssl网页加密 --enable-mysqlnd直通数据库,5.4以后默认就会激活Mysql的nd驱动,原生的话要外挂mysql这样会外加模块,占用内存,这个是php自己的模块可以减少内存
mysqlli pdo-mysl都是通过调用mysqlnd来完成
soap是动态模块sockets网页的socket --enable-inline php的优化参数
这些参数连安装rpm包的参数都不够

在这里插入图片描述
系统自带的php动态的包,缺什么直接安装

在这里插入图片描述

在这里插入图片描述
系统优先找rpm包,所以源码编译的时候不要安装rpm包
-libsystemddevel没有

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
这个包系统不带,我从阿里云下载的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
make 以后然后make install
在这里插入图片描述

三、更改php的配置

默认配置目录
在这里插入图片描述
将php变量加入用户变量中

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
将default去掉就是它的默认配置文件

在这里插入图片描述
;代表注释,去掉该注释
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不用变更文件,看看里面的配置
在这里插入图片描述

监听端口
在这里插入图片描述
进程pm最多5个,默认2个,保持一个空闲
在这里插入图片描述
进入php源码里面拷贝所需配置文件
这是主配置文件

在这里插入图片描述
考入源码包里面的启动脚本

在这里插入图片描述

在这里插入图片描述
有两种启动方式

init方式,起名php-fpm

由于编译的使用了–sytemd使用它可以用systemctl来启动
systemd启动:

在这里插入图片描述
没有特别具体的报错
在这里插入图片描述
在这里插入图片描述
错误点READ-only,百度查看
是因为启动了保护,不让在里面写入东西
在这里插入图片描述在这里插入图片描述
每次修改这里的文件都需要reload一下
在这里插入图片描述

注释掉这个
在这里插入图片描述在这里插入图片描述
启动以后,需要去修改配置文件里面的时区

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
rpm包编译是cgi 无后台程序
源码是fastcgi 有后台程序,所以可以平滑加载
在这里插入图片描述
但是后台会消耗大,所以一般会做反向代理和负载均衡
直接访问9000端口访问php意义不大

三、 做nginx和php-fpm的整合

在这里插入图片描述
当php处理以php结尾的请求
通过fastcgi递交给后台的9000端口
在这里插入图片描述
注释掉是因为这个文件包含了
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
路径要写自己的与官方不一样
在这里插入图片描述在这里插入图片描述
nginx开机自启

在这里插入图片描述在这里插入图片描述查看php自带的内部的信息函数,通常不要让外部主机访问这个Info
在这里插入图片描述

在这里插入图片描述

四、 nginx + php-fpm + mysqld的整合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果数据库不在本地还可以指定远程的主机,用户还有密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试
在这里插入图片描述
php代码写的数据库管理工具
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
权限没有问题
在这里插入图片描述
是找不到它的首页
在这里插入图片描述
解决方法
在这里插入图片描述
定义默认如何找首页

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里的用户是数据库的用户,不是操作系统里面的用户
root和刚才进入数据库的密码
在这里插入图片描述
目录中的other进不去

在这里插入图片描述
php和Nginx都是nginx用户针对这个文件是other所以进不去
在这里插入图片描述
在这里插入图片描述

lnmp搭建完成

五、 扩充PHP模块之memcache

在这里插入图片描述
在这里插入图片描述
没有config
在这里插入图片描述
在这里插入图片描述
一定要把php源码路径的安装目录中的Bin放在全局环境中,要不然调用不了phpize
这个指令可以完成预编译环境,其实就是寻找你的动态库
在这里插入图片描述在这里插入图片描述

make make install
该模块安装在这个位置
在这里插入图片描述php的主配置文件,php-fpm是php的管理器
在这里插入图片描述
写一个扩展参数
在这里插入图片描述
平滑加载,重新加载你的主配置文件
在这里插入图片描述
-m是列出php所有模块
在这里插入图片描述
这个是nosql数据库,做数据库的缓冲,完全运行在内存
传统的关系式数据库结构是存储结构化关系数据
在这里插入图片描述
在这里插入图片描述
netstat -antlpe监听端口11211端口
在这里插入图片描述nosql数据库,完全运行在内存,默认启动会占用你本机64M的内存量,也可以修改
将数据写入你内存,读写速度快,特点不能做持久化,一重启数据就没有了,内存没有做持久化
好处快,并且降低数据库的压力
在这里插入图片描述
连接memache

在这里插入图片描述默认会连接你的11211端口,如果你的memache在远程你可以替换掉你的localhost
编写的就是把数据存入你的内存
在这里插入图片描述在这里插入图片描述
数据存入你的内存里面了
在这里插入图片描述
监控页面
在这里插入图片描述

修改认证的admin和密码,不改也行
memache没有集群的概念是分布的,每个结点,对cpu没有要求,对内存有要求,所以不好的电脑多插入几个内存,可以当memache服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
远程的话多加几个ip地址就行了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
多刷几遍这个
在这里插入图片描述
这个页面监控的是在Memache里面的命中率,就是访问example.php页面的时候就是访问的memache
缓存命中率非常高
在这里插入图片描述
需要php什么模块就官网搜索下载然后搭建起来
下载进入安装的目录
phpize(加载php安装路径和库)
./configure源码编译三部曲

nginx高速缓存

现在(前面)搭建好的是传统的缓存策略
访问的php页面
80->9000(php-fpm管理器)->调用php进程处理->memache 该方式比Php加载到mysql模块,访问mysql(sql)磁盘,Memache(nosql)内存,访问内存快
这个架构也可以,先访问Memache,有无命中,没有这个去Mysql取,取到后再存入memache
php进程处理
在这里插入图片描述
弊端:nginx高并发不能体现出来
因为nginx通过fastcgi这个方式递交给php后端这个方式后,生命周期由后端php来处理**(nginx的反向代理,客户端通过nginx代理到后端的php,而不是直接访问php)**
高并发可以继续处理客户端的请求,但是无法返回客户端需要的数据
由于动态,静态直接nginx给,但是动态的页面则需要到后端的数据库以及memache里面来取
在这里插入图片描述通过压力测试
ab是http的压力测试工具
-c10并发10个,-n5000完成5000次请求
在这里插入图片描述
每s处理2000多个请求
在这里插入图片描述

高效缓存策略

不需要动态语言的处理,直接返回(非常快),生命周期变成nginx可以发挥好Nginx高并发的特性
在这里插入图片描述
需要2个模块,memc(专门连接memache,也可以换成redis,也可以是别的存储,filesystem)和scrache(nginx标准模块,专门处理缓存,可以连接后端不同类型的缓存设施)
默认Nginx没有这些模块,需要到官网下载,进行编译,(麻烦,让nginx支持cookie算法,每次都要编译麻烦)
我使用另一款nginx发行版,openresty
在这里插入图片描述
内部就是Nginx,加了lua脚本
适合敏捷的web开发,可以支持web服务器的快速扩展,如动态更新
都是基于lua,更加灵活
这个已经集成了大量的nginx模块,不用安装

在这里插入图片描述
同样是web服务器同样是80会冲突,所以先停掉Nginx

在这里插入图片描述
有时候服务启动不来,就是端口冲突
所以查看ps ax 和 netstat -antlp
查看有无重复启动服务,和端口冲突没

在这里插入图片描述
在这里插入图片描述
它的安装参数和Nginx一样,所以直接用直接nginx安装参数就行,内部就是Nginx
但是其默认安装路径就是/usr/local/openresty

在这里插入图片描述
在这里插入图片描述
make make install

在这里插入图片描述
修改主配置文件
在这里插入图片描述对照之前Nginx的主配置文件修改
我直接把/usr/local/nginx/conf/nginx.conf文件考入覆盖掉/usr/local/openresty/nginx/conf
启动openresty
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
没有问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
定义后端有多少个memache,多个Memache是来负载均衡的,本机127.0.1,如果想要远程输入ip

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述逻辑,用户访问的url,先到memache看有无该key,没有,通过fastcgi_pass递交给后端的php取,取完后返回值为200就成功,再调用srcache_store 将数据上传到memache,下次直接就可以去memache取
现在是Nginx来控制生命周期了

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
压力测试
在这里插入图片描述
速度变成2w多每s处理数据
在这里插入图片描述END

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/239160.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity使用Protobuf

1.下载Protobuf ProtoBuf 2.打开它并且编译 如果有报错下载相应的.net版本即可 这里默认是6.0.100 由于我本机是8.0.100所以我改了这个文件 3.编译后的文件复制到Unity Assets/Plugins下 4.写个测试的proto文件 5.然后使用protoc生成 这里实现了一个简单的bat批量生成 Protos C…

从0开始学Git指令(3)

从0开始学Git指令 因为网上的git文章优劣难评,大部分没有实操展示,所以打算自己从头整理一份完整的git实战教程,希望对大家能够起到帮助! 远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不…

MySQL体系结构

MySQL体系结构 MySQL采用的是客户/服务器体系结构,实际是有两个程序,一个是MySQL服务器程序,指的是mysqld程序,运行在存放数据库的机器上,负责在网络上监听并处理来自客户的服务请求,根据这些请求去访问数据…

运筹说 第84期 | 网络计划-网络图的基本概念

自华罗庚教授将网络计划技术引入我国,网络计划已取得巨大发展。本期开始,小编将从网络图基本概念、时间参数计算、网络计划优化和图解评审法等方面对网络计划进行系统的介绍。 01前言 20世纪50年代以来,产生了许多计划管理的新方法&#xf…

如何使用Docker一键部署WBO白板并实现固定公网地址远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

详解ISIS动态路由协议

华子目录 前言应用场景历史起源ISIS路由计算过程ISIS的地址结构ISIS路由器分类ISIS邻居关系的建立P2PMA ISIS中的DIS与OSPF中DR的对比链路状态信息的交互ISIS的最短路径优先算法(SPF)ISIS区域划分ISIS区域间路由访问原理ISIS与OSPF的不同ISIS与OSPF的术语…

【Python机器学习系列】建立随机森林模型预测心脏疾病(完整实现过程)

这是Python机器学习系列原创文章,我的第200篇原创文章。 一、引言 对于表格数据,一套完整的机器学习建模流程如下: 针对不同的数据集,有些步骤不适用即不需要做,其中橘红色框为必要步骤,由于数据质量较高&…

【降龙算法】基于QT插件机制实现一个机器视觉算法小框架

机器视觉行业有各种各样的拖拉拽框架,也叫做低代码平台,例如国内海康的VisionMaster: 一个机器视觉框架需要包含各种算法模块,日志窗口,图像显示窗口等等,【降龙算法】就是做了一个入门级的机器视觉算法框…

python贪吃蛇游戏

为了实现这个游戏,需要用到Python的pygame模块,它是一个专门用于开发游戏的模块,提供了很多方便的功能,比如窗口、图形、音效、事件处理等。 用pygame来创建一个窗口,设置游戏的背景色,画出蛇和食物&#…

芯片有关新闻-China chip imports suffer steepest drop on record after US curbs

Jan 16, 2024 9:01 am 由于长期的经济不确定性和美国的出口管制,中国的芯片进口去年遭遇了有记录以来的最大降幅。 全球最大半导体市场的集成电路进口额下降了15.4%,至3494亿美元,这是自2004年中国海关数据公布以来的最大跌幅,并…

目标服务器执行脚本

deploy.sh 为了任何时候都能执行,移动到环境变量 Publish Over SSH deploy.sh 178.119.30.133:80 repo ${JOB_NAME} $tag $port 构建

深入类加载机制及底层

深入类加载机制 初识类加载过程 使用某个类时,如果该类的class文件没有加载到内存时,则系统会通过以下三个步骤来对该类进行初始化 1.类的加载(Load) → 2.类的连接(Link) → 3.类的初始化(In…

【java八股文】之JVM基础篇

【java八股文】之JVM基础篇-CSDN博客 【java八股文】之MYSQL基础篇-CSDN博客 【java八股文】之Redis基础篇-CSDN博客 【java八股文】之Spring系列篇-CSDN博客 【java八股文】之分布式系列篇-CSDN博客 【java八股文】之多线程篇-CSDN博客 【java八股文】之JVM基础篇-CSDN博…

Bug:Goland左侧丢失项目结构(Goland常用快捷键)

Goland快捷键&小tips 1 常用快捷键 # 格式化代码 optioncommandL# 在项目中搜索文件中的内容 commandshiftF# 搜索.go文件 shiftshift(按两次shift)# 修改方法、变量(同时替换引用处的名称) fnshiftF6# 将选中代码抽取为方法…

Vue v-model 详解

✨ 专栏介绍 在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使…

【好书推荐-第四期】《Go专家编程(第2版)》华为资深技术专家力作,第1版评分9.4,适合Go程序员面试

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文…

鸿蒙开发之手势Pan

Entry Component struct OfficialPanGesturePage {State message: string 默认只左右移动State offsetX: number 0State offsetY: number 0State positionX: number 0State positionY: number 0//默认pan的参数,1根手指,左右方向private panOption:…

conda 安装, 配置以及使用

文章目录 1. 安装2. 配置2.1 如何配置2.2 快速设置取消自动进入 base 环境conda 添加清华源pip 添加清华源pip 更新为最新版本 3. 使用 conda 是 python 的环境管理工具包,非常好用,特别是 miniconda 相对于 conda 不需要安装其他的工具,而且…

使用WAF防御网络上的隐蔽威胁之SQL注入攻击

SQL注入攻击是一种普遍存在且危害巨大的网络安全威胁,它允许攻击者通过执行恶意的SQL语句来操纵或破坏数据库。 这种攻击不仅能够读取敏感数据,还可能用于添加、修改或删除数据库中的记录。因此,了解SQL注入攻击的机制及其防御策略对于保护网…

C#,卡特兰数(Catalan number,明安图数)的算法源代码

一、概要 卡特兰数(英语:Catalan number),又称卡塔兰数、明安图数,是组合数学中一种常出现于各种计数问题中的数列。以比利时的数学家欧仁查理卡特兰的名字来命名。1730年左右被蒙古族数学家明安图使用于对三角函数幂…