Nginx是开源、高性能、高可靠的Web和反向代理服务器,而且支持热部署,几乎可以做到7*24小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是Nginx最重要的考量,其占用内存少、并发能力强、能支持高达5w个并发连接数,最重要的是,Nginx是免费的并可以商业化,配置使用也比较简单。
Nginx特点高并发、高性能;
模块化架构使得它的扩展性非常好;
异步非阻塞的事件驱动模型这点和Node.js相似;
相对于其它服务器来说它可以连续几个月甚至更长而不需要重启服务器使得它具有高可靠性;
热部署、平滑升级;
完全开源,生态繁荣;
Nginx作用Nginx的最重要的几个使用场景:静态资源服务,通过本地文件系统提供服务;
反向代理服务,延伸出包括缓存、负载均衡等;
API服务,OpenResty;
对于前端来说Node.js并不陌生,Nginx和Node.js的很多理念类似,HTTP服务器、事件驱动、异步非阻塞等,且Nginx的大部分功能使用Node.js也可以实现,但Nginx和Node.js并不冲突,都有自己擅长的领域。Nginx擅长于底层服务器端资源的处理(静态资源处理转发、反向代理,负载均衡等),Node.js更擅长上层具体业务逻辑的处理,两者可以完美组合。用一张图表示:Nginx安装本文演示的是LinuxcentOS7.x的操作系统上安装Nginx,至于在其它操作系统上进行安装可以网上自行搜索,都非常简单的。使用yum安装Nginx:yuminstallnginx-y安装完成后,通过rpm\-qlnginx命令查看Nginx的安装信息:
#Nginx配置文件/etc/nginx/nginx.conf#nginx主配置文件/etc/nginx/nginx.conf.default#可执行程序文件/usr/bin/nginx-upgrade/usr/sbin/nginx#nginx库文件/usr/lib/systemd/system/nginx.service#用于配置系统守护进程/usr/lib64/nginx/modules#Nginx模块目录#帮助文档/usr/share/doc/nginx-1.16.1/usr/share/doc/nginx-1.16.1/CHANGES/usr/share/doc/nginx-1.16.1/README/usr/share/doc/nginx-1.16.1/README.dynamic/usr/share/doc/nginx-1.16.1/UPGRADE-NOTES-1.6-to-1.10#静态资源目录/usr/share/nginx/html/.html/usr/share/nginx/html/50x.html/usr/share/nginx/html/index.html#存放Nginx日志文件/var/log/nginx主要