nginx使用手册+基本原理+优缺点

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介:

nginx使用手册+基本原理+优缺点
一、nginx优点
1.反向代理
1、正向代理: 客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

req
resp
req
resp
client
ClientProxy
server
server不知道client是谁

2、反向代理:客户端请求服务器,中间也是经过一个代理服务器,客户端访问代理服务器就好像访问目标服务器一样。同时代理服务器将请求转发到后端具体服务器。

req
resp
req
resp
req
resp
req
resp
client
ServerProxy
Server01
Server02
Server03
客户端不知道自己具体访问的服务器是谁

3、总结 https://blog.csdn.net/wnvalentin/article/details/88171847

正向代理是对客户端的代理,由客户端设立,客户端了解代理服务器和目标服务器,但目标服务器不了解真正的客户端是谁;使用正向代理可达到 突破访问限制、提高访问速度、对服务器隐藏客户端IP等目的;

反向代理是对服务器的代理,由服务器设立,客户端不了解真正的服务器是谁,使用反向代理可达到负载均衡、保障服务端安全、对客户端隐藏服务器IP等目的。

2.负载均衡
集群平摊请求压力

负载均衡策略:

轮询 :平均访问(默认方式)
upstream myserver{

     ip_hash;
     server 192.168.17.129:8000;
     server 192.168.17.129:8001;
     server 127.0.0.1:7071 down; #不参与负载均衡  
     server 127.0.0.1:7070 backup; #备份server  只有其他都忙了才访问 
 }

权重
upstream myserver{

     server 192.168.17.129:8000 weight 1;
     server 192.168.17.129:8001 weight 2;
 }

IP hash :每个ip分配一个固定的服务器
upstream myserver{

     ip_hash;
     server 192.168.17.129:8000;
     server 192.168.17.129:8001;
 }

URL hash
upstream myserver{

     server 192.168.17.129:8000;
     server 192.168.17.129:8001;
     hash $request_uri;  
     hash_method crc32; #hash 方法
 }

fair 根据响应时间来访问,哪个机器响应快就哪个
upstream myserver{

     server 192.168.17.129:8000;
     server 192.168.17.129:8001;
     fair;
 }

server模块的配置:

server{

    listen 80;
    server_name 192.168.17.129;
    location /{
        proxy_pass http://myserver; #前面upstream的名字
    }
}

3.动静分离
动态页面和静态页面分开部署,把动态页面的服务器性能弄的好一些,静态页面的服务器可以差一些,并且可以设置缓存。

二、基本命令
nginx 启动
nginx -v版本号
nginx -s stop 关闭
nginx -s reload 重新加载配置文件
三、配置文件
1、root和alias的区别
root:【指定机器根路径】
location /appImg/{

root /home/nginx;

}
这个location相当于访问服务器上的文件路径: /home/nginx/appImg/ 。

alias:【别名】
location /appImg/{

alias /home/nginx/;

}
这个alias代表了/appimg/ = /home/nginx/

3、worker_connections 和 worker_processes
设置并发数和连接数

连接数:

静态资源:2

请求静态资源1
返回静态资源2
client
nginx
反向代理:4

请求动态资源1
请求后端服务2
返回数据3
返回动态资源4
client
nginx
server
四、基本原理
master管理者:管理监控
worker工作者 :连接
每个worker都维护一个线程处理请求

worker_processes设置的数量和cpu核数最好相等,每个worker都是一个独立的进程

3个worker

root 20789 1 0 10:19 ? 00:00:00 nginx: master process nginx
nobody 22281 20789 0 10:47 ? 00:00:00 nginx: worker process
nobody 22282 20789 0 10:47 ? 00:00:00 nginx: worker process
nobody 22283 20789 0 10:47 ? 00:00:00 nginx: worker process
root 22319 20514 0 10:48 pts/1 00:00:00 grep --color=auto nginx

1个worker

root 20789 1 0 10:19 ? 00:00:00 nginx: master process nginx
nobody 22376 20789 0 10:49 ? 00:00:00 nginx: worker process
root 22378 20514 0 10:49 pts/1 00:00:00 grep --color=auto nginx

Linux
master
worker1
worker2
worker3
client1
client2
client3
client4
client5
client6
master-worker架构的优点
支持热部署reload,一个worker修改config,其他继续处理请求
进程独立,每个worker都是一个进程,不会造成服务中断
原文地址https://www.cnblogs.com/biningooginind/p/12625321.html

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
2月前
|
缓存 JavaScript 安全
深度解析Nginx正向代理的原理与实现
深度解析Nginx正向代理的原理与实现
|
8月前
|
应用服务中间件 Linux PHP
深入理解Nginx工作原理及优化技巧(上)
深入理解Nginx工作原理及优化技巧
深入理解Nginx工作原理及优化技巧(上)
|
11月前
|
缓存 前端开发 应用服务中间件
|
2月前
|
安全 网络协议 应用服务中间件
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
|
2月前
|
应用服务中间件 nginx
Nginx的referer参数的用法和原理
总结:referer参数可以用于Nginx配置,以限制或允许特定来源网站的访问,提高安全性或控制流量。它通过valid_referers指令来定义合法的Referer来源,并根据配置对请求进行处理。但需要注意,Referer字段内容可以被伪造,因此不应作为唯一的安全措施。
87 0
|
2月前
|
安全 应用服务中间件 网络安全
SSL原理、生成SSL密钥对、Nginx配置SSL
现在,你的Nginx虚拟主机应该已经配置了SSL,可以通过HTTPS安全访问。确保在生产环境中使用有效的SSL证书来保护通信的安全性。
62 0
|
2月前
|
缓存 负载均衡 应用服务中间件
深入理解 Nginx:原理和基础介绍
深入理解 Nginx:原理和基础介绍
550 2
|
2月前
|
编解码 运维 搜索推荐
LNMP详解(十一)——Nginx URL重写原理
LNMP详解(十一)——Nginx URL重写原理
26 0
|
2月前
|
负载均衡 应用服务中间件 Linux
深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」
深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」
109 0
|
2月前
|
缓存 负载均衡 应用服务中间件
百度搜索:蓝易云【LVS/Nginx/HAProxy原理及应用场景介绍】
总结:LVS、Nginx和HAProxy都是常见的负载均衡技术和工具。它们能够分担系统负载、提高可用性和性能,并在高负载环境下实现请求分发和流量管理。选择适合自己需求的负载均衡方案,可以根据具体应用场景和要求进行评估和决策。
50 4