Nginx是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用代理服务器(TCP/UDP/IMAP/POP3/SMTP).
在搭建好nginx服务器并启动之后,我们可以通过运行一些基本命令来检查配置文件语法错误、热加载并重新加载配置文件、快速关闭、等待工作进程处理完成后关闭等.
Nginx具有很多常用功能,包括Http代理、反向代理、web缓存等.
Http代理和反向代理是Nginx最常用的功能之一,尤其是反向代理。反向代理可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器。Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器 .
Nginx的配置文件结构包括events块、http块和server块.
- events块:配置影响nginx服务器或与用户的网络连接,包括每个进程的最大连接数、选取哪种事件驱动模型处理连接请求、是否允许同时接受多个网路连接、开启多个网络连接序列化等。
- http块:可以嵌套多个server,配置代理、缓存、日志定义等绝大多数功能和第三方模块的配置。如文件引入、mime-type定义、日志自定义、是否使用sendfile传输文件、连接超时时间、单连接请求数等。
- server块:配置虚拟主机的相关参数,一个http中可以有多个server。
Nginx还支持负载均衡,可以更大程度地提高服务器的使用效率。此外,Nginx还可以用作请求拦截,根据配置文件的配置,可以对请求路径进行自定义拦截.
Nginx还可以缓存静态文件(如html、css、js),实现完全的前后端分离,且它处理静态文件的效率是应用服务器的几倍。Nginx还可以用作反向代理服务,当真实服务器不能被直接访问到时,Nginx可作为反向代理服务,用于中间做转发。此外,Nginx还支持web缓存,可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGICache,主要用于对FastCGI的动态程序进行缓存.
在Nginx的使用过程中,我们需要了解一些常用的命令和配置文件语法,以便更好地进行配置和使用。对于配置文件结构的理解也是至关重要的。此外,我们需要根据具体的使用场景,选择合适的Nginx功能和模块进行配置和使用.