Nginx概述
Nginx:
Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。 对HTTP并发连接的处理能力高,单台物理服务器可支持30000~50000个并发请求。
Apache:
Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适用于多处理器环境,因此,在一个apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器
什么是Nginx?
Nginx是一个轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3和IMAP协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、腾讯等。
Nginx有哪些优点?
·跨平台、配置简单。
。异步非阻塞、高并发连接:处理2-3万并发连接数,官方监测能支持5万并发。·内存消耗小:开启10个Nginx才占150M内存。
·成本低廉,且开源。
。稳定性高,宕机的概率非常小。
'内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上
Nginx应用场景?
. http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
·虚拟主机。可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。
·反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会应为某台服务器负载高宕机而某台服务器闲置的情况。
. nginx中也可以配置安全管理、比如可以使用Nginx搭建API接口网关,对每个接口服务进行拦截. 心
Nginx和Apache的差异
--------编译安装Nginx服务--------
1.关闭防火墙,将安装nginx所需软件包传到/opt目录下
2.安装依赖包
3.创建运行用户、组
(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
useradd -M -s /sbin/nologin nginx
4.编译安装Nginx
5.检查、启动、重启、停止 nginx服务
日志分割(移走原有日志,重新打开日志文件)
新版本升级:
6.添加 Nginx 系统服务
方法一
方法二
访问本机
Nginx服务的主配置文件
--------认识Nginx服务的主配置文件 nginx.conf--------
全局块(全局配置)
vim /usr/local/nginx/conf/nginx.conf
ngnix两种进程
master process主进程
worker process工作进程
events块( I/O 事件配置)
查看Nginx支持的最大并发量
软件配置支持多少并发量,由主配置文件nginx.conf决定
系统会限制本地每个用户进程可以同时打开的最大文件数量,即系统会限制每个进程的连接数。
查看系统支持多少并发量:
使用"ulimit -a"可查看系统允许当前用户进程打开的文件数限制
修改系统支持的最大并发量:
“ulimit -n 65535”命令可临时修改本地每个用户进程可以同时打开的最大文件数。
vim /etc/security/limits.conf,编辑该文件可永久修改。
HTTP 配置
location块
location常见配置指令:root、alias、proxy_pass
root(根路径配置):root /var/www/html 请求www.yuji.com/test/1.html,会返回文件/var/www/html/test/1.html
alias(别名配置,即虚拟路径):alias /var/www/html 请求www.yuji.com/test/1.html,会返回文件/var/www/html/1.html
示例一:
示例二:
访问状态统计配置
1.先使用命令/usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块
2.修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置
3.重启服务,访问测试
监控nginx当前并发数量
--------基于授权的访问控制--------
1.生成用户密码认证文件
2.修改主配置文件相对应目录,添加认证配置项
3.重启服务,访问测试
--------基于客户端的访问控制--------
访问控制规则如下:
deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。
allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。
规则从上往下执行,如匹配则停止,不再往下匹配。