文章目录
概念介绍
Apache和nginx的介绍
工作原理和概念:
Apache的工作原理和概念
工作原理:
多进程模型:Apache默认使用的是多进程模型,每个子进程可以处理一个或多个客户端请求。
线程模型:Apache也可以配置成使用线程模型(如使用mod_thread模块),在这种模式下,每个子进程可以创建多个线程来处理请求。
请求处理流程:Apache接收到请求后,会根据配置文件(通常是httpd.conf)中的指令来解析请求,然后调用相应的模块来处理请求。
工作模式:
Prefork模式:预先创建多个子进程,每个子进程处理一定数量的请求。
Worker模式:使用线程来处理请求,每个子进程可以创建多个线程。
Event模式:使用事件驱动的方式来处理请求,适用于高并发场景。
优缺点
优点:
稳定性和成熟度:Apache是一个成熟且稳定的Web服务器,广泛用于静态内容和动态内容的交付。
丰富的模块支持:Apache有大量可用的模块,可以轻松扩展其功能。
强大的社区支持:由于其广泛的使用,Apache有一个强大的社区支持,文档和教程非常丰富。
缺点:
性能瓶颈:在高并发场景下,Apache的多进程模型可能会成为性能瓶颈。
内存占用较高:每个子进程都需要独立的内存空间,可能导致较高的内存占用。
Nginx的工作原理和概念
工作原理:
异步非阻塞I/O:Nginx使用的是异步非阻塞I/O模型,可以同时处理大量的并发连接。
事件驱动:Nginx基于事件驱动模型,每个事件(如新的客户端连接、数据读写等)都会触发相应的处理逻辑。
请求处理流程:Nginx接收到请求后,会根据配置文件(通常是nginx.conf)中的指令来解析请求,然后调用相应的模块来处理请求。
工作模式:
Master-Worker模式:Nginx有一个主进程和多个工作进程。主进程负责接收客户端请求并分配给工作进程,工作进程负责实际处理请求。
优点:
高性能:Nginx在高并发场景下表现出色,能够高效处理大量并发连接。
低资源消耗:由于其异步非阻塞I/O模型,Nginx的资源消耗较低。
丰富的功能模块:Nginx支持丰富的功能模块,可以轻松扩展其功能。
缺点:
处理复杂请求的能力较弱:Nginx在处理复杂的动态请求时,可能不如Apache强大。
配置复杂性:Nginx的配置文件相对复杂,新手可能需要花费更多时间来学习和调试。
总体的架构思想
Apache的架构思想:
模块化设计:Apache采用模块化设计,可以通过加载不同的模块来扩展其功能。
多进程或多线程模型:Apache支持多种工作模式,包括多进程和多线程模型,以适应不同的应用场景。
Nginx的架构思想:
事件驱动:Nginx采用事件驱动架构,能够高效处理大量并发连接。
异步非阻塞I/O:Nginx利用异步非阻塞I/O模型,实现了高性能和低资源消耗。
总结
总结来说,Apache和Nginx各有优缺点,选择哪一个取决于具体的应用场景和需求。Apache更适合处理复杂的动态请求,而Nginx在高并发场景下表现更优秀。在实际应用中,常常会结合使用Apache和Nginx,发挥各自的优势。
基本配置实验
nginx的源码编译
下好安装包:
安装C语言以及其他环境
开始编译
如果后面没有服务,需要执行 make && make install 命令
解释执行make && make install 命令原因
在Linux中通过源码安装软件时,通常会经历以下几个步骤:
- 下载源码:从官方网站或其他可信来源下载软件的源码包。
- 解压源码:使用适当的工具(如
tar
,unzip
等)解压源码包。- 配置编译选项:进入解压后的源码目录,运行
./configure
脚本来配置编译选项。这个脚本会检查系统环境,确定软件的安装路径以及其他配置选项,并生成Makefile文件。- 编译源码:运行
make
命令来编译源码。这个过程会根据前面生成的Makefile文件中的规则,将源码编译成可执行文件或库文件。- 安装软件:运行
make install
命令来安装编译后的软件。这个过程会将编译好的文件复制到系统中的适当位置,使其可以在系统中正常运行。为什么需要执行
make && make install
编译过程:
make
命令负责根据configure
脚本生成的Makefile文件,将源码编译成可执行文件或库文件。这一步骤是必要的,因为不同的系统环境可能需要不同的编译选项和优化参数。安装过程:
make install
命令负责将编译好的文件复制到系统中的适当位置。这样,系统就可以找到并运行这些文件。如果不执行make install
,编译好的文件将不会被安装到系统中,软件也无法正常运行。
总结 : 执行make && make install
命令是源码安装过程中必不可少的步骤。make
命令负责编译源码,而make install
命令负责将编译好的文件安装到系统中,使其可以正常运行。这两个步骤确保了软件能够在当前系统环境中正确运行。
nginx的平滑升级及版本回滚
准备编译:
之后:那个yebeichen是自定义的名字
操作NGINX服务
命令解释:
您遇到的错误信息 nginx: invalid option: "-s start"
表明您在尝试使用 -s start
参数启动Nginx时出现了问题。实际上,-s
参数在Nginx中用于发送信号给Nginx主进程,而不是用来启动Nginx。
正确的使用 -s
参数的方式是:
-s stop
:立即停止Nginx。-s quit
:优雅地停止Nginx。-s reopen
:重新打开日志文件。-s reload
:重新加载配置文件。
如果您想要启动Nginx,应该直接运行Nginx的可执行文件,而不需要任何额外的参数。例如:
/usr/local/nginx/sbin/nginx
这将启动Nginx服务。如果您希望使用Systemd来管理Nginx服务,可以使用以下命令:
systemctl start nginx
请确保你有适当的权限来执行这些命令,如果需要,可以在命令前加上 sudo
。
如果已经在使用Systemd管理Nginx,并且希望启动服务,那么使用 systemctl start nginx
是更合适的方法。如果您手动启动Nginx,那么只需运行Nginx的可执行文件即可。