博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx的学习笔记
阅读量:3701 次
发布时间:2019-05-21

本文共 1604 字,大约阅读时间需要 5 分钟。

Nginx的简介

  • Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强。有报告 Nginx 能支持高达 50000 个并发连接数。

Nginx的反向代理

在这里插入图片描述

负载均衡

  • 假设有 15 个请求发送到代理服务器,那么由代理服务器根据服务器数量,平均分配,每个服务器处理 5 个请求,这个过程就叫做负载均衡。
    在这里插入图片描述

动静分离

  • 为了加快网站的解析速度,可以把动态页面和静态页面交给不同的服务器来解析,加快解析的速度,降低由单个服务器的压力。
    在这里插入图片描述

Nginx安装

linux系统

CentOS 7 64位

  • 下载以下安装包,用xftp放入linux系统
    在这里插入图片描述
  • 第一步:安装pcre依赖,解压压缩文件,进入解压之后的目录执行./configure,然后执行make && make install
  • 查看是否安装成功
    在这里插入图片描述
pcre-config --version
  • 第二步:安装其他依赖
[root@localhost pcre-8.37]# yum -y make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
  • 第三步:安装nginx,解压nginx,进入nginx目录,执行./configure

  • 执行make && make install

  • 去sbin文件夹下启动nginx

  • 检查是否成功

ps -ef|grep nginx

在这里插入图片描述

Nginx 常用命令

  • 查看版本:
./nginx -v
  • 启动
./nginx
  • 关闭(有两种方式,推荐使用 ./nginx -s quit):
./nginx -s stop ./nginx -s quit
  • 重新加载
./nginx -s reload

Nginx 的配置文件

  • 全局块

    从配置文件开始到 events 块之间,主要是设置一些影响 Nginx 服务器整体运行的配置指令。并发处理服务的配置,值越大,可以支持的并发处理量越多,但是会受到硬件、软件等设备的制约。
    在这里插入图片描述

  • events 块

    影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 workprocess 下的网络连接进行序列化,是否允许同时接收多个网络连接等等。
    在这里插入图片描述

  • HTTP 块

    诸如反向代理和负载均衡都在此配置。
    在这里插入图片描述
    location 指令说明,该语法用来匹配 url,语法如上:

  • =:用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求。

  • ~:用于表示 url 包含正则表达式,并且区分大小写。

  • ~*:用于表示 url 包含正则表达式,并且不区分大小写。

  • ^~:用于不含正则表达式的 url 前,要求 Nginx 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配。

  • 如果有 url 包含正则表达式,不需要有 ~ 开头标识。

反向代理实践

配置反向代理

  • 目的:在浏览器地址栏输入地址 www.123.com 跳转 Linux 系统 Tomcat 主页面。

具体实现

在这里插入图片描述

在这里插入图片描述

反向代理2

目标

  • 访问 http://192.168.25.132:9001/edu/ 直接跳转到 192.168.25.132:8080

  • 访问 http://192.168.25.132:9001/vod/ 直接跳转到 192.168.25.132:8081

    在这里插入图片描述

  • 重载nginx

    ./nginx -s reload

负载均衡实践

  • 修改 nginx.conf,如下图:
    在这里插入图片描述
  • 重启 Nginx

负载均衡方式如下

  • 轮询(默认)。
  • weight,代表权,权越高优先级越高。
  • fair,按后端服务器的响应时间来分配请求,相应时间短的优先分配。
  • ip_hash,每个请求按照访问 ip 的 hash 结果分配,这样每一个访客固定的访问一个后端服务器,可以解决 Session 的问题。

转载地址:http://qylcn.baihongyu.com/

你可能感兴趣的文章
Redis 的 Java 客户端
查看>>
Redis 做分布式锁
查看>>
Redis 做消息队列
查看>>
Linux 的网络配置
查看>>
Linux 环境下安装 MySQL,各种踩坑、疑难杂症
查看>>
MySQL性能【索引优化分析】
查看>>
MySQL性能【查询截取分析】
查看>>
MySQL 锁机制
查看>>
3. Shiro 授权
查看>>
Git 版本管理
查看>>
MyBatis Plus 3.X 通俗易懂版教程
查看>>
Java 中一个元素在集合中如何忽略自己循环比对是否存在相同元素
查看>>
JAVA如何计算字符串公式
查看>>
Java 实现 crc modbus 16 位校验算法
查看>>
Java工作中常用方法总结
查看>>
vue 项目修改 title 旁边的 icon 图片
查看>>
Jeecg-Boot前端图片更改(网站 title 图标修改)
查看>>
前端通过 v-html 或 js 都可以替换富文本中的标签
查看>>
自定义注解通过反射实现Excel的导出功能(提供项目源码)
查看>>
SpringBoot + Ant Design Vue 实现 excel 导入功能
查看>>