nginx的使用教程
一、基本概念
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的使用教程的更多相关文章
- windows7配置Nginx+php+mysql教程
windows7配置Nginx+php+mysql教程 最近在学习php,想把自己的学习经历记录下来,并写一些经验,仅供参考交流.此文适合那些刚刚接触php,想要学习并想要自己搭建Nginx+php+ ...
- Linux下安装Nginx详细图解教程
什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...
- Nginx 入门学习教程
昨天听一个前同事说他们公司老大让他去研究下关于Nginx 方面的知识,我想了下Nginx 在如今的开发技术栈中应该会很大可能会用到,所以写篇博文记录总结下官网学习教程吧. 1. 什么是Nginx? 我 ...
- Linux下安装Nginx详细图解教程 (nginx-1.2.6)
什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- 在Linux和Windows系统上安装Nginx服务器的教程
在Linux和Windows系统上安装Nginx服务器的教程 1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RP ...
- CENTOS --5分钟搞定Nginx安装的教程
1. 安装gcc(centos 7之后一般已自带,可以在第6步失败后再安装) yum install gcc gcc-c++ 2. 安装pcre yum install -y pcre pcre-de ...
- Linux下安装Nginx详细图解教程(一)
什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...
- [译]Nginx入门引导教程
本文为[Beginner's Guide]译文,原文地址:http://nginx.org/en/docs/beginners_guide.html Guide 本教程基础的介绍了 nginx,以及能 ...
- Nginx 极简教程(快速入门)
作者:dunwu github.com/dunwu/nginx-tutorial 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4. ...
随机推荐
- 大数据自学4-Hue集成环境中各模组说明
前面已经学习了如何将数据从关系型数据库导入到Hive/HDFS,并且在Windows客户端查询导入的数据,接下来继续学习CDH,知识点: 1.Hue环境中DB Query如何使用,DB Query这个 ...
- Android平台MediaCodec避坑指北
https://www.jianshu.com/p/5d62a3cf0741 最近使用MediaCodec做编解码H264,写一点东西以免自己再次掉坑. 先说一下具体环境,使用的是,Windows10 ...
- Docker学习笔记之通过 Dockerfile 创建镜像
0x00 概述 由于 Docker 镜像的结构优势,使它的占用空间远小于普通的虚拟机镜像,而这就大幅减少了 Docker 镜像在网络或者其他介质中转移所花费的时间,进而提高了我们进行迁移部署的效率.不 ...
- php 腾讯云 对象存储V5版本 获取返回的上传文件的链接方法
腾讯云 对象存储V5版本 文档地址:https://github.com/tencentyun/cos-php-sdk-v5 调用简单文件上传方法: 返回数据如下 Array ( [data:prot ...
- DBeaver连接Oracle11g数据库
DBeaver连接Oracle11g数据库 一.准备 (1)dbeaver管理软件 (2)远程连接数据库地址.用户名秘密等 (3)Oracle驱动:ojdbc6.jar工具包 下载地址:https:/ ...
- gcc对c++标准的支持
GCC 4.8.1完全支持c++11核心部分,对应的glibc为2.17 gcc 4.9支持c++11正则表达式,卧槽...4.8.5会报terminate called after throwing ...
- Java 中断异常的正确处理方式
处理InterruptedException 这个故事可能很熟悉:你正在写一个测试程序,你需要暂停某个线程一段时间,所以你调用 Thread.sleep().然后编译器或 IDE 就会抱怨说 Inte ...
- Linux普通用户不能使用TAB键、上下键
出发点 今天安装使用kail linux的时候发现tab键命令不能补全, 结合ubuntu, 因默认ubuntu创建的普通帐号,默认shell为/bin/sh,而这不支持tab等键的,所以将「指定用户 ...
- 20145221高其_MSF基础应用
20145221高其_MSF基础应用 目录 概述 MS08-067漏洞攻击 MS11-050漏洞攻击 MS10-087漏洞攻击 辅助模块 概述 MSF的六种模块 Exploit模块 是利用发现的安全漏 ...
- 安装搭建Python2.* 和3.* 环境详细步骤
Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上. 安装Python 首先进入Python官方网站,将Python下载下来. win7安装python 在官网 ...