特性:既可以作为HTTP服务器,也可以作为反向代理服务器或者邮件服务器或者邮件服务器;能够快递响应静态页面的请求;支持 Fast CGI、SSL、Virtual Host、URL Rewrite、Http Basic Auth、Gzip 等大量使用功能;并且支持更多的第三方功能模块的扩展。
下载历史版本:https://nginx.org/download/
安装:
- windows版本:
下载解压:点击 nginx.exe 即可运行。
conf目录 (存放nginx服务器配置文件,基本配置文件+部分特性的配置文件)
docs目录 (存放ngin服务器的文档资料)
html目录 (存放静态网页文件)
logs目录(存放nginx服务器运行日志文件)
nginx.exe (启动nginx服务器的运行程序,如果conf目录下的nginx.conf文件配置正确,通过它即可完成nginx服务器的启动操作)
- linux版本:
安装:https://www.cnblogs.com/cshaptx4869/p/10493993.html
需要的环境、工具(一些模块需要依赖其他第三方库):
- GCC编译器
- Automake工具(完成自动创建Makefile的工作)
- 一些模块需要依赖其他第三方库,通常有:
- pcre库(支持rewrite模块)
- zlib库(支持gzip模块)
- openssl库(支持ssl模块)
- ...
环境安装命令:$ yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
说明:
不需要安装 autoconf 工具,nginx的自动脚本不是用autoconf工具生成的,而是由作者手工编写。
src目录:存放nginx软件的所有源代码。
man目录:存放nginx软件的帮助文档,安装完成后可以用 $man nginx 查看
html目录:同windows
conf目录:同windows
auto目录:存放大量脚本文件,和configure脚本程序有关。
configure文件:nginx软件的自动脚本程序。 运行后主要完成:一检查环境,根据环境检查结果生成C代码;二是生成编译代码需要的Makefile文件。
安装:https://www.cnblogs.com/cshaptx4869/p/10493993.html
信号控制Nginx服务的启停控制:
Nginx服务运行时,会保持一个主进程和一个或多个worker process 工作进程。通过给Nginx服务的主进程发送信号就可以控制服务的启停。
Nginx服务主线程能够接收的信号(signal ):
- TERM或INT 快速停止Nginx服务
- QUIT 平缓停止Nginx服务
- HUP 使用新的配置文件启动进程,之后平缓停止原有进程,即平滑重启
- USR1 重新打开日志文件,常用于日志切割
- USR2 使用新版本的Nginx文件启动服务,之后平缓停止原有Nginx进程,即平滑升级
- WINCH 平缓停止worker process
向Nginx服务主进程发送信号方式:
- 使用 nginx 二进制文件,使用 nginx -h 命令可查看
- 使用 kill 命令,如 kill signal pid 或者 kill signal `pidfilepath`
概念说明:
平缓停止:允许nginx服务将当前正在处理的网络请求处理完成,但不在接收新的请求,之后关闭连接,停止工作。
快速停止:立即停止nginx服务正在处理的所有网络请求,马上丢弃连接,停止工作。
平滑重启:接收HUP信号,先读取新的nginx配置文件,如果语法正确,则启动新的nginx服务,然后关闭旧的服务进程;若新的nginx配置有问题,则显示错误,且任然使用旧的nginx进程提供服务。
平滑升级:接收USR2信号,将旧的nginx.pid文件添加后缀.oldbin,变为 nginx.pid.oldbin文件;然后执行新版本nginx服务的二进制文件启动服务。如果新的服务启动成功,系统将有新旧两个nginx服务共同提供wen服务。之后,需向旧的nginx服务发送WIHCH信号,使旧的nginx服务平滑停止,并删除nginx.pid.oldbin文件。(注意:平滑升级,新旧服务器安装路径要统一,且安装新服务器之前最好备份下旧服务器数据)。
推荐博文: