这里写自定义目录标题
PS:
截至2026年4月15日,nginx 刚刚发布了新鲜的稳定版本,废话不多说,直接下载1.30.0版本包开整
nginx官网下载地址,stable 高于 mainline

监控模块nginx-module-vts下载地址
在虚拟机整个麒麟V10镜像下载地址

部署步骤
上传nginx和nginx-module-vts包到/usr/local/下
nginx-module-vts-0.2.5.tar.gz
nginx-1.30.0.tar.gz
解压
tar zxf nginx-module-vts-0.2.5.tar.gz
tar zxf nginx-1.30.0.tar.gz
进入nginx源码目录
cd nginx-1.30.0/
查看可选配置项参数
./configure --help
参数拉满,执行如下命令检查环境,生成Makefile
各参数含义见最后的备注
./configure --prefix=/usr/local/nginx --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_slice_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-pcre --with-pcre-jit --add-module=/usr/local/nginx-module-vts-0.2.5 --with-debug
编译安装
make && make install
常用命令
查看帮助
/usr/local/nginx/sbin/nginx -h
启动
/usr/local/nginx/sbin/nginx
检查配置文件
/usr/local/nginx/sbin/nginx -t
重载配置文件
/usr/local/nginx/sbin/nginx -s reload
停止
/usr/local/nginx/sbin/nginx -s stop
编译安装配置项备注
这些配置参数是在编译Nginx时使用的,用于启用特定的模块和功能。下面详细解释每个参数:
-
--with-select_module和--with-poll_module- 作用 :这两个参数分别启用
select和poll事件驱动模块。select和poll是Nginx早期使用的事件驱动模型,用于处理多个并发连接。在现代系统中,它们通常被更高效的模型(如epoll、kqueue等)所替代。然而,在一些不支持更高级事件驱动模型的旧系统上,这些模块仍然有用。 - 使用场景 :当在不支持更高效事件驱动模型(如
epoll)的系统上编译Nginx时,可能需要启用这两个模块以确保Nginx能够正常处理并发连接。
- 作用 :这两个参数分别启用
-
--with-threads- 作用:启用线程池功能。线程池允许Nginx使用线程来处理某些操作,例如磁盘I/O或网络I/O,从而提高效率并减少进程数量。这有助于降低系统资源消耗,特别是在处理大量并发请求时。
- 使用场景:适用于I/O密集型应用场景,如处理大量文件上传或下载的服务器,通过线程池可以更好地管理I/O操作,提高整体性能。
-
--with-file-aio- 作用:启用文件异步I/O(AIO)支持。这使得Nginx能够在后台执行文件I/O操作,而不会阻塞主线程,从而提高文件操作的并发性能。
- 使用场景:在处理大量文件读取或写入的场景中,如媒体服务器或文件存储服务器,启用文件AIO可以显著提高I/O性能,减少响应时间。
-
--with-http_ssl_module- 作用:启用HTTP SSL/TLS模块,使Nginx能够处理HTTPS请求。该模块提供了对SSL/TLS协议的支持,用于加密HTTP通信,确保数据传输的安全性。
- 使用场景:任何需要在HTTP层面提供安全通信的场景,如电子商务网站、在线银行等,都需要启用此模块以保护用户数据。
-
--with-http_v2_module- 作用:启用HTTP/2协议支持。HTTP/2是HTTP协议的重大升级,提供了多路复用、头部压缩等功能,能够显著提高网页性能和用户体验。
- 使用场景:在现代Web应用中,为了提高网站的加载速度和性能,特别是在高流量网站上,启用HTTP/2支持是非常必要的。
-
--with-http_realip_module- 作用:该模块允许Nginx从请求头中提取客户端的真实IP地址。当Nginx作为反向代理或负载均衡器时,通常会接收到来自代理服务器的请求,而这个模块可以帮助获取原始客户端的IP地址。
- 使用场景:在反向代理或负载均衡环境中,需要记录客户端真实IP地址用于日志记录、访问控制或统计分析时,就需要启用此模块。
-
--with-http_addition_module- 作用:启用该模块后,Nginx可以在响应的头部或尾部添加自定义文本。这对于在响应中添加额外信息(如版本号、版权声明等)非常有用。
- 使用场景:例如,在API响应中添加一些关于API版本或服务条款的信息,或者在网页响应中添加版权声明。
-
--with-http_sub_module- 作用:允许Nginx在响应正文中搜索并替换指定的字符串。这在需要动态修改响应内容的场景中很有用。
- 使用场景:比如,在某些情况下需要在网页中替换特定的广告链接,或者根据不同的用户代理修改响应内容。
-
--with-http_dav_module- 作用:启用WebDAV(Web - based Distributed Authoring and Versioning)模块,使Nginx能够支持WebDAV协议。WebDAV允许用户通过HTTP协议进行远程文件管理,如创建、删除、移动文件等操作。
- 使用场景:适用于需要提供远程文件管理功能的应用,如企业内部的文档管理系统。
-
--with-http_flv_module和--with-http_mp4_module- 作用:这两个模块分别启用对FLV和MP4格式视频流的支持。它们允许Nginx高效地处理FLV和MP4视频文件的传输,支持视频的直播和点播功能。
- 使用场景:在视频网站或在线视频服务中,用于提供FLV或MP4格式视频的播放支持。
-
--with-http_gunzip_module- 作用:启用该模块后,Nginx可以对已经经过gzip压缩的响应进行解压缩,然后再将解压缩后的内容发送给客户端。这在客户端不支持gzip解压,但服务器响应已经被压缩的情况下很有用。
- 使用场景:当存在一些老旧的客户端设备不支持gzip解压,但服务器又配置了gzip压缩时,可以使用此模块确保这些客户端能够正确接收响应内容。
-
--with-http_gzip_static_module- 作用:该模块允许Nginx在服务器端预先压缩静态文件(如HTML、CSS、JavaScript等),并直接将压缩后的文件发送给支持gzip的客户端。这样可以减少传输数据量,提高网站加载速度。
- 使用场景:在任何希望通过压缩静态文件来提高网站性能的Web应用中都适用。
-
--with-http_auth_request_module- 作用:启用该模块后,Nginx可以通过向另一个服务器(如认证服务器)发送请求来验证客户端的请求。这提供了一种灵活的认证机制,允许将认证逻辑分离到独立的服务器上。
- 使用场景:在大型企业或分布式系统中,当需要集中管理认证逻辑,并将认证服务与Web服务分离时,此模块非常有用。
-
--with-http_random_index_module- 作用:该模块允许Nginx在指定目录下随机选择一个索引文件(如index.html、index.php等)作为响应内容。这在需要随机展示不同内容(如随机广告页面)的场景中很有用。
- 使用场景:例如,在广告投放系统中,希望每次用户访问目录时随机展示不同的广告页面。
-
--with-http_secure_link_module- 作用:启用该模块后,Nginx可以验证URL链接的安全性。它通过生成和验证安全链接,确保只有授权的用户能够访问特定资源。
- 使用场景:在需要对敏感资源(如付费下载、私人文件等)进行访问控制的场景中,通过安全链接可以防止资源被非法访问。
-
--with-http_slice_module- 作用:该模块允许Nginx支持HTTP范围请求(range requests),使得客户端可以请求文件的部分内容,而不是整个文件。这对于支持视频、音频等大文件的渐进式下载或流媒体播放非常有用。
- 使用场景:在视频和音频流媒体服务中,用户可以从视频的任意位置开始播放,而无需下载整个文件。
-
--with-http_stub_status_module- 作用:启用该模块后,Nginx可以提供一个简单的状态页面,显示Nginx的基本运行状态信息,如活动连接数、接受的请求数、处理的请求数等。
- 使用场景:用于监控Nginx服务器的运行状态,帮助系统管理员了解服务器的负载情况和性能指标。
-
--with-mail和--with-mail_ssl_module- 作用 :
--with-mail启用Nginx的邮件代理功能,而--with-mail_ssl_module在此基础上添加对SSL/TLS加密的支持,使Nginx能够代理POP3、IMAP和SMTP协议的邮件通信,并提供安全加密。 - 使用场景:在需要搭建邮件代理服务器或邮件网关的场景中,用于处理邮件协议的通信,并确保邮件传输的安全性。
- 作用 :
-
--with-stream和--with-stream_ssl_module以及--with-stream_realip_module和--with-stream_ssl_preread_module--with-stream:启用Nginx的TCP/UDP流代理功能,使Nginx能够代理TCP和UDP协议的流量。--with-stream_ssl_module:为TCP流代理添加SSL/TLS加密支持,用于保护TCP连接中的数据安全。--with-stream_realip_module:类似于HTTP版本的realip_module,该模块允许Nginx在流代理中获取客户端的真实IP地址。--with-stream_ssl_preread_module:在SSL握手之前读取SSL/TLS客户端Hello消息,这对于基于SSL/TLS握手信息进行负载均衡或访问控制非常有用。- 使用场景:在需要代理TCP或UDP流量的场景中,如代理数据库连接、游戏服务器连接等,并且可能需要提供安全加密、获取真实IP地址或基于SSL/TLS信息进行处理时,这些模块就会发挥作用。
-
--with-pcre和--with-pcre-jit--with-pcre:启用PCRE(Perl Compatible Regular Expressions)库,使Nginx能够支持正则表达式匹配。正则表达式在Nginx的配置中广泛用于匹配URL、请求头等内容。--with-pcre-jit:启用PCRE的Just - In - Time编译功能,这可以显著提高正则表达式的匹配速度,因为它会在运行时将正则表达式编译成本地机器码。- 使用场景:在任何需要使用正则表达式进行复杂匹配的Nginx配置中,如URL重写、访问控制等,启用这两个选项可以提高匹配效率。
-
--add-module=/usr/local/nginx-module-vts-0.2.5- 作用 :添加一个外部模块,这里是
nginx-module-vts模块。nginx-module-vts是一个用于Nginx的虚拟主机流量状态监控模块,它可以提供更详细的虚拟主机流量统计信息,如请求速率、带宽使用等。 - 使用场景:在需要对Nginx虚拟主机的流量进行详细监控和分析的场景中,这个模块非常有用,有助于系统管理员了解每个虚拟主机的性能和资源使用情况。
- 作用 :添加一个外部模块,这里是
-
--with-debug- 作用:启用调试日志功能。编译时加上此参数后,Nginx在运行过程中会生成更详细的调试日志,有助于开发人员和系统管理员排查问题。
- 使用场景:在开发新的Nginx模块、调试复杂的配置或者排查Nginx运行过程中的问题时,启用调试日志可以提供更多有用的信息。但在生产环境中,由于调试日志可能会产生大量数据,一般不建议启用,除非在解决特定问题时临时开启。