nginx使用手册+基本原理+优缺点
一、nginx优点
1.反向代理
1、正向代理: 客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
client--req-->ClientProxy
ClientProxy--resp-->client
ClientProxy--req-->server
server--resp-->ClientProxy
server不知道client是谁
2、反向代理:客户端请求服务器,中间也是经过一个代理服务器,客户端访问代理服务器就好像访问目标服务器一样。同时代理服务器将请求转发到后端具体服务器。
client--req-->ServerProxy
ServerProxy--resp-->client
ServerProxy--req-->Server01
Server01--resp-->ServerProxy
ServerProxy--req-->Server02
Server02--resp-->ServerProxy
ServerProxy--req-->Server03
Server03--resp-->ServerProxy
客户端不知道自己具体访问的服务器是谁
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
client--请求静态资源1-->nginx
nginx--返回静态资源2-->client
反向代理:4
client--请求动态资源1-->nginx
nginx--请求后端服务2-->server
server--返回数据3-->nginx
nginx--返回动态资源4-->client
四、基本原理
- 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
master-->worker1
master-->worker2
master-->worker3
worker1-->client1
worker1-->client2
worker2-->client3
worker2-->client4
worker3-->client5
worker3-->client6
master-worker架构的优点
- 支持热部署reload,一个worker修改config,其他继续处理请求
- 进程独立,每个worker都是一个进程,不会造成服务中断
nginx使用手册+基本原理+优缺点的更多相关文章
- Nginx安装手册
前提是搭建yum安装环境,见前面的教程资料 Nginx安装手册1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. gcc 安装ngin ...
- 负载均衡器技术Nginx和F5的优缺点对比
负载均衡器技术Nginx和F5的优缺点对比 博客分类: 应用服务 F5nginx 对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的 ...
- 转!!负载均衡器技术Nginx和F5的优缺点对比
对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器. 目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡 ...
- 转载:负载均衡器技术Nginx和F5的优缺点对比
https://blog.csdn.net/zxc456733/article/details/78861100 nginx(一) nginx详解 nginx是一个被广泛使用的集群架构组件,我们有必要 ...
- 浅谈tomcat 、apache、 nginx的区别及优缺点
(~~排版垃圾~~,此文纪念自己18年6月所作为,如有不适合之处,请告知.) 本文主要说明tomcat .apache. nginx的定义.区别及优缺点 一. 定义: 1. Apache Apache ...
- Nginx中文手册
Nginx 常见应用技术指南[Nginx Tips] 第二版 作者:NetSeek http://www.linuxtone.org (IT运维专家网|集群架构|性能调优) 目 录 一. Nginx ...
- Nginx使用手册目录
Nginx学习总结[第一篇]: Nginx简介 Nginx第二篇:Nginx部署及使用 Nginx第三篇:Nginx日志处理 Nginx第四篇:Nginx优化 Nginx第五篇:Nginx日常管理
- nginx入门手册(一)
1.nginx进程: nginx会启动多个进程: 一个主进程Master. 几个工作进程worker. 缓存加载器进程 缓存管理器进程 master主要工作: 1. 读取并验正配置信息: 2. 创建. ...
- nginx和apache的优缺点比较
简单的说apache httpd和nginx都是web服务器,但两者适应的场景不同,也就是两者专注于解决不同的问题.apache httpd:稳定.对动态请求处理强,但同时高并发时性能较弱,耗费资源多 ...
随机推荐
- 7——PHP选择结构
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 初学Qt——程序打包(环境vs2012+qt5.1.0)
说来可笑,网上那么多的教程,偏偏结尾的时候就没有一个能详细的讲下关于程序的发布.开发Qt是这样,刚开始做web也是这样,因为是自学的,所以都没人可以教下,结果到了项目完成的最后总是要花费成吨的时间去查 ...
- 从0开发3D引擎(十一):使用领域驱动设计,从最小3D程序中提炼引擎(第二部分)
目录 上一篇博文 本文流程 回顾上文 解释基本的操作 开始实现 准备 建立代码的文件夹结构,约定模块文件的命名规则 模块文件的命名原则 一级和二级文件夹 api_layer的文件夹 applicati ...
- 使用timeit测试Python函数的性能
timeit是Python标准库内置的小工具,可以快速测试小段代码的性能. 认识timeit timeit 函数: timeit.timeit(stmt, setup,timer, number) 参 ...
- czC#01
1. .net简介: .net分为.net平台及.net Framework 2..NET作用 2.转义与@ 3.类型转换 1) 隐式转换 2)显式类型转换 (待转换的目标类型)原始值
- JS基础入门篇(三十五)—面向对象(二)
如果没有面向对象这种抽象概念的小伙伴,建议先看一下我写的JS基础入门篇(三十四)-面向对象(一)
- 【CSS3】自定义设置可编辑元素闪烁光标的颜色
前言 因为业务需求, 要求我们的input框内的文本与悬浮的光标颜色不同, 这样的问题肯定在书本上很难找到解决办法, 需要通过平时的基础积累和经验. 解决方案 使用 ::first-line 伪元素 ...
- vue相关坑
1:vue 动态加载图片路径报错解决方法,循环遍历图片不显示图片 解决方法:https://www.cnblogs.com/qingcui277/p/8930507.html
- 纯 css column 布局实现瀑布流效果
原理 CSS property: columns.CSS属性 columns 用来设置元素的列宽和列数. 兼容性 chrome 50+ IE 10+ android browser 2.1+ with ...
- mysql 多个字段重复记录查询
select * from productstockquantity t where () ORDER BY t.CombinationI