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. ...
随机推荐
- js 简易年历
html部分 <div class='calendar'> <div class="tabBox" id='nav' > <ul> <li ...
- 大数据自学4-Hue集成环境中各模组说明
前面已经学习了如何将数据从关系型数据库导入到Hive/HDFS,并且在Windows客户端查询导入的数据,接下来继续学习CDH,知识点: 1.Hue环境中DB Query如何使用,DB Query这个 ...
- Opencv改变图像亮度和对比度以及优化
https://blog.csdn.net/u013139259/article/details/52145377 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- OL6.3 设置本地yum源
仅在 Oracle Linux Server release 6.3 上测试 PS:Oracle Linux Server release 6.3仅用于测试,不能用于商业用途 [root@oracle ...
- P3302 [SDOI2013]森林(主席树+启发式合并)
P3302 [SDOI2013]森林 主席树+启发式合并 (我以前的主席树板子是错的.......坑了我老久TAT) 第k小问题显然是主席树. 我们对每个点维护一棵包含其子树所有节点的主席树 询问(x ...
- direct加载之ora-39782一例
近日,我们有个环境在数据加载到oracle的时候出现ora-39782异常,版本是11.2.经google,几乎没有什么先例,因为我们是使用oci直接写的,可见现在还使用oci接口并不多,也或者我们的 ...
- 01:tcp/ip基本知识
1.1 tcp常识 1.网络七层 2.TCP三层握手 ####1.第一次握手 # 建立连接时,客户端发送SYN包到服务器,其中包含客户端的初始序号seq=x,并进入SYN_SENT状态,等待服务器确认 ...
- 20145208 蔡野 《网络对抗》Exp6 信息搜集与漏洞扫描
20145208 蔡野 <网络对抗>Exp6 信息搜集与漏洞扫描 本实践的目标是掌握信息搜集的最基础技能.具体有(1)各种搜索技巧的应用(2)DNS IP注册信息的查询 (3)基本的扫描技 ...
- iOS App架构相关
一) 我们可以定义一个好的架构应该具备的特点: 任务均衡分摊给具有清晰角色的实体 可测试性通常都来自与上一条(对于一个合适的架构是非常容易) 易用性和低成本维护 二) 传统的MVC模式.:三个实体间相 ...
- android 6 中init.rc的生成过程【转】
本文转载自:https://blog.csdn.net/quhj/article/details/51819638 android 系统开机是会有一个初始化过程 init ,整个初始化过程是根据配置脚 ...