写在前面:

  最近一直在学习,这几天了解了下Nginx,虽然看了些资料,斌哥也讲解了一下,但是貌似缺少了实践,就显得对其认识的不那么深刻。这里也还是简单的记录下把。

  

  什么是Nginx?

  Nginx (engine x) 是一款轻量级的Web服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,按照个人理解就是用来转发请求的,是个中间商。

  什么是反向代理?

  Nginx既然是反向代理服务器,那什么是反向代理?要知道什么是反向,就要先明白是什么正向?

  正向代理:客户端非常明确想要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,并不知道来自哪个客户端。比如我们在查资料的时候,需要访问国外的网站,这个时候会发现通过我们的浏览器是访问不了的,这个时候就需要使用一个能访问国外网站的代理服务器来进行访问。我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将数据返回给我们。

  反向代理:客户端的请求来源是明确的,但是请求具体由哪个服务器去处理就不明确了。比如现在一个网站有超大量的访问,如果只是单单的一个服务器,早就宕机了,所以,使用反向代理服务器,就可以按照一定的规则将请求分发到不同的服务器进行处理。

  两者之间的区别:

  

  位置不同:正向代理,架设在客户机与主机之间;反向代理,架设在服务器端。

  代理对象不同:正向代理,代理客户端,服务端不知道实际发起请求的客户端;反向代理,代理服务端,客户端不知道实际提供服务的服务端。

  用途不同:正向代理,为在防火墙内的局域网客户端提供访问Internet的途径;反向代理,将防火墙后面的服务器提供给Internet访问。

  安全性不同:正向代理运行客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务;反向代理对外都是透明的,访问者并不知道自己访问的是哪一个代理。

  这些都是摘抄来自斌哥做的ppt中的,可能要自己总结,就写不出来了,哈哈哈

  什么是负载均衡?

  Nginx反向代理服务器就收到的请求数量,即负载量。请求数据按照一定规则进行分发到不同的服务器处理的规则,叫做均衡规则。将接收的请求按照规则分发的过程,称为负载均衡。

  如何使用?

  下面简单来使用下Nginx

  首先是下载http://nginx.org/en/download.html,下载windows-1.15.5的这个

  下载之后进行解压,然后双击nginx.exe进行启动。这个时候窗口会一闪而过,但是并不是启动失败了。打开你的任务管理器,查看进程,会发现有两个nginx.exe,则启动成功。两个进程一个是守护进程,一个工作进程。

  接着打开浏览器,输入http://localhost,回车,会看到如下页面

  相关命令:

  启动nginx: start nginx

  重启nginx:nginx -s reload

  关闭nginx: nginx -s stop

  查看配置文件是否有问题:nginx -t

  下面简单的配置下,看nginx是如何分发的。

  我们打开nginx的配置文件nginx.conf:

upstream localhost{  #配置要分发的服务器
server localhost:8000;
server localhost:8080;
} server {
listen 80;
server_name localhost; location / { #配置匹配的路径,/表示所有的请求路径都到这里
proxy_pass http://localhost; #proxy_pass表示代理路径,即转发的路径,与上面设置分发的服务器的名字相同 }

  将配置文件更改为这个样子,其他地方的配置,这里省略了,只是简单的配置了下。

  下面,我们启动两个同名的web项目,都为spas,并设置两个项目启动的端口不一致,一个为8000,一个为8080,与nginx.conf配置文件中设置的分发的服务器的端口一致。然后打开浏览器,我们输入http://localhost/spas,回车,发现页面是访问http://localhost:8000/spas项目的页面,再多次刷新回车,发现显示的页面又是访问http://localhost:8080/spas项目的页面。

  到这里就达到了我们想要的效果了,因为我们配置分发了两个服务器,所以按照匹配路径,多次刷新,会出现不同的页面。

  好啦,对于Nginx也有了简单的了解与认识了,之后在项目中如果有更好的实践再去好好学习研究吧~~~

 

参考资料:(好几个都是斌哥ppt上整理的参考链接,看的时候也没认真仔细去看,总觉得这些对于我这个阶段来说还是有点高深的haha~)

  https://blog.csdn.net/tsummerb/article/details/79248015------Nginx详解(正向代理、反向代理、负载均衡原理)

  https://www.cnblogs.com/Lonelydancer/p/6219567.html-------浅谈Nginx负载均衡和F5的区别

  https://blog.csdn.net/ZHBR_F1/article/details/72667451-------Nginx的配置和使用

  https://www.cnblogs.com/qdhxhz/p/8910174.html------nginx入门教程

  https://www.cnblogs.com/ChoviWu/p/9004725.html------nginx配置负载均衡

Nginx简单认识的更多相关文章

  1. Nginx 简单的负载均衡配置示例(转载)

    原文地址:Nginx 简单的负载均衡配置示例(转载) 作者:水中游于 www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP. 用户访问http://www ...

  2. nginx简单反向代理和负载均衡(ubuntu)

    nginx简单反向代理与负载均衡 环境:三台ubuntu 12.04.5 虚拟机    均装有nginx 1.1.19 以下u1(192.168.240.129) ,u2(192.168.240.13 ...

  3. nginx简单双机热备:backup参数的使用

    nginx简单双机热备:backup参数的使用 nginx简单双机热备:backup参数的使用

  4. Nginx简单操作

    Nginx简单操作 平滑重启:读取配置文件,正确后启动新nginx,关闭旧服务进程 # kill HUP nginx.pid # /usr/sbin/nginx -c /etc/nginx/nginx ...

  5. Nginx简单总结

    NGINX简单总结 特点总结 nginx有一个master进程和多个worker进程,master进程是主要用来管理worker进程,管理的内容包括以下内容:接收来自外界的信号,向各个woker进程发 ...

  6. 负载均衡介绍及Nginx简单实现

    负载均衡介绍及Nginx简单实现 负载均衡 负载均衡介绍及Nginx简单实现 1. 介绍 2. 常用的开源软件 2.1 LVS 优点 缺点 2.2 Nginx 优点 缺点 3. 常用的开源反向代理软件 ...

  7. 一篇文章带你了解轻量级Web服务器——Nginx简单入门

    一篇文章带你了解轻量级Web服务器--Nginx简单入门 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器 在本篇中我们会简单介绍Nginx的特点,安装,相关指令使用以及配置信 ...

  8. Nginx简单实现网站的负载均衡

    在大型网站搭建时,都会考虑如果用户量每日不断增加,大量的并发访问,会不会给网站.数据库带来崩盘的灾难.今天我们就讨论一下,现实中如何解决这些问题的一套最为容易实现的方案. 控制并发,大家都会首先考虑的 ...

  9. 使用nginx简单实现负载均衡

    只是简单使用nginx玩玩而已,知道能这么用,但是在实际项目中并没有实践过,在项目不大的时候用不到,但是对于理解负载均衡来说还是可以的. 利用虚拟机安装了三个centOS系统,然后顺便装了环境. 这里 ...

  10. Nginx 简单记录

    Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. ...

随机推荐

  1. ThinkPHP3.1.3 整合 UEditor百度编辑器 图片上传

    第一步.前端模板实例化百度编辑器 <js file='__ROOT__/Data/UEditor/ueditor.config.js' /> <js file='__ROOT__/D ...

  2. 浅谈linux的死锁检测 【转】

    转自:http://www.blog.chinaunix.net/uid-25942458-id-3823545.html 死锁:就是多个进程(≥2)因为争夺资源而相互等待的一种现象,若无外力推动,将 ...

  3. nginx源码分析--使用GDB调试(strace、 pstack )

    nginx源码分析--使用GDB调试(strace.  pstack ) http://blog.csdn.net/scdxmoe/article/details/49070577

  4. Sql中把datetime转换成字符串(CONVERT)(转)

    一.回顾一下CONVERT()的语法格式: CONVERT (<data_ type>[ length ], <expression> [, style]) 二.这里注重说明一 ...

  5. [New learn]讲解Objective-c的block知识

    1.简介 OC的Block感觉就是C中饿函数指针,提供回调功能,但是OC中的block比C的函数指针要更加强大,甚至可以访问本地变量和修改本地变量. block在oc中是一个对象,它可以像一般的对象那 ...

  6. 小米路由器3-R3 刷固件

    1.刷机前的路由器升级准备 1-1.首先进入路由器原声后台:miwifi.com 1-2.在右上角,点击系统升级.在系统版本下边选择手动升级,选择资源包里的:“miwifi_r3_all_55ac7_ ...

  7. JavaScript备忘录-闭包(2)

    闭包的定义 闭包是指函数有自由独立的变量.换句话说,定义在闭包中的函数可以“记忆”它创建时候的环境. 闭包的浅显理解 function makeFunc() { var name = "Mo ...

  8. 前端读者 | 嗨,你知道this吗

    本文来自 @position_柚子,地址:https://juejin.im/post/5995c7a76fb9a0247a60c407 在平时的代码中,相信大家经常用到 this,可是你真的明白此 ...

  9. shell日志重定向到null

    用输出重定向符号> 即可,格式如下:shell命令 >/dev/null 若要将标准错误输出也一并重定向,如下:shell命令 >/dev/null 2>&1这样就不管 ...

  10. mangeto 清除分类 产品 客户

    分类: SET FOREIGN_KEY_CHECKS=0; TRUNCATE TABLE `catalog_category_entity`; TRUNCATE TABLE `catalog_cate ...