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:稳定.对动态请求处理强,但同时高并发时性能较弱,耗费资源多 ...
随机推荐
- Java工作流引擎结合可视化表单开发,10分钟完成一个业务流程发布
回忆以前工作流引擎的应用,感觉历历在目啊!当初公司接了一个项目关于政府单位公文流转的管理系统,一开始客户跟我画了十多张业务流程图.话说这十多张业务流程图,涉及的业务范围还蛮多,像用审批授权,开通流程, ...
- 当微信小程序遇上filter~
在微信小程序的开发过程中,当你想要实现不同页面间的数据绑定,却为此抓耳饶腮时,不妨让微信小程序与filter 来一场完美的邂逅,相信会给你带来别样的惊喜~ 前段时间被安利了一个很实用的公众号-前端早读 ...
- javascript功能插件大集合 前端常用插件 js常用插件
转载来源:https://github.com/jobbole/aw... 包管理器管理着 javascript 库,并提供读取和打包它们的工具.•npm – npm 是 javascript 的包管 ...
- 有史以来最全的CMD命令
说在前面的话: 本篇是博主通过网上查找整理而成的,且都是亲测可以的一些cmd命令,可以说是很齐全了,当然,如果有不可以运行的代码,欢迎大家留言指出,我会不断完善的,谢谢. CMD作用: 掌握一些基本的 ...
- tfgan折腾笔记(三):核心函数详述——gan_loss族
gan_loss族的函数有: 1.gan_loss: 函数原型: def gan_loss( # GANModel. model, # Loss functions. generator_loss_f ...
- 1..Net平台的背景
一:.Net平台的背景 1. 2010之前 的PC时代的时候,互联网规模还不是特别庞大,以静态编译式语言为代表的JAVA和.Net没什么太大区别,.net以windows自居. 2. 2010年以JA ...
- 关于adsl vps 拨号ip服务器
我这几天写了一遍在xp上的文章,但是因为xp上貌似只能使用squid2.6版本的,tinyproxy也不能用,而且怎么弄不出去vps端的端口出来 https://www.cnblogs.com/zen ...
- 项目团队测试改进&产品测试方法的思考和改进
七月份了,2019年已过去一半: 后半年,我们要以什么样的成果来对生命唱赞歌? 我目前负责公司一个小产品线的测试,和一个大产品线的项目测试. 产品测试,我才加入3周: 经过这段时间断断续续的磨合,我对 ...
- 探究Spring Boot中的接收参数问题与客户端发送请求传递数据
结合此篇参考Spring框架学习笔记(9)--API接口设计相关知识及具体编码实现 在使用Spring Boot进行接收参数的时候,发现了许多问题,之前一直都很忙,最近才稍微有空研究一下此问题. 网上 ...
- 在云服务搭建jupyter环境
一.环境配置 centeos7 python3 二.安装jupyter notebook 1.安装jupyter 安装Jupyter Notebook 通过pip安装Jupyter Notebook ...