Nginx-基本概念及配置

Nginx简介

概述

  1. 一个高性能的HTTP和反向代理web服务器
  2. 特点是占有内存少,并发能力强
  3. 专为性能优化而开发

反向代理

  1. 正向代理

在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问

Nginx-基本概念及配置_第1张图片
2. 反向代理

把请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端
此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址

Nginx-基本概念及配置_第2张图片

负载均衡

Nginx-基本概念及配置_第3张图片

动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力

Nginx-基本概念及配置_第4张图片

Nginx安装

防火墙命令

systemctl status firewalld
systemctl stop firewalld

firewall-cmd --list-all
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload

docker安装

# 最好先复制html跟conf.d里面的和nginx.conf
docker run --name nginx01 -d -p 80:80 -v /home/dockerusr/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/dockerusr/nginx/conf.d:/etc/nginx/conf.d -v /home/dockerusr/nginx/logs:/var/log/nginx -v /home/dockerusr/nginx/html:/usr/share/nginx/html  nginx

docker下Nginx命令

# /usr/sbin 路径下

# 查看版本
./nginx -v

# 开启、关闭、重新加载
./nginx
./nginx -s stop
./nginx -s reload

Nginx配置文件

  1. 全局块(从开始到event之间)
# 可以支持的并发处理量,越大可处理的越多
worker_processes  1;
  1. events块

射击的指令主要影响Nginx服务器与用户的网络连接

events {
# 最大连接数
    worker_connections  1024;
}
  1. http块

代理,缓存和日志定义等绝大多数功能和第三方模块的配置都在这里
包含全局块和server块

Nginx原理

master 和 worker

  1. 原理图Nginx-基本概念及配置_第5张图片
  2. 工作过程

Nginx-基本概念及配置_第6张图片
3. 一个master对应多个worker的好处

  1. 可以使用nginx -s reload 热部署(worker分开加载)
  2. 对于每个worker进程来说,都是独立的进程,不需要加锁,省掉锁带来的开销

需要设置多少个worker

  1. 多路复用
  1. Nginx同redis类似都采用了io多路复用机制,每个worker都是一个独立的进程,但每个进程里只有一个主线程
  2. 通过异步非阻塞的方式来处理请求
  3. 每个worker的线程可以把一个cpu的性能发挥到极致
  4. 所以worker数和cpu数相等是最为适宜的
  1. 设置

连接数worker connection

  1. 发送一个请求,占用了worker的几个连接数

2个或者4个

  1. nginx有一个master,有4个(worker_processes)worker,每个worker支持最大的连接数是1024,则支持最大的并发数是多少

10244 /2 || 10244 /4
普通的静态访问最大并发数:worker_connectionsworker_processes/2
HTTP作为方向代理来说,最大并发数:worker_connections
worker_processes/4

A

你可能感兴趣的:(RPC)