写在前面:

  最近一直在学习,这几天了解了下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. linux进程管理-定时定期执行任务

     0.计划任务的命令: at 安排作业在某一时刻执行 batch 安排作业在系统负载不重时执行 crontab 安排周期性运行的作业 1.at命令用法: 安排命令或者多个命令在指定的时间运行一次 语法 ...

  2. device tree property ---- interrupt-names

    device tree source 的 interrupt-names property 會對應到 pltform_get_irq_byname() 的第二個參數. .dtsi or .dts in ...

  3. jmeter===JMeter 中Random 随机函数的使用(转)

    原文:http://blog.csdn.net/dreamtl/article/details/68952272 场景:在做接口测试时,比如说要求用户的手机号码不允许重复,那此时可以通过Random ...

  4. 64_d1

    DSDP-5.8-15.fc26.i686.rpm 13-Feb-2017 22:06 658926 DSDP-5.8-15.fc26.x86_64.rpm 13-Feb-2017 22:09 653 ...

  5. OWASP SSL 高级审查工具

    http://www.linuxidc.com/Linux/2016-03/129164.htm InfoWorld 在部署.运营和保障网络安全领域精选出了年度开源工具获奖者. 最佳开源网络和安全软件 ...

  6. 计数排序的实现--适用于元素均较小的seq

    今天无聊就打算把所有的排序算法都看一遍... 计数排序的时间复杂度是O(n),在算法导论中,用决策树模型中论证了,比较排序的情况为nlogn的复杂度.而计数排序的时间复杂度小于他的原因就是它不需要进行 ...

  7. C++ STL结构总结

    1. 什么是STL 它的全名是stand template library, 标准模板库,主要是将一些结构和算法写成模板,以便能够实现对任意类型的对象都可以操作,而不需要再一次去写一些算法及结构. 它 ...

  8. [New Learn] RunLoop学习-官方译文

    Run Loops Run loops是线程的一个基本构成部分.一个run loop 是一个事件处理循环,你可以使用它来处理线程收到的事件.设计run loop的目的就是可以使得线程在收到事件的时候处 ...

  9. .NET直接编译成本地代码:.NET Native架构简介

    原文地址:http://blog.csdn.net/atfield/article/details/23449089

  10. [ Linux ] 服务器更换硬盘

    服务器型号:ThinkServer RD650操作系统:Red Hat 6.7业务用途:生产环境监控机 接到机房邮件通知,告知某台服务器硬盘告警,并提供了设备SN号和机柜位置.根据提供想相关信息找到对 ...