apache 模式、优化、功能 与 nginx优化、应用

一、I/O模型——Input/Output模型


1.同步/异步


A程序需要调用B程序的某一个功能,A发送一个请求需要B完成一个任务

同步:B不会主动去通知A是否完成需要A自己去问
异步:B会主动通知A是否完成

2.阻塞/非阻塞


A发送一个请求需要B完成一个任务

阻塞:B在完成A的任务前不能执行其他任务
非阻塞:B在完成A的任务前可以同步进行其他任务


3.同步异步/阻塞非阻塞组合


同步阻塞:烧水壶如果水没烧好前,我的人不能离开
同步非阻塞:烧水壶如果水没烧好前,我可以离开一会儿,需要时不时的回来看水有没有烧开
异步阻塞:烧水壶可以提醒我水烧开了,但是我还是要时不时回来看一下水有没有烧开
异步非阻塞:烧水壶可以提醒我水烧开了,我可以在烧水的同时,可以去做其他的事情

二、Nginx用法

nginx -s reopen #日志分割nginx -s reload #重新加载Nginx配置文件nginx -s stop #强制停止Nginx服务nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)nginx -t #检测配置文件是否有语法错误,然后退出nginx -?,-h #打开帮助信息nginx -v #显示版本信息并退出nginx -V #显示版本和配置选项信息,然后退出nginx -T #检测配置文件是否有语法错误,转储并退出nginx -q #在检测配置文件期间屏蔽非错误信息nginx -p prefix #设置前缀路径(默认是:/usr/share/nginx/)nginx -c filename #设置配置文件(默认是:/etc/nginx/nginx.conf)nginx -g directives #设置配置文件外的全局指令

nginx -v——查看版本信息
nginx -V——查看编译信息
nginx -s——发送信号(kill -l查看信号)
nginx -t——检查语法

nginx -g——使用选项后的配置,不使用配置文件里的内容
ps aux|grep nginx
systemctl start/stop/status nginx
nginx -g "user cxk"
nginx -g ’daemon off;‘ 前台运行命令

三、Apache

1.Apache的三种工作模式

Prefork——多进程
Worker——多线程
Event——基于异步I/O模型

2.apache 功能

提供http协议服务

多个虚拟主机:IP、Port、FQDN   用一台 物理服务器搭建多个网站    百度  jd  淘宝

CGI:Common Gateway Interface,通用网关接口,支持动态程序

反向代理

负载均衡

路径别名

丰富的用户认证机制:basic,digest

支持第三方模块

3.apache优化

监听地址 、隐藏版本号、定义别名、虚拟主机

四、Nginx介绍

(一)I/O模型

Select 会轮询遍历所有的事件集合,其次遍历的事件个数有限制;

Epoll 只会遍历已准备好的事件集合,事件个数无限制。

Linux系统默认的模型是Epoll

(二)nginx优化

1.隐藏版本号或修改版本

2.修改启动进程数

worker_processes auto;
#如果设置为auto  就是你真实的cpu数量

启动进程数按照服务器的cpu个数启动

3.cpu与work 进程 绑定

worker_cpu_affinity 00000001 00000010 00000100 00001000;第0号---第3号CPU   
#序号绑定cpu    亲缘性

4.调试work进程打开文件个数

worker_rlimit_nofile 65536; 
#所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接等),而不仅仅是与客户端的连接,另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制.最好与ulimit -n 或者limits.conf的值保持一致

5.http设置

①server块构建虚拟主机 实际只有1台, 好像有多台主机
②alias 别名
③location去匹配

#匹配优先级从高到低   =, ^~, ~/~*, 不带符号

④access 模块 四层控制
⑤自定义 错误页面
⑥日志位置存放   日志分割
⑦检测文件是否存在
⑧长连接
⑨作为下载服务器配置

(三)nginx应用程序方面的优化

①nginx应用程序配置文件优化

②nginx应用程序的配置文件安全优化:

③nginx的日志分割

编写日志分割脚本+crontab 周期性做日志管理

五、nginx的应用场景


1、可以做web服务器,nginx是一个htp服务,可以独立地提供http服务,可以做静态服务器;
2、虚拟主机。可以实现一台服务器,虚拟多个站点,例如基于ip、不同端口、或者不同域名的站点
3、反向代理服务器,负载均衡。当网站的访问量达到一定的程度时,单台服务器就不能满足用户的请求,此时需要多台服务器集群,此时可以使用nginx做反向代理,并且多台服务器可以平均分担负载,不会让某台服务器负载高或者闲置。(也可以使用ip hash技术 进行负载均衡分配)
4、nginx中还可以配置安全管理,比如支持nginx搭建API接口网关,对每一个接口服务进行拦截
5、nginx还能做缓存服务器;

六、nginx为什么能支持高并发


最核心的原因:nginx是异步,非阻塞,使用epoll,和并且可以进行简单的配置细节优化。
假设一个server采用一个进程(或者线程)负责一个请求的方式,那么进程的数量就是并发的数量,那么会有很多进程在等待中,等待网络的传输,非常耗时耗资源。
但是nginx是使用了异步非阻塞的程序运行方式,解决了等待浪费时间的痛点,有一个专门进行调度进程,每次有一个request请求,就可以分配给worker进程去进行处理,web server 的工作性质决定了每个request 的大部份生命都是在网络传输中,实际上花费在 server 机器上的时间片不多。这是几个进程就解决高并发的秘密所在。


 

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

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

相关文章

勇宝趣学JavaScript ES6第三章(字符串的拓展)

已经写到系列教程的第三章了,本章节我们一起来探讨字符串的那些事。在我们的日常工作中,经常会用到模板字符串,还有一些字符串的方法,我们今天就来好好的品一品。 谢谢大家的点赞和收藏。 文章目录 一、字符串的方法1.1 charAt和c…

消息队列-RabbitMQ:延迟队列、rabbitmq 插件方式实现延迟队列、整合SpringBoot

十六、延迟队列 1、延迟队列概念 延时队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列。 延…

软考45-上午题-【数据库】-数据操纵语言DML

一、INSERT插入语句 向SQL的基本表中插入数据有两种方式: ①直接插入元组值 ②插入一个查询的结果值 1-1、直接插入元组值 【注意】: 列名序列是可选的,若是所有列都要插入数值,则可以不写列名序列。 示例: 1-2、插…

暑期宅家?计算机专业必看的8部电影!一定要安利给你们!

代码编程看上去枯燥乏味,但也是艺术的,感性的,计算机编程的许多概念被应用于电影中,其中有些非常之酷炫,它们甚至能帮助开发人员理解一些编程概念。 所以今天学姐来给大家推荐几部心中top级的编程人必看电影&#xff0…

matlab倒立摆小车LQR控制动画

1、内容简介 略 54-可以交流、咨询、答疑 2、内容说明 略 摆杆长度为 L,质量为 m 的单级倒立摆(摆杆的质心在杆的中心处),小车的质量为 M。在水平方向施加控制力 u,相对参考系产生位移为 y。为了简化问题并且保其实质不变,忽…

数据结构:链表的冒泡排序

法一:修改指针指向 //法二 void maopao_link(link_p H){if(HNULL){printf("头节点为空\n");return;}if(link_empty(H)){printf("链表为空\n");return;}link_p tailNULL;while(H->next->next!tail){link_p pH;link_p qH->next;while(q…

抖音视频提取软件使用功能|抖音视频下载工具

我们的抖音视频提取软件是一款功能强大、易于操作的工具,旨在解决用户在获取抖音视频时需要逐个复制链接、下载的繁琐问题。我们的软件支持通过关键词搜索和分享链接两种方式获取抖音视频,方便用户快速找到自己感兴趣的内容。 主要功能模块:…

进程线程信号通道

4> 使用消息队列完成两个进程间相互通信 usr1代码&#xff1a; #include <myhead.h> //定义一个消息类型 struct msgbuf {long mtype;//消息类型char mtext[1024];//消息正文 }; #define MSGSIZE sizeof(struct msgbuf)-sizeof(long) int main(int argc, const char …

物奇ENC算法开关接口修改方法

物奇ENC算法开关接口修改 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)&#xff1f;可加我微信hezkz17, 本群提供音频技术答疑服务&#xff0c;群赠送语音信号处理降噪算法&#xff0c;蓝牙耳机音频&#xff0c;DSP音频项目核心开发资料, 1 配置工具事件接口 2 代…

K线实战分析系列之十一:行情力量不足——平头形态

K线实战分析系列之十一&#xff1a;行情力量不足——平头形态 一、平头形态二、不同形态与平头形态的叠加三、总结平头形态 一、平头形态 前一根K线具有较长的实体&#xff0c;后一根K线的实体比较小&#xff0c;无论是多头还是空头的力量到第二根K线都被瓦解了多头上攻&#…

初识51单片机

##江科大51单片机学习 什么是单片机&#xff1f;&#xff1f;&#xff1f; 单片机&#xff0c;英文名&#xff0c;Micro Controller Unit&#xff0c;简称MCU&#xff08;tips&#xff1a;有人会简称它为CPU&#xff0c;但不是如此&#xff0c;CPU其实被集成在MCU中&#xff…

【牛客】【刷题节】美团2024届秋招笔试第二场编程真题

1.小美的加法【简单题】 题意理解&#xff1a; 给定一个数组做连加操作&#xff0c;其中只能将一个加号变成乘号 将哪个加号变成乘号&#xff0c;使式子最后的结果最大 解题思路&#xff1a; 只有将两个相邻且乘机最大的数之间变成乘号后&#xff0c;才能保证整个式子结果最大 …

微服务知识02

1、九大高并发解决方案 2、系统架构图​​​​​​​ 3、分布式事务 本地事务、分布式事务 操作不同服务器的数据库&#xff08;垂直分库&#xff09; 4、分布式事务解决方案&#xff08;没有seata之前&#xff09; &#xff08;1&#xff09;XA协议&#xff08;强一致性&a…

【Java程序员面试专栏 算法思维】三 高频面试算法题:搜索算法

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊搜索算法,以岛屿问题为切入点练习,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间岛屿数量网格搜索分别向上下左右四个方向探索,遇到海…

1分钟带你学会Python的pass关键字和range函数

1.pass 关键字 pass关键字在 python 中没有任何实际意义&#xff0c;主要是用来完成占位的操作&#xff0c;保证语句的完整性 age int(input(请输入您的年龄&#xff1a;))if age > 18: pass # pass 在此处没有任何意义&#xff0c;只是占位 print(欢迎光临。。。…

Pillow:一个超实用的Python图像处理库

目录 Pillow 引言 Pillow库简介 Pillow的主要功能 1. 图像打开、保存和格式转换 2. 图像增强 3. 几何变换 4. 色彩空间转换 5. 图像分析和处理 Pillow的应用场景 1. 网页图像处理 2. 图像编辑工具 3. 计算机视觉和机器学习

个人IP的核心竞争力是什么?

做个人IP最重要的一点就是学会展示&#xff01; 可以利用网络“链接关系”&#xff0c;通过内容大方分享自己的观点、知识、经验等&#xff0c;以利他思维获取用户信任&#xff0c;从而链接到用户群体。 为什么要展示&#xff1f; 1、吸引同频用户 2、低成本高效率获客 3、…

conda 导出/导出配置好的虚拟环境

一. 导出环境配置&#xff08;yml文件&#xff09; 1. 在主目录下激活虚拟环境&#xff08;UE4是我的虚拟环境名称&#xff0c;请根据你自己的名称进行修改&#xff09; conda activate UE4 2. 运行此代码 conda env export > environment.yml 二. 导入环境配置&#xf…

WSL2配置Linux、Docker、VS Code、zsh、oh my zsh(附Docker开机自启设置)

0. 写在前面 本篇笔记来自于UP主麦兜搞IT的合集视频Windows10开发环境搭建中的部分内容 1. 安装WSL2 按照微软官方文档进行操作&#xff0c;当然也可以直接wsl --install 也可以按照 旧版手动安装的步骤 来进行操作 选择安装的是Ubuntu 20.04 LTS 注&#xff1a;WSL默认安装…

“曲线图揭示收支秘密:让你的支出开销一目了然!“

在繁忙的现代生活中&#xff0c;我们每个人的支出开销都如同一部复杂的交响乐&#xff0c;需要细致入微的管理和分析。而曲线图作为一种直观、易懂的视觉工具&#xff0c;正是我们透视收支明细、洞察支出开销规律的得力助手。 首先&#xff0c;第一步&#xff0c;我们要进入晨…