Linux
基础知识
01搭建Centos7系统
02软件管理仓库
03Shell
04查看帮助命令
05系统工作命令
06系统状态检测命令
07工作目录切换命令
08文本文件编辑命令
09文件目录管理
10打包压缩与搜索命令
11输入输出重定向
12管道符与通配符
13Vim编辑器
14Shell脚本
15shell流程控制语句
16用户管理操作
17文件权限与归属
18文件隐藏属性
19文件访问控制列表
20su与sudo
21存储结构
22物理设备命名规则
23文件系统
24挂载硬件设备
25虚拟机添加硬盘设备
26系统中操作添加硬盘设备
27添加交换分区
28磁盘容器配额
29软硬方式链接
30RAID
31LVM
32程序安装与管理
33计划任务
34日志文件分析
35测试网络联通性
36FTP服务
37操作系统基本符号
38操作系统三剑客
39shell基础
40shell语法
41DNS
42Apache概述
43Nginx概述
44集群概述
Vmware安装Ubuntu
更换源
-
+
首页
43Nginx概述
# Nginx概述 ## 历史 Nginx(engine x)是一款高性能的 HTTP 和反向代理服务器,同时也是一款邮件代理服务器。它由俄罗斯程序员 Igor Sysoev 于 2002 年开发,并于 2004 年首次公开发布。 Nginx 的设计初衷是为了解决 C10K 问题(即同时处理 10,000 个连接的问题),并提供一个高性能、高可靠性的 Web 服务器解决方案。经过多年的发展,Nginx 已经成为互联网领域广泛使用的服务器软件之一,其社区版和商业版(nginx plus)分别满足了不同用户的需求。 ## 概述 Nginx 是一款免费、开源、高性能的 HTTP 和反向代理服务器,同时也支持邮件代理和 TCP/UDP 代理功能。它以其**高性能、稳定性、低内存消耗**和丰富的功能而著称。、 Nginx 的模块化设计使其具有良好的扩展性,能够满足各种复杂的应用场景。此外,Nginx 支持热部署,可以在不停机的情况下更新配置文件、升级版本和更换日志文件,这使得其在生产环境中具有很高的可用性。 **Nginx和Apache的区别:** Apache和Nginx的相同点:在功能实现上都使用了模块化结构设计,都支持通用的语言接口,如PHP、Perl、Python等,同时也支持正向、反向代理,虚拟主机,URL重写等。 Apache: - 更稳定 - 处理动态请求时,Apache性能更高(动态请求会用到伪静态,而Apache对rewrite支持的更好) - rewrite模块更完善 - 模块众多 Nginx: - 轻量级,相对Apache占用更少的资源 Nginx是非阻塞异步网络IO模型(epoll),高并发下能保持低资源低消耗,因此更适合做高并发(Apache采用的是select模型/线型轮询) - 处理静态网页上表现的更好(简单、占资源少),官方定义的并发量最高可达5w/s - 反向代理、负载均衡性能更强 - 可对后端服务器进行健康状态检查 - 支持网站缓存(加速网页访问)--squid代理 ## 功能 静态资源服务:Nginx 可以高效地提供静态资源服务,如 HTML、CSS、JavaScript、图片、视频等。通过简单的配置,Nginx 能够直接返回存储在服务器上的静态文件,满足 Web 应用的基本需求。 反向代理:Nginx 作为反向代理服务器,可以将客户端的请求转发到后端服务器(如 Tomcat、Node.js、Python 应用等),隐藏后端服务器的细节,提高系统的安全性和可维护性。通过配置 `proxy_pass` 指令,Nginx 可以将请求转发到指定的后端服务器或服务器组。 负载均衡:Nginx 支持多种负载均衡算法,如轮询、权重、IP 哈希等,可以将请求分发到多个后端服务器,提高系统的可用性和性能。通过配置 `upstream` 块,可以定义后端服务器组,并设置各服务器的权重和备份策略。 SSL/TLS 终止:Nginx 支持 SSL/TLS 协议,可以处理 HTTPS 加密和解密,减轻后端服务器的压力。通过配置 SSL 证书和密钥,Nginx 可以在 443 端口监听 HTTPS 请求,并将解密后的请求转发到后端服务器。 缓存加速:Nginx 可以缓存动态内容或静态资源,减少后端服务器的负载并提升响应速度。通过配置 `proxy_cache` 指令,可以设置缓存路径、缓存有效时间等参数,实现高效的缓存管理。 访问控制与安全:Nginx 提供了丰富的访问控制功能,可以限制 IP 访问、请求速率、防盗链等。通过配置 `allow` 和 `deny` 指令,可以实现基于 IP 地址的访问控制;通过配置 `valid_referers` 指令,可以防止资源被盗链。 日志记录:Nginx 支持自定义日志格式,可以记录请求日志,帮助管理员监控服务器的运行状态和性能。通过配置 `log_format` 和 `access_log` 指令,可以定义日志格式和存储路径。
毛林
2025年9月12日 20:50
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码