windows 下 nginx 的反向代理学习整理
下载什么的就不说了,下载好了解压就能用,和 tomcat 差不多,下面说一些配置和操作什么的;
启动等命令:(命令行进入到 nginx 解压目录下)
start nginx 启动命令
nginx -s reload 重新加载配置文件
nginx -s stop 停止 nginx
nginx -s quit 退出 nginx, 会结束 nginx 进程
nginx -s reopen 重启
-v 啥的就不说了,基本上就这些命令。
nginx 最主要的还是配置文件, 存在于解压目录的 conf 目中中, 最主要的是 nginx.conf 文件,默认的的 nginx.conf( 去除注释 ) 文件如下
worker_processes 1;
#工作进程的数目,通常是 cpu 的核数或 2 倍
events {
worker_connections 1024;
#单个工作进程的最大连接数目,在配置允许的范围内尽量的大一些
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁 盘与网络IO处理 #速度,降低系统uptime。
server { # 配置虚拟机
listen 80; # 监听端口 80,浏览器默认的端口号就是 80
server_name localhost; # 监听的域名
location / { # 对 包含 / 的 uri ( 所有的 ) 进行代理
root E:/nignx # 指定虚拟机的根目录 类似 tomcat 的 webApp 目录下的 Root 目录 url 域名之后的路径会从此目录开始查找
index index.html index.htm index.jsp # 指定默认的页面 通常在 url 域名后没有跟路径时启用
}
error_page 500 502 503 504 /50x.html; # 指定失败的页面
location = /50x.html {
root html;
}
}
}
以上就是一个刚解压的 nginx 目录的配置文件的全部,下面来看看 如何通过配置文件实现一些 nginx 的功能;
1)反向代理
代 理:代理服务器架设在客户端和 服务器之间, 将客户端发出的请求经过处理后与网络中指定的地址进行交互;
反向代理:反向代理服务器架设在服务器端,将客户端发送过来的请求,经过处理后发送到内网不同的服务器去处理;
nginx 实现反向代理主要是通过 location 标签下的 proxy_pass 属性实现
server {
listen: 80;
server_name: localhost;
location / {
proxy_pass: http://127.0.0.1:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
2) 负载均衡
负载均衡就是对各服务器的负载进行动态的调整, 以尽量减少系统中各服务器负载不均衡的情况; ngnix 中负载均衡的实现主要是通过 upstream {} 来实现
upstream myservers {
ip_hash;
server 127.0.0.1:9090 weight = 2;
server 127.0.0.1:9191 weight = 3;
server 127.0.0.1:9292 down;
server 127.0.0.1:9393 backup;
}
# 服务器状态 共有 weight down backup max-fails
# weight 权重, 权重越大 ,负载越重
# down 表示此服务器不参与负载
# backup 其他所有非 backup 状态的服务器 down 或者忙的时候请求 backup 状态的机器, 此机器的负载一定最轻的;
# max-fails 最大失败次数 默认为 1 当超过最大 失败次数的时候, 会调用 proxy_next_upstream 模块定义的错误
# 负载均衡原则的其他配置方式 ip_hash fair url_hash
# ip_hash 根据请求的 ip 地址分配请求的服务器地址, 特定的 ip 访问特定的服务器
# fair 根据响应时间来分配, 响应时间短的分配得到的机会大
# url_hash 根据 url 的hash 结构来分配, 特定的 url 只访问对应的服务器
server {
listen: 80;
server_name: localhost;
location / {
proxy_pass http://myservers$request_uri;
# 设置被代理服务器的端口或套接字,以及URL
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上
}
}
进行如上设置之后,域名为 localhost 的请求会被代理 myservers 中定义的各个端口去,分配几率的大小根据 weight 进行分配,都忙的时候分配给 backup 服务器;
之上就是 nginx 主要的两大功能,下面再补充一些 nginx 配置方面的其他知识点:
1) location 语法
= 严格匹配,一旦匹配将停止查找,立即执行此条请求
~ 表示区分大小写匹配
~*表示不区分大小写匹配
!~表示区分大小写不匹配
!~*表示不区分大小写不匹配
^~表示匹配正则后停止匹配
2) proxy_pass url 生成规则 加入进入的是 http://127.0.0.1/proxy/1.html
1> location /proxy/ {
proxy_pass http://127.0.0.1/;
}
最终访问 http://127.0.0.1/1.html
2>location /proxy/ {
proxy_pass http://127.0.0.1;
}
最终访问 http://127.0.0.1/proxy/1.html
3>location /proxy/ {
proxy_pass http://127.0.0.1/see/;
}
最终访问 http://127.0.0.1/see/1.html
4>location /proxy/ {
proxy_pass http://127.0.0.1/see;
}
最终访问 http://127.0.0.1/see1.html
更多东西以后用到时补充~~~~~~~
转载于:https://www.cnblogs.com/hugystudy/p/8252462.html
windows 下 nginx 的反向代理学习整理相关推荐
- windows版 nginx配置反向代理实例教程 跳转tomcat和php网站
抄自 https://www.cnblogs.com/j-star/p/8785334.html 个人理解 nginx端口设置为80,简称n tomcat端口设置为其他,例如8080,简称t php网 ...
- windows 系统nginx做反向代理实例
背景:客户原系统win-server 已经安装有web服务占用端口80,使用的集成工具phpstudy实现. 现添加新项目,tomcat+jdk+mysql 最终实现web端访问两个域名显示两个网站. ...
- WAF学习之一——Nginx与反向代理
文章目录 反向代理 什么是反向代理 反向代理与正向代理 工作流程 优点 Nginx模块 模块划分 模块处理 nginx作为反向代理的使用 作内容服务器的替身 作为内容服务器的负载均衡器 实例 1)环境 ...
- Nginx配置反向代理,一篇搞定!
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/zxd1435513775/article/ details/102508463 一.引言 其他话 ...
- WEB请求处理二:Nginx请求反向代理
上一篇<WEB请求处理一:浏览器请求发起处理>,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建立TCP连接,发送HTTP请求.本文将讲述请求到达反向代理服务器的一个处理 ...
- WEB 请求处理二:Nginx 请求 反向代理
上一篇<WEB请求处理一:浏览器请求发起处理>,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建立TCP连接,发送HTTP请求.本文将讲述请求到达反向代理服务器的一个处理 ...
- Nginx高性能反向代理web服务器
基础 Nginx简介 背景介绍 Nginx("engine x")一个具有高性能的[HTTP]和[反向代理]的[WEB服务器],同时也是一个[POP3/SMTP/IMAP代理服务器 ...
- nginx笔记 安装nginx 配置 反向代理 多虚拟主机
1,检测linux上是否 通过yum安装了nginx rpm -qi nginx 2.安装nginx之前的依赖包 yum install gcc patch libffi-devel pytho ...
- Nginx-从零开始使用nginx实现反向代理及负载均衡
文章目录 环境说明 安装Nginx 安装必须的依赖库 3个 源码安装 yum安装 安装nginx 启动Nginx 常用操作命令 使用非root用户启动nginx 搭建应用 Nginx 做反向代理 + ...
- nginx配置反向代理和负载均衡完结篇
具体安装配置参考之前的文章 https://blog.csdn.net/weixin_44001965/article/details/102723855 文章目录 一,nginx操作的常用命令 ng ...
最新文章
- linux内核编译感想,Linux内核编译小结
- java解析字符串_用Java解析字符串有哪些不同的方法?
- PHP计算表达式-栈
- 信安精品课:第2章网络攻击原理与常用方法精讲笔记
- Vrep中支持的运动规划算法
- 物联网中C语言与汇编语言,ARM Cortex-M架构CPU中C语言和汇编语言的混合编程
- RMDB与hadoop的实时整合
- 机器学习精讲中7.1固定特征核中关于N维向量多项式特征映射的理解(二)
- C语言进制转换以及原补反码位运算介绍
- 一种简单的图像白平衡计算方法
- 信息隐藏——DCT隐写
- 【Python】QQ群聊天记录提取
- ftp服务器文件能预览吗,ftp服务器 文件预览
- CJ20N/CN21/CN22/CN23 - 网络屏幕增强(SMOD: CNEX0016)
- PTA 公路村村通(Prim Kruskal)
- microsoft office visio 2007 安装过程中出错的解决(直接看后面)
- 初识Java调用百度API实现图像识别
- C++ 小游戏-球球飞车
- 常用无线收发芯片性能比较
- nrf52832学习笔记(3)设置发射功率
热门文章
- 10分钟学会写一个简单的Mysql存储过程
- mysql 标记_mysql-徽章/标记内容自用户上次看到以来已...
- 评微软裁员测试:自动化测试并不能代替人工
- ndk-build.cmd‘‘ finished with non-zero exit value 2
- You specified a pre-MSA CPU in your CFLAGS
- Package sqlite3 was not found in the pkg-config search path.add the directory containing `sqlite3.pc
- 首次出现日访问量突破10000,祝贺
- WINDOWS下git的安装与使用
- rpath失效是怎么回事
- 由一个国标文件中,英文名与中文意思的对比,看用词的重要性