Nginx基本概念
1、nginx是什么,做什么
高性能的http和反向代理服务器,占有内存少,并发能力强,支持热部署
反向代理
(1)正向代理
在客户端配置代理服务器,通过代理服务器进行网络访问
(2)反向代理
只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据并返回给客户端,此时反向代理服务器和目标服务器就是一个服务器,暴露了代理服务器地址,隐藏了真实服务器地址
负载均衡
单个服务器解决不了,我们增加服务器的数量,将请求分发到各个服务器上,将负载分发到不同的服务器上。
动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力。
2、nginx安装、常用命令和配置文件
1、linux中安装nginx
nginx需要安装相关依赖:pcre、openssl、zlib
安装成功后,/usr/local/nginx/sbin可以看到
2、nginx常用命令
进入/usr/sbin目录
查看版本号:nginx -v
启动 :nginx
停止 :nginx -s stop
重加载 :nginx -s reload
3、nginx配置文件
位于/etc/nginx/nginx.conf
基本的:
(3部分–全局块/events块/http块)
全局块–设置一些影响nginx服务器整体运行的配置指令–work_processes越大并发处理量越大
events块–影响nginx服务器与用户的网络连接–worker_connections支持的最大连接数
http块–代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里–包含http全局块和server块
nginx实例
nginx实例1-反向代理
nginx实例2-负载均衡
在http模块中加入
upstream [name] {
server [IP:port];
}
在server模块中加入
proxy_pass http://[name];
nginx实例3-动静分离
nginx实现高并发集群
nginx原理
master+workers模式,workers争抢机制,启动nginx后,输入命令 ps -ef|grep nginx
一个master和多个worker有好处:
使用nginx -s reload
热部署,利用nginx进行热部署操作
- 每个worker是独立的进程,如果有其中一个worker出现问题,其他worker独立,继续进行争抢,实现请求过程,不会造成服务中断。
worker数量可以根据cpu核数来确定
连接数work_connections
一个请求 占用worker的2(静态请求)或4(动态请求)个连接
普通的静态访问最大并发数是:worker_connectionsworker processes/2
HTTP作为反向代理来说,最大并发数是:worker_connectionsworker processes/4
参考哔站视频所做笔记