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. ...
随机推荐
- hive 用户行为分析(活跃。启动,留存,回访,新增)的一些经典sql
很简单的sql 用户分析语句 :只要自定义简单的udf函数 获取统计时间createdatms字段的使用的日历类 add方法 和simpledateformat 将long类型的 定义多个重载方法 获 ...
- 怎样从外网访问内网Django?
本地安装了一个Django,只能在局域网内访问,怎样从外网也能访问到本地的Django呢?本文将介绍具体的实现步骤. 准备工作 安装并启动Django 默认安装的Django端口是8000. 实现步骤 ...
- Python进阶【第八篇】迭代器和生成器
一.何谓迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration).迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代 ...
- Linux的远程连接工具:SSH的安装
在Linux执行命令很不方便,另外我们需要将自己计算机中的文件上传到Linux中,因此使用远程连接工具还是比较方便的. SSH安装 SSH的使用 打开安装好的软件:SSH Secure File Tr ...
- 合并ts到mp4
这个比较好用. copy /b d:\xxx\download_ts\* d:\xxx\download_ts\new.mp4 用python ffmpeg也可以,不过我合出来有卡顿或者掉声问题, ...
- django模板-if标签和for标签
在django中,标签写在{% 标签 %}中 if else标签 ①通过if进行条件判断 views.py from django.shortcuts import render def inde ...
- Netty1
基于Netty4的HttpServer和HttpClient的简单实现 Netty的主页:http://netty.io/index.html 使用的Netty的版本:netty-4.0.23.Fin ...
- Python3+Dlib实现简单人脸识别案例
Python3+Dlib实现简单人脸识别案例 写在前边 很早很早之前,当我还是一个傻了吧唧的专科生的时候,我就听说过人脸识别,听说过算法,听说过人工智能,并且也出生牛犊不怕虎般的学习过TensorFl ...
- python简说(十三)递归
#递归就是函数自己调用自己count = 0# def abc():# pass# abc()最多循环999次
- Codeforces 839B Game of the Rows - 贪心
Daenerys Targaryen has an army consisting of k groups of soldiers, the i-th group contains ai soldie ...