Apache 深入优化

news2024/10/1 21:38:12

Apache 深入优化

🏆荣誉认证:51CTO博客专家博主、TOP红人、明日之星;阿里云开发者社区专家博主、技术博主、星级博主。

💻微信公众号:微笑的段嘉许

📌本文由微笑的段嘉许原创!

🎉欢迎关注🔎点赞👍收藏⭐留言📝

📆CSDN首发时间:🌴2023年2月日27🌴

✉️坚持和努力一定能换来诗与远方!

🙏作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!

不要偷走我小火车哦~ ~ ~


📌导航小助手📌

文章目录

  • Apache 深入优化
    • @[toc]
  • 详情介绍
  • 📝实验配置与实验
  • 一、在Centos01安装Apache服务,配置Apache服务设置网站主页
    • 1、在Centos01上安装apache服务
    • 2、配置网站
    • 3、配置apache服务设置网站主页
    • 二、在Centos02配置DNS服务器使用www.duanjiaxu.com
    • 1、在Centos02上安装DNS服务
    • 2、安装DNS服务
    • 3、修改DNS配置文件
    • 4、验证
  • 三、在Centos01配置Apache优化prefork和worker工作模式压力测试验证
    • 1、配置apache优化prefork工作模式
    • 2、管理Apache的worker工作模式

本文介绍

Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。本篇博客主要讲解Apache的网页优化与安全,Apache的理论讲解与具体安装可以参考源代码配置安装Apache

详情介绍

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

​ Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。

​ Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

​ Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。


📝实验配置与实验

拓扑图

image-20230207153524670

推荐步骤

  • 在 Centos01 安装 Apache 服务,配置 Apache 服务设置网站主页
  • 在 Centos02 配置 DNS 服务器使用 www.duanjiaxu.com
  • 在 Centos01 配置 Apache 优化 prefork 和 worker 工作模式配置压力测试验证

实验步骤

一、在Centos01安装Apache服务,配置Apache服务设置网站主页

1、在Centos01上安装apache服务

1)从系统光盘切换到云计算光盘

image-20230207153720463

2)挂载云计算光盘

[root@centos01 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载

3)解压httpd程序到/usr/src

[root@centos01 ~]# tar zxf /mnt/httpd-2.2.17.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/httpd-2.2.17/

4)编译安装

[root@centos01 httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
[root@centos01 httpd-2.2.17]# make && make install

5)查看是否安装成功

[root@centos01 httpd-2.2.17]# ls /usr/local/
bin  etc  games  httpd  include  lib  lib64  libexec  sbin  share  src

6)生成服务控制文件

[root@centos01 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd		//生成服务控制文件
[root@centos01 ~]# chmod +x /etc/init.d/httpd 		//添加执行权限
[root@centos01 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/		//优化命令

2、配置网站

1)设置apache服务开机自启

root@centos01 ~]# vim /etc/init.d/httpd 		//进入apache服务控制文件
----
2 #chkconfig:35 80 21		//运行级 3,5 启动,启动优先权为80,停止优先权为21。
3 #description:Apache Server		//描述
---
[root@centos01 ~]# chkconfig --add httpd		//添加httpd服务
[root@centos01 ~]# chkconfig --level 35 httpd on		//设置开机自启
[root@centos01 ~]# httpd -t		//检查配置文件修改是否有误
httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fe25:91b5 for ServerName
Syntax OK

3、配置apache服务设置网站主页

1)创建网站根目录

[root@centos01 ~]# mkdir /www			//创建网站根目录
[root@centos01 ~]# echo "www.duanjiaxu.com" > /www/index.html		//设置网站主页

2)修改apache主配置文件

[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf			//进入主配置文件
 98 ServerName www.duanjiaxu.com:80	//域名和端口号
105 DocumentRoot "/www"			//网站根目录
132 <Directory "/www">			//授权网站根目录
133     Options Indexes FollowSymLinks134     AllowOverride None135     Order allow,deny136     Allow from all
137 </Directory>
143 <IfModule dir_module>
144     DirectoryIndex index.html
145 </IfModule>

3)重新启动apache服务

[root@centos01 ~]# httpd -t			//检查配置文件是否修改有误
Syntax OK
[root@centos01 ~]# /etc/init.d/httpd restart				//重新启动apache
httpd not running, trying to start
[root@centos01 ~]# netstat -anptu | grep httpd			//监听网卡
tcp6       0      0 :::80                   :::*                    LISTEN      92467/httpd 

4)配置IP地址

TYPE=Ethernet
BOOTPROTO=static
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
DNS1=192.168.100.20
[root@centos01 ~]# systemctl restart network			//重新启动网卡
[root@centos01 ~]# cat /etc/resolv.conf 				//查看DNS是否生效
# Generated by NetworkManager
nameserver 192.168.100.20

二、在Centos02配置DNS服务器使用www.duanjiaxu.com

1、在Centos02上安装DNS服务

1)配置IP地址和DNS

[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
BOOTPROTO=static
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.100.20		//IP地址
NETMASK=255.255.255.0		//子网掩码
DNS1=192.168.100.20		//DNS
----
[root@centos02 ~]# systemctl restart network			//重新启动网卡服务
[root@centos02 ~]# cat /etc/resolv.conf 			//查看DNS是否配置成功
# Generated by NetworkManager
nameserver 192.168.100.20

image-20230207154307639

2、安装DNS服务

1)挂载系统光盘

[root@centos02 ~]# mount /dev/cdrom /mnt/		//挂载系统光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos02 ~]# ls /mnt/			//查看系统光盘是否挂载成功
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

2)安装DNS程序包

[root@centos02 ~]# rpm -ivh /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm 
警告:/mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:bind-32:9.9.4-50.el7             ################################# [100%]
[root@centos02 ~]# rpm -ivh /mnt/Packages/bind-chroot-9.9.4-50.el7.x86_64.rpm 
警告:/mnt/Packages/bind-chroot-9.9.4-50.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:bind-chroot-32:9.9.4-50.el7      ################################# [100%]

3、修改DNS配置文件

1)修改DNS主配置文件

[root@centos02 ~]# echo "" > /etc/named.conf 		//清空主配置文件
[root@centos02 ~]# vim /etc/named.conf			//进入到主配置文件
----
options {
        listen-on port 53 { any; };
};
zone "duanjiaxu.com" IN {
        type master;
        file "var/named/duanjiaxu.com.zone";
};
[root@centos02 ~]# named-checkconf /etc/named.conf			//检查主配置文件是否修改正确

image-20230207154500883

2)修改DNS区域配置文件

[root@centos02 ~]# vim /var/named/duanjiaxu.com.zone		//进入区域配置文件
----
$TTL            86400
@               SOA             duanjiaxu.com.  root.duanjiaxu.com. (
                2023020210
                1H
                15M
                1W
                1D
)
@               NS              centos02.duanjiaxu.com.
centos02        A               192.168.100.20
www             A               192.168.100.10

[root@centos02 ~]# named-checkzone duanjiaxu.com /var/named/duanjiaxu.com.zone			//检查主配置文件是否修改成功
zone duanjiaxu.com/IN: loaded serial 2023020210
OK
----
[root@centos02 ~]# systemctl start named			//启动DNS服务
[root@centos02 ~]# systemctl enable named		//设置开机自启

image-20230207154535944

4、验证

1)查看DNS服务是否已经启动

[root@centos02 ~]# netstat -anptu | grep named
tcp        0      0 192.168.100.20:53       0.0.0.0:*               LISTEN      42964/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      42964/named         
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      42964/named         
tcp6       0      0 ::1:953                 :::*                    LISTEN      42964/named         
udp        0      0 192.168.122.1:53        0.0.0.0:*                           42964/named         
udp        0      0 192.168.100.20:53       0.0.0.0:*                           42964/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                           42964/named 

2)查看是否能够成功解析域名

[root@centos02 ~]# nslookup www.duanjiaxu.com
Server:		192.168.100.20
Address:	192.168.100.20#53

Name:	www.duanjiaxu.com
Address: 192.168.100.10

3)使用win10虚拟机验证

image-20230207154655805

三、在Centos01配置Apache优化prefork和worker工作模式压力测试验证

1、配置apache优化prefork工作模式

1)查看apache默认的工作模式

[root@centos01 ~]# httpd -V
Server version: Apache/2.2.17 (Unix)
Server built:   Feb  7 2023 18:20:02
Server's Module Magic Number: 20051115:25
Server loaded:  APR 1.4.2, APR-Util 1.3.10
Compiled using: APR 1.4.2, APR-Util 1.3.10
Architecture:   64-bit
Server MPM:     Prefork			//默认Prefork工作模式
  threaded:     no
    forked:     yes (variable process count)

2)优化prefork工作模式

[root@centos01 ~]# vim /usr/local/httpd/conf/extra/httpd-mpm.conf
注释掉52~58行
52 #    StartServers          2
 53 #    MaxClients          150
 54 #    MinSpareThreads      25
 55 #    MaxSpareThreads      75 
 56 #    ThreadsPerChild      25
 57 #    MaxRequestsPerChild   0
 58 #</IfModule>
---
36 <IfModule mpm_prefork_module>
 37     StartServers          5			//启动进程数
 38     Serverlimit           200			//最大进程数
 39     MinSpareServers       5			//最小空闲进程,空闲小于当前值自己创建
 40     MaxSpareServers      10			//空闲进程大于当前值自己kill掉

 41     MaxClients          150			//最大并发请求数必须前150处理完处理第151
 42     MaxRequestsPerChild   0			//每个子进程最大处理请求数0不限制,可以防止内存外溢 和负载下降可以减少子进程数 
 43 </IfModule>

3)查看prefork的进程信息

[root@centos01 ~]# ps -ef | grep http 
root 935 1 0 03:24 ? 00:00:00 /usr/local/httpd/bin/httpd -k start 
daemon 957 935 0 03:24 ? 00:00:00 /usr/local/httpd/bin/httpd -k start 
daemon 958 935 0 03:24 ? 00:00:00 /usr/local/httpd/bin/httpd -k start 
daemon 959 935 0 03:24 ? 00:00:00 /usr/local/httpd/bin/httpd -k start 
daemon 960 935 0 03:24 ? 00:00:00 /usr/local/httpd/bin/httpd -k start 
daemon 960 935 0 03:24 ? 00:00:00 /usr/local/httpd/bin/httpd -k start

4)进行压力测试

[root@centos01 ~]# ab -n14000 -c900 www.duanjiaxu.com/index.html

5)再查看Prefork的进程信息(进程数增加)

[root@centos01 ~]# ps -ef | grep httpd
root      92467      1  0 19:22 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    92651  92467  0 19:32 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    92652  92467  0 19:32 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    92653  92467  0 19:32 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    92654  92467  0 19:32 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    92655  92467  0 19:32 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    94815  92467  0 22:08 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95029  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95030  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95031  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95032  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95033  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95034  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95036  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95037  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95038  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95040  92467  0 22:24 ?        00:00:00 /usr/local/httpd/bin/httpd -k restart
daemon    95041  92467  0 22:24 ?        00:00:00 

2、管理Apache的worker工作模式

1)修改apache的工作模式worker

[root@centos01 ~]# rm -rf /usr/src/httpd-2.2.17/			//删除apache根目录下的所有文件
[root@centos01 ~]# tar zxf /mnt/httpd-2.2.17.tar.gz -C /usr/src/			//解压apache源代码程序
[root@centos01 ~]# cd /usr/src/httpd-2.2.17/				//切换到apache根目录
[root@centos01 ~]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --with-mpm=worker			//安装worker模块
[root@centos01 httpd-2.2.17]# make && make install		//编译安装
[root@centos01 ~]# httpd -l 			//检查是否安装成功

image-20230207155319983

2)查看修改后的工作模式

[root@centos01 ~]# httpd -V

image-20230207155347700

3)修改Apache主配置文件加载worker配置

[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf
---
339 Include conf/extra/httpd-mpm.conf

4)修改Apache工作模式配置文件

[root@centos01 ~]# vim /usr/local/httpd/conf/extra/httpd-mpm.conf
---
注释掉36~43行
36 #<IfModule mpm_prefork_module>
 37 #    StartServers          5
 38 #    Serverlimit                  200
 39 #    MinSpareServers       5
 40 #    MaxSpareServers      10
 41 #    MaxClients          150
 42 #    MaxRequestsPerChild   0
 43 #</IfModule>
---
52 <IfModule mpm_worker_module>
 53     StartServers          2			//启动进程数
 54     ServerLimit         200			//最大进程数
 56     MaxClients          1200			//最大连接并大请求
 57     MinSpareThreads      25			//最小空闲线程
 58     MaxSpareThreads      75			//最大空闲线程
 59     ThreadsPerChild      25			//每个进程默认处理线程数
 60     MaxRequestsPerChild   75			//每个子进程最大处理请求数0不限制 
 61 </IfModule>

image-20230207155451323

5)重新启动apache服务

[root@centos01 ~]# httpd -t				//检查配置文件修改是否有误
Syntax OK
[root@centos01 ~]# systemctl restart httpd			//重新启动apache服务
[root@centos01 ~]# netstat -anptu | grep httpd			//监听网卡
tcp6       0      0 :::80                   :::*                    LISTEN      73816/httpd    

6)查看线程数

[root@centos01 ~]# pstree -a
systemd─┬─ModemManager───2*[{ModemManager}] 
├─NetworkManager───2*[{NetworkManager}] 
├─atd 
├─auditd─┬─audispd─┬─sedispatch 
│ │ └─{audispd} 
│ └─{auditd} 
├─avahi-daemon───avahi-daemon 
├─chronyd 
├─dnsmasq───dnsmasq 
├─gssproxy───5*[{gssproxy}] 
├─httpd─┬─httpd 
│ └─2*[httpd───26*[{httpd}]] 

7)压力测试

[root@centos01 ~]# ab -n14000 -c900 www.duanjiaxu.com/index.html
---
  ├─httpd -k start
  │   ├─httpd -k start
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]
  │   ├─httpd -k start
  │   │   └─26*[{httpd}]

🙏作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

史上最全的大数据开发八股文【自己的吐血总结】

自我介绍 我本硕都是双非计算机专业&#xff0c;从研一下开始学习大数据开发的相关知识&#xff0c;从找实习到秋招&#xff0c;我投递过100公司&#xff0c;拿到过10的offer&#xff0c;包括滴滴、字节、蚂蚁、携程、蔚来、去哪儿等大厂&#xff08;岗位都是大数据开发&#…

阶段八:服务框架高级(第四章:Redis多级缓存案例)

阶段八&#xff1a;服务框架高级&#xff08;第四章&#xff1a;Redis多级缓存案例&#xff09;Day-Redis多级缓存案例0.学习目标1.何为多级缓存2.JVM进程缓存2.1.导入案例2.2.初识Caffeine 【重要】2.3.实现JVM进程缓存 【重要】2.3.1.需求2.3.2.实现3.Lua语法入门 【重要】3.…

idea 配置快捷生成类和方法注释,验证通过

1 Live Templates里新建模板组 . File-->Settings-->Editor--> Live Templates 属于组名,这里我选择MyComment 2. 新建类注释模板 2.1 选择上一步新建的模板组 2.2 编辑模板 (1)Abbreviation里输入想要的快捷键&#xff0c;这里我选择cl代表class; (2)Templates tex…

大数据之Phoenix基本介绍

文章目录前言一、Phoenix简介二、Phoenix入门&#xff08;一&#xff09;创建表语法&#xff08;二&#xff09;查看表信息&#xff08;三&#xff09;删除表&#xff08;四&#xff09;大小写问题前言 #博学谷IT学习技术支持# 上篇文章介绍了Phoenix环境搭建&#xff0c;点击…

IntelliJ插件开发教程之开发思路

JetBrains公司系列产品IDEA、WebStrom、PyCharm、CLion、GoLand等都是基于IntelliJ Platform开发而成&#xff0c;掌握IntelliJ插件开发技能便能拥有提升开发效率的终极武器。本教程Dmeo源码请关注微信公众号“开发效率”进行获取。如果您是JetBrains产品的用户&#xff0c;那您…

《C Primer Plus》第13章复习题与编程练习

《C Primer Plus》第13章复习题与编程练习复习题1. 下面的程序有什么问题&#xff1f;2. 下面的程序完成什么任务&#xff1f;&#xff08;假设在命令行环境中运行&#xff09;3. 假设程序中有下列语句&#xff1a;4. 编写一个程序&#xff0c;不接受任何命令行参数或接受一个命…

在Linux终端管理你的密码!

大家好&#xff0c;我是良许。 现在是互联网时代&#xff0c;我们每天都要跟各种 APP 、网站打交道&#xff0c;而这些东西基本上都需要注册才可以使用。 但是账号一多&#xff0c;我们自己都经常记不清对应的密码了。有些小伙伴就一把梭&#xff0c;所有的账号密码都是一样。…

计算机学生如何找到第一份实习?

作为一名计算机专业的学生&#xff0c;找到第一份实习是非常重要的一步&#xff0c;它不仅可以帮助你更好地了解行业&#xff0c;增加实践经验&#xff0c;还可以为即将到来的校招提供有力支持。计算机专业的校招&#xff0c;每年都在变得越来越卷。5年前&#xff0c;可能你只要…

android 加载隐私协议策略

背景&#xff1a;app各平台对隐私政策的监管越来越严格&#xff0c;app上线后&#xff0c;存在各种隐私协议的多次更新&#xff0c;每次更新都需要走发版流程&#xff0c;耗时耗力&#xff0c;为了解决这一问题&#xff0c;后端管理系统通过富文本 &#xff08;模板&#xff09…

数据结构与算法——2.算法概述

这篇文章&#xff0c;我们来讲一下算法的概述&#xff0c;大致理解一下什么是算法。 目录 1.定义 2.生活实例 3.算法目标 4.实际案例 4.1案例一 4.2案例二 5.小结 1.定义 官方解释&#xff1a; 算法是指解题方案的准确而完整的描述&#xff0c;是一系列解决问题的清…

前端面试题 —— 计算机网络(一)

目录 一、常见的HTTP请求头和响应头 二、HTTP状态码304是多好还是少好&#xff1f; 三、OPTIONS请求方法及使用场景 四、对keep-alive的理解 五、HTTP协议的优点和缺点 六、URL有哪些组成部分&#xff1f; 七、HTTPS通信&#xff08;握手&#xff09;过程 八、HTTPS的特…

浅析Windows Access Token以及利用方法

1 前置概念 关于Windows Access Token Windows Access Token(访问令牌)&#xff0c;它是一个描述进程或者线程安全上下文的一个对象。每个用户登录计算机都会产生一个AcessToken以用于创建进程和线程&#xff0c;用户注销以后会将主令牌切换成模拟令牌&#xff0c;也就是授权…

《网络安全入门到精通》 - 2.1 - Windows基础 - DOS命令Windows防火墙Windows共享文件

「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「订阅专栏」&#xff1a;此文章已录入专栏《网络安全入门到精通》 Windows基础一、DOS命令1、目录文件操作dir 列出目录文件cd 切换目录md 创建目录rd 删除目录move 移动文件或目…

零入门kubernetes网络实战-18->命令行式操作tun设备介绍

《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 1、如何操作tun设备呢&#xff1f; 主要提供两种形式&#xff1a; 命令行操作tun设备 openvpn(不介绍)tunctl(不介绍&#xff0c;不同系统间可能存在兼容…

第五章.最邻近规则分类(KNN)

第五章.最邻近规则分类&#xff08;KNN&#xff09; 5.1 最邻近规则分类&#xff08;KNN&#xff09; 1.KNN的计算方式 1).为了判断未知实例的类别&#xff0c;以所有已知类别的实例作为参照选择参数K。 2).计算未知实例与所有已知实例的距离 (利用欧氏距离公式) 其他距离衡量…

Nginx 原理

nginx是一个反向代理服务器&#xff0c;那么他是如何做到和服务器的连接呢&#xff0c;怎么进行负载均衡呢&#xff1f;如何支持高并发&#xff1f;&#xff1f;&#xff1f; Nginx的特点 &#xff08;1&#xff09;跨平台&#xff1a;Nginx 可以在大多数 Unix like OS编译运行…

mysql源码编译安装、mysql的主从复制、IOSQL线程优化

文章目录前言一、mysql源码编译安装二、主从复制1.主从复制的作用、原理2.实验过程三、gtid模式四、半同步模式&#xff1a;优化IO线程五、并行复制/多线程复制&#xff1a;优化SQL线程六、延迟复制前言 mysql是现在普遍使用的数据库&#xff0c;但是如果宕机了必然会造成数据…

用PS设置宽480像素*高640像素,分辨率300dpi,24位真彩色 大小限制20K到40K之间的照片

最近需要设置一组照片&#xff0c;是学生录取大学的电子照片&#xff0c;具体要求如下&#xff1a;宽480像素*高640像素&#xff0c;分辨率300dpi&#xff0c;24位真彩色 大小限制20K到40K之间&#xff1b;照片底色为白色或者蓝色&#xff0c;其他颜色均不符合条件。首先&#…

python+pytest接口自动化(3)-接口测试一般流程及方法

首先我们要明确&#xff0c;通常所接口测试其实就属于功能测试&#xff0c;主要校验接口是否实现预定的功能&#xff0c;虽然有些情况下可能还需要对接口进行性能测试、安全性测试。在学习接口自动化测试之前&#xff0c;我们先来了解手工接口测试怎样进行。URL组成为了更好的理…

数学建模介绍

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a; &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我最大的激励…