Nginx详解(一文搞懂Nginx)以及Linux版本下安装

Nginx是一个高性能的开源Web服务器,以其事件驱动的架构处理大量并发连接,同时用作反向代理和负载均衡器。其特点是高性能、低内存消耗和高度可扩展性。在Linux环境下,通过下载安装包,解压,配置并编译安装,最后启动服务,即可完成Nginx的安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Nginx是什么?

        Nginx(发音为"engine X")是一个流行的开源Web服务器软件。它最初由Igor Sysoev开发,并于2004年首次发布。Nginx的目标是提供高性能、高可靠性和低内存消耗的Web服务器,同时也可以用作反向代理服务器和负载均衡器。

        Nginx以其优越的性能和高度可扩展性而闻名。相对于传统的Web服务器软件(如Apache),Nginx采用了一种事件驱动的架构,能够处理大量并发连接,而且在高负载下表现出色。它也具有较低的内存消耗,使得它能够高效地处理大规模的并发请求。

        除了作为Web服务器,Nginx还可以用作反向代理服务器。反向代理服务器充当客户端和后端服务器之间的中间层,接收客户端请求,并将请求转发给后端服务器。这种方式可以提供负载均衡、缓存、SSL终端和访问控制等功能。

        另外,Nginx还可以用作负载均衡器。负载均衡是将客户端请求分发到多个后端服务器上,以实现高可用性和扩展性。Nginx通过采用不同的负载均衡算法(如轮询、IP哈希、最少连接等)来分配请求,确保请求在后端服务器之间均匀分布。

二、为什么使用nginx反向代理服务器

 

三、Nginx有什么特点?

  1. 高性能:Nginx采用事件驱动的异步架构,能够处理大量并发连接,并在高负载情况下表现出色。它有效地利用系统资源,提供高性能的请求处理能力。

  2. 低内存消耗:相比于其他常见的Web服务器软件,如Apache,Nginx在处理请求时消耗较少的内存。这使得Nginx能够高效地处理大规模的并发请求,同时减少了服务器硬件成本。

  3. 轻量级:Nginx的代码精简,模块化设计使得它具有较小的安装包和磁盘占用空间。这使得Nginx易于部署和管理,同时减少了系统资源的使用。

  4. 反向代理和负载均衡:Nginx可以用作反向代理服务器,将客户端请求转发给后端服务器。它还支持负载均衡功能,可以将请求分发到多个后端服务器,提供高可用性和扩展性。

  5. 高度可扩展:Nginx支持动态模块加载和配置重载,使得系统管理员可以方便地扩展和定制服务器功能,而无需重启服务器。

  6. 强大的配置选项:Nginx提供了丰富的配置选项,允许管理员对服务器行为进行细粒度的控制。它的配置语法简洁明了,易于理解和管理。

  7. 高度可靠:Nginx具有稳定性和可靠性,能够处理大流量和高并发请求,同时具备自动故障恢复和容错机制。

  8. SSL/TLS支持:Nginx内置了对SSL/TLS协议的支持,可以进行安全的加密通信,保护传输的数据安全性。

四 、Linux版本下的安装

1.下载安装包

Nginx官网下载地址icon-default.png?t=N5K3https://nginx.org/en/download.html

将安装包下载到本地中

 2.把下载的nginx放入linux系统

将nginx存放到usr/soft中

 3.创建一个目录作为nginx的安装目录

mkdir /usr/soft/nginx

 4.解压nginx源码文件

tar -zxvf nginx-1.24.0.tar.gz      ------使用命令后查看当前目录

 5.进入解压后的目录

cd nginx-1.24.0

 6.指定nginx安装的目录

./configure  --prefix=/usr/soft/nginx

 可能会出现下面的错误,是因为缺少环境变量

 解决办法:

执行下面的命令下载yum

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

下载完毕后在执行  ./configure  --prefix=/usr/soft/nginx

7.编译

make 

 

8. 安装

make install

 9.查看安装nginx的目录中的内容

cd /usr/soft/nginx

ll

 10.启动nginx

cd sbin        -----进入sbin目录

./nginx         -----执行nginx文件

ps -ef | grep nginx        -----查看nginx进程是否启动

sbin/nginx    启动nginx
./nginx -s stop   关闭nginx
./nginx -s reload  重新加载nginx配置

11.nginx默认端口号为80

需要查看端口号是否开放,或者关闭防火墙 ,windows才能访问

firewall-cmd --add-port=80/tcp --zone=public --permanent               -----开放80端口

systemctl restart firewalld                     ------重启防火墙

12.测试window浏览器是否可以访问代理服务器

  虚拟机的ip:80

即安装成功

在面对高并发的Web服务时,优化Nginx配置以减少TIME_WAIT状态的线程占用以及合理选择长连接与短连接策略对于提升系统性能至关重要。首先,我们需要了解TIME_WAIT状态产生的原因及其对服务器资源的影响。TIME_WAIT状态通常出现在TCP连接四次挥手中,如果短连接使用过于频繁,将会产生大量处于TIME_WAIT状态的半开连接,消耗系统资源。而长连接虽然可以减少连接次数,但在高并发场景下可能会导致资源无法及时释放。 参考资源链接:[优化Nginx TIME_WAIT问题:长连接与短连接选择详解](https://wenku.youkuaiyun.com/doc/64649172543f844488a25651?spm=1055.2569.3001.10343) 针对TIME_WAIT状态,可以从以下几个方面进行优化: 1. 调整TIME_WAIT等待时间:通过修改操作系统内核参数`net.ipv4.tcp_fin_timeout`,可以减少TIME_WAIT状态的持续时间,使端口更快地被重用。 2. 优化Nginx配置:在Nginx配置文件中,可以设置`keepalive_timeout`参数来控制长连接的超时时间,以及使用`keepalive_requests`参数控制在关闭连接之前可以发送的最大请求数量,从而平衡长连接和短连接的使用。 3. 使用负载均衡:通过负载均衡分散请求,可以有效减少单个服务器的压力,避免产生大量的TIME_WAIT状态。 4. 连接复用:确保客户端和服务器端都实现连接复用机制,减少新连接的创建和旧连接的关闭频率。 至于长连接和短连接的选择,可以根据业务需求和性能指标来决定: - 如果应用场景需要持续的数据交互,比如数据库操作或实时通信,建议使用长连接。 - 如果是Web服务,考虑到服务器资源和并发性能,合理地使用短连接,并通过上述优化措施减少TIME_WAIT状态的影响。 为了进一步深入理解和掌握Nginx中的长连接与短连接策略,建议参考《优化Nginx TIME_WAIT问题:长连接与短连接选择详解一文。该资料不仅提供了理论知识,还有实战案例分析,可以帮助你更全面地理解在不同场景下如何做出选择,并对Nginx进行有效配置。掌握这些技巧后,你可以根据实际业务需求灵活调整连接策略,以达到最佳的系统性能和资源利用效率。 参考资源链接:[优化Nginx TIME_WAIT问题:长连接与短连接选择详解](https://wenku.youkuaiyun.com/doc/64649172543f844488a25651?spm=1055.2569.3001.10343)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值