写在前面:

  最近一直在学习,这几天了解了下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. SpringBoot工程目录配置

    Spring Boot建议的目录结果如下: root package结构:com.example.myproject   com +- example +- myproject +- Applicat ...

  2. Python脚本 - 常用单位转换

    测试系统为:Centos 6.7 Python版本为: 3.6.4 脚本功能:常用单位的转换,这里用内存来模拟 import pstuil def bytes2human(n): symbols = ...

  3. bzoj 1179 Atm

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1179 题解: 一道比较综合的图论题 直接讲正解: 如果这个图G中存在某个强连通分量,那么这 ...

  4. C基础入门 - 第一章 - C语言绪言

    第1章 C语言绪言 1.1 C语言概述 1.1.1 C语言世界 1.1.2 C语言学习, 能当饭吃吗 1.2 开发环境构建 1.2.1 visual studio安装使用 1.2.2 visual s ...

  5. css3属性书写的时候带的一些前缀的意思

    使用css3属性时,大部分都要带这些识别前缀,早期点的浏览器才能识别.现在最新版的浏览器基本都支持css3 基本都不用写前缀 ,写前缀是为了向前兼容老版本的浏览器而已. -ms-transform: ...

  6. python_day5学习笔记

    一.正则表达式 字符: \d 匹配任何十进制数:相当于类[0-9] \D 匹配任何非数字字符:相当于类[^0-9] \s  匹配任何空白字符:相当于类[  \t\n\r\f\v] \S  匹配任何非空 ...

  7. python标准库之【socket】

    socket通常也称作”套接字“.网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.socket 是网络连接端点.例如当你的Web浏览器请求www.fishc. ...

  8. 稍微谈一下 javascript 开发中的 MVC 模式

    随着前台开发日益受到重视,客户端代码比重日益增加的今天,如何在javascript开发里应用MVC模式,这个问题似乎会一直被提到,所以偶在这里粗略的谈一下自己的看法吧. MVC模式的基本理念,是通过把 ...

  9. 在k8s中安装flannel的故障解决: Failed to create SubnetManager: error retrieving pod spec for : the server does not allow access to the requested resource

    花了一个上午来追踪问题,k8s都反复新建了十多次,docker都重启了几次.(一次显示不有获取磁盘空间,重启docker,清空存储解决) 在用kubeadm安装容器化的几个组件时,flannel组件死 ...

  10. 使用JavaScript实现长方形、直角三角形、平行四边形、等腰三角形、倒三角、数字三角形

    [循环嵌套的规律]    1.外层循环控制行数,内层循环控制每行中元素的个数. [图形题思路]    1.确定图形有几行,行数即为外层循环次数:    2.确定每行中有几种元素组成,有几种元素表示有几 ...