当前位置: 首页 > 后端技术 > Java

CentOS相关-Nginx使用记录

时间:2023-04-02 09:41:17 Java

Nginx简介Nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。Nginx是一个轻量级的web服务器/反向代理服务器和邮件代理服务器在类似BSD的协议下发布。由俄罗斯程序员IgorSysoev开发,被俄罗斯大型门户网站和搜索引擎Rambler使用。其特点是占用内存少,并发能力强。事实上,nginx的并发能力在同类型的web服务器中确实表现得更好。与Apache\lighttpd相比,Nginx具有内存少、稳定性高等优点,并以并发性强、模块库丰富、友好和灵活的配置。在Linux操作系统下,nginx使用epoll事件模型。得益于此,nginx在Linux操作系统下相当高效。同时,Nginx在OpenBSD或FreeBSD操作系统上使用了类似于Epoll的高效事件模型kqueue。代理服务器一般是指局域网内部的机器,通过代理服务器向Internet上的服务器发送请求,代理服务器一般作用于客户端。ReverseProxy客户端(用户A)向反向代理的命名空间(name-space)中的内容发送一个正常的请求,然后反向代理会判断去哪里(原来server)转发请求,并将获取到的内容返回给客户端。而客户端总是要求它访问原来的服务器B,而不是服务器Z。由于防火墙的作用,只允许服务器Z进出,防火墙和反向代理共同保护院子资源服务器B.用途:提供防火墙后的服务器供互联网用户访问。反向代理还可以为后端的多台服务器提供负载均衡,或者为后端速度较慢的服务器提供缓冲服务。正向代理正向代理是位于客户端A和原始服务器(服务器B)之间的服务器(代理服务器Z)。用户A为了从原始服务器获取内容,向代理服务器Z发送请求并指定目标(服务器B),然后代理服务器Z将请求转发给服务器B,并将获取到的内容返回给客户端。客户端必须进行一些特殊设置才能使用正向代理。用途:为防火墙内的局域网客户端提供访问Internet的途径。您还可以使用缓冲功能来减少网络使用。NginxVSApache有相同点:两者HTTP服务器软件均采用模块化结构设计,支持PHP、Perl、Python等通用语言接口,支持正向、反向代理、虚拟主机、URL重写、压缩传输、SSL加密传输区别:Apache处理速度很慢,占用大量内存资源从功能上讲,Apache的所有模块都支持动态和静态编译,而Nginx模块是静态编译的。对Fcgi的支持:Apache支持很差,Nginx支持很好易于处理的连接方式:Nginx支持epoll,Apache不支持空间使用:Nginx安装包才几百KNginx优势作为web服务器,Nginx处理静态文件和索引文件,自动索引的效率非常高。Nginx作为代理服务器,可以实现无缓存的反向代理加速,提高网站的运行速度。Nginx作为负载均衡服务器,内部可以直接支持Rails和PHP,也可以支持HTTP代理服务器对外提供服务。它还支持简单的容错和使用算法的负载平衡。在性能方面,Nginx是专门为性能优化而开发的,在执行上非常注重效率。它采用内核Poll模型,可以支持更多的并发连接,最大可以支持响应50000个并发连接,并且只占用非常低的内存资源。在稳定性方面,Nginx采用了分阶段的资源分配技术,使得CPU和内存占用率非常低。Nginx官方表示,Nginx维护着10000个不活跃的连接,而这些连接只占用2.5MB的内存。所以像DOS这样的攻击对Nginx基本没有影响。在高可用方面,Nginx支持热部署,启动速度特别快,可以在不中断服务的情况下升级软件版本或配置。即使运行数月,也无需重启,几乎可以7x24小时不间断运行。Nginx稳定性高,支持热部署;代码质量很高,代码很规范,方法很成熟,模块扩展也很容易;使用了os提供的一些最新特性,如sendfile(Linux2.2+)、accept-filter(FreeBSD4.1+)、TCP_DEFER_ACCEPT(Linux2.4+)支持,从而大大提高了性能。练习记录目的:为了通过www.taoweidong.com域名访问阿里云服务器9000端口搭建的个人博客,安装nginx后配置,使用nginx代理功能原理分析:本nginx用于代理本地9000端口nginx监听80端口当客户使用浏览器访问http://www.taoweidong.com时,会被80端口捕获,然后nginx访问>本地9000端口,返回个人博客页面信息。结果这篇文章被多发博客平台OpenWrite发表了!