一、基本概念

1.1 正向代理和反向代理

 (参考文档:https://www.cnblogs.com/hafiz/p/7233306.html

 假设我们给定客户端A、代理服务器B、以及最终服务器C

 正向代理:代理服务器B来代替客户端A来访问最终服务器C并将最终结果转发给客户端A,站在客户端A的角度上,代理服务器代理的是客户端A,

      这个过程是正向的,所以叫正向代理。(正向代理需要客户端A设置代理服务器的ip和提供代理服务的端口)

 反向代理:客户端A直接访问代理服务器B,由代理服务器B来决定将请求转发到哪个最终服务器进行真正处理,并将最终服务器的处理结果转发给客户端A,

      也就是代理服务器代理的是最终服务器C,站在客户端A的角度上,这个过程是反向的,所以叫反向代理。(反向代理不需要客户端A进行任何设置)。

         此处有一篇讲解很全面的文章:正向代理、反向代理详解

 负载均衡:负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。

      通过某种负载分担技术,将外部发送来的请求按照事先设定分配算法分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。

      均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。

主要用途

  • 反向代理
  • 负载均衡
  • 动静分离
  • 网页、图片缓存

1.2 nginx.conf配置文件

 nginx配置文件主要分为六个区域:

  • main(全局设置)
  • events(nginx工作模式)
  • http(http设置)
  • sever(主机设置)
  • location(URL匹配)
  • upstream(负载均衡服务器设置)

二、nginx配置详解

1. 安装nginx教程

环境:win10,nginx-1.15.0

nginx的下载地址:http://nginx.org/en/download.html

详解教程可参考:https://www.cnblogs.com/qfb620/p/5508468.html

下载解压后放到D盘,之后可以采用以下两种安装方式中的任意一种,效果一样。

(1)使用命令安装

  进入到nginx目录D:\nginx-1.15.0\nginx-1.15.0,使用快捷键shift+鼠标右键,之后选择在此处打开powerShell窗口,

输入命令“start nginx.exe ”进行nginx的安装(当然,此处可以直接进入到)。

(2)直接进入D:\nginx-1.15.0\nginx-1.15.0文件夹下,双击nginx.exe进行安装。

注意:此处经常会有nginx默认的80端口被占用,导致无法正常安装启动nginx(可以进入D:\nginx-1.15.0\nginx-1.15.0\logs\error.log查看错误的日志),此时需要修改默认端口。

打开D:\nginx-1.15.0\nginx-1.15.0\conf\nginx.conf,如图:

在浏览器地址栏输入:127.0.0.1:8032,会看到如下图所示的nginx欢迎界面:

(3)以下是几个nginx的常用命令(win10下,linux下的命令还没有研究,等以后用到了在补充):

启动:直接点击nginx目录下的nginx.exe    或者    cmd下输入start nginx命令

关闭: nginx -s stop    或者    nginx -s quit

      stop表示立即停止nginx,不保存相关信息

      quit表示正常退出nginx,并保存相关信息

重启: nginx -s reload,修改配置文件以后需要重先启动

注意:一个坑就话费了几个小时(小白的悲哀啊!)

  一直以为修改完nginx.conf后重先启动可以直接双击nginx.exe,今天在location模块中配置获取用户请求访问的真实服务器的时候,配置了以后一直不生效(

在chrome中始终没有配置的属性名称),一直以为是自己配置错了,以后一顿疯狂的百度研究,最后发现配置的没有问题。而是自己重新启动时有问题,因为我

一直认为nginx和Tomcat一样,重启的时候只有双击启动文件nginx.exe就可以了。实则不然,在nginx中,如果双击nginx.exe是开启了一个新的进程,只能通过命令

nginx -s reload来开启。

2. nginx集群Tomcat实现负载均衡 

说明:在修改好配置文件以后必须通过nginx -s reload命令重先启动nginx后才生效。

   这里采用ip_hash调度算法,使来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题。

nginx的使用教程的更多相关文章

  1. windows7配置Nginx+php+mysql教程

    windows7配置Nginx+php+mysql教程 最近在学习php,想把自己的学习经历记录下来,并写一些经验,仅供参考交流.此文适合那些刚刚接触php,想要学习并想要自己搭建Nginx+php+ ...

  2. Linux下安装Nginx详细图解教程

    什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...

  3. Nginx 入门学习教程

    昨天听一个前同事说他们公司老大让他去研究下关于Nginx 方面的知识,我想了下Nginx 在如今的开发技术栈中应该会很大可能会用到,所以写篇博文记录总结下官网学习教程吧. 1. 什么是Nginx? 我 ...

  4. Linux下安装Nginx详细图解教程 (nginx-1.2.6)

    什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...

  5. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  6. 在Linux和Windows系统上安装Nginx服务器的教程

    在Linux和Windows系统上安装Nginx服务器的教程  1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RP ...

  7. CENTOS --5分钟搞定Nginx安装的教程

    1. 安装gcc(centos 7之后一般已自带,可以在第6步失败后再安装) yum install gcc gcc-c++ 2. 安装pcre yum install -y pcre pcre-de ...

  8. Linux下安装Nginx详细图解教程(一)

    什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...

  9. [译]Nginx入门引导教程

    本文为[Beginner's Guide]译文,原文地址:http://nginx.org/en/docs/beginners_guide.html Guide 本教程基础的介绍了 nginx,以及能 ...

  10. Nginx 极简教程(快速入门)

    作者:dunwu github.com/dunwu/nginx-tutorial 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4.  ...

随机推荐

  1. docker local registry server gave HTTP response to HTTPS client

    server gave HTTP response to HTTPS client报错是在insecure_registry中加入了http前缀,如果本地registry不是https的 就不要加任何 ...

  2. webstorm's interpreter

    下载node.js 地址:http://nodejs.cn/ next——> Node interpreter: ……/……/node.exe

  3. Linux的远程连接工具:SSH的安装

    在Linux执行命令很不方便,另外我们需要将自己计算机中的文件上传到Linux中,因此使用远程连接工具还是比较方便的. SSH安装 SSH的使用 打开安装好的软件:SSH Secure File Tr ...

  4. innobackup stream 压缩备份,解压后的qp文件

    是用innobackup stream 压缩备份,解压后很多文件还是qp格式的压缩文件,需要再解压. 备份: [root@ ~]# /usr/bin/innobackupex --defaults-f ...

  5. ==和equals的区别。

    1.java中equals和==的区别 值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. 2.==操作比较的是两个变量的值是否相等,对于 ...

  6. oracle 12cR2 smart flash cache实测

    最近一直在处理新系统的性能优化问题,这两天特地测试了下oracle 11gR2开始引入的smart flash cache. 其介绍参考MOS文档,How To Size the Database S ...

  7. ATL、MFC、WTL CString 的今生前世(转载)

    转载:https://www.cnblogs.com/tekkaman/archive/2011/04/20/2022650.html 上文分析了ATL.MFC CString的设计和实现,我们不禁会 ...

  8. route 工具

    route工具 route工具主要用来查看或修改内核路由表 查看内核路由表 route [-nee] 参数说明: -n:不要使用协议或主机名称,直接使用 IP 或 port number:-ee:使用 ...

  9. 【第四十章】Spring Boot 自定义拦截器

    1.首先编写拦截器代码 package com.sarnath.interceptor; import javax.servlet.http.HttpServletRequest; import ja ...

  10. P2051 [AHOI2009]中国象棋(动态规划)

    思路 好像是一道挺水的计数的,不知道为什么会是紫题 显然每行和每列最多放两个 首先考虑状压,然后发现三进制状压可做,但是三进制太麻烦了,可以拆成两个二进制,一个表示该列是否是放了一个的,一个表示该列是 ...