阶段十-分布式-nginx服务器

news2024/11/26 2:03:16

一、Nginx简介

Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。tomcat并发数量理论值是500,实际也就300左右。

1.2 正向代理

正向代理代理的是客户端,帮客户端发送请求给目标服务器,服务器响应后,由代理服务器将响应内容返回给客户端。使客户端对目标服务器不可见。比较常见的用户场景就是翻墙。

1.3 反向代理

 反向代理在生产中应用还是比较多的,代理服务器代理目标服务器,负责收发请求,目标服务器对客户端来说是不可见的,不过客户端请求目标服务器和请求代理是一样的效果。比较常见的场景就是nginx的负载均衡

1.4 负载均衡

 增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。

1.5 动静分离

将网站的动态资源和静态资源分别部署到不同的服务器,并由nginx统一调用。

二、Nginx安装

【1】安装pcre依赖

1.下载压缩包:wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
2.解压压缩包:tar -xvf pcre-8.37.tar.gz
3.安装gcc:yum install gcc
4.安装gcc:yum install -y gcc gcc-c++
5.在pcre-8.37目录输入:./configure 
6.在pcre-8.37目录输入:make && make install

【2】安装 openssl 、zlib 、 gcc 依赖

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

【3】安装nginx

1.将nginx压缩包上传到usr/local目录下
2.解压到当前目录:tar -xvf nginx-1.12.2.tar.gz
3.进入nginx-1.12.2目录输入:./configure
4.进入nginx-1.12.2目录输入:make && make install

【4】启动nginx

1.进入sbin目录:cd /usr/local/nginx/sbin
2.启动服务:./nginx 

【5】关闭防火墙

1.及时生效关闭防火墙: systemctl stop firewalld
2.重启永久生效:systemctl disable firewalld

【6】访问首页

自己虚拟机的ip

三、Nginx常用命令

必须保证先进入cd /usr/local/nginx/sbin 目录中即nginx目录中

【1】查看nginx版本号        ./nginx -v

【2】启动nginx        ./nginx

【3】停止nginx        ./nginx -s stop

【4】重新加载nginx        ./nginx -s reload

四、Nginx配置文件

Nginx配置文件的位置在: /usr/local/nginx/conf/nginx.conf

Nginx配置文件主要分为如下三部分

【1】全局块:配置服务器整体运行的配置指令

比如 worker_processes 1;处理并发数的配置

【2】events 块:影响 Nginx 服务器与用户的网络连接

比如 worker_connections 1024; 支持的最大连接数为 1024

【3】http 块包含两部分: http 全局块、server 块

五、Nginx反向代理配置案例

1.将windows系统的host文件进行域名和 ip 对应关系的配置

192.168.8.130    www.lsh.com

自己虚拟机的ip 

2.在 nginx 进行请求转发的配置(反向代理配置)

转发地址的路径支持正则表达式,见下面

5. Nginx中的正则表达式

1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。

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

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

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

注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。

六、Nginx负载均衡

 【1】完成负载均衡配置

七、总结

【1】什么是nginx服务器,nginx服务器是干什么用的,你都用过哪些功能?

答:nginx是http服务器,也是反向代理服务器,可以做静态网站资源服务器,也可以做反向代理服务器。用过负均衡、反向代理、动静分离、http服务器等功能。

nginx并发是50000,tomcat(500是理论值)大概300左右。

【2】nginx的常用命令

答:./nginx 启动 ./nginx -v 查看版本 ./nginx -s stop 关闭 ./nginx -s reload 重新加载配置文件

【3】nginx如何配置静态服务

答:在/nginx/conf/nginx.conf中做如下配置

location /imgs/ {
    root /data/;
    autoindex on;
}
location /page/ {
    root /data/;
    autoindex on;
}

【4】如何配置反向代理

答:在/nginx/conf/nginx.conf做如下配置

location ~ /vod {
    proxy_pass http://127.0.0.1:8082;
}

反向代理支持表达式如下:

location [= | ~ | ~* | ^~] /uri{
​
}

【5】负载均衡配置

答:在nginx/conf/nginx.conf做如下配置

upstream mystream {
    server 127.0.0.1:8080 ;
    server 127.0.0.1:8081 ; 
}
location ~ /edu {
    proxy_pass http://mystream;
}

【6】什么是反向代理

答:正向代理代理的是客户端访问服务端,反向代理代理的是服务端,等待客户端访问代理服务。

具体配置

location ~ /edu {
    proxy_pass http://mystream;
}

【7】什么是动静分离

答:静态资源配置到nginx服务器中,动态资源通过nginx反向代理到tomcat。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1349890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文心一言 VS 讯飞星火 VS chatgpt (170)-- 算法导论13.2 3题

三、用go语言,设在图 13-2 左边一棵树中,a、b和c 分别为子树a、β和γ中的任意结点。当结点 x 左旋之后,a、b和c 的深度会如何变化? 文心一言: 在二叉树中,左旋操作是改变节点的子节点顺序。原本的子节点…

高精度定位赛道爆发前夜 谁在强势崛起?|高工微报告

伴随着以NOA为代表的高阶智驾功能加速渗透,高精度定位赛道正进入快速增长通道。 整体技术链路上,高精度定位为高阶智驾的刚需:在“重地图、轻感知”阶段,其结合高精地图发挥作用;在“轻地图、重感知”阶段&#xff0c…

JavaScript编程进阶 – 迭代器

JavaScript编程进阶 – 迭代器 JavaScript Programming Advanced - Iterators By JacksonML 在JavaScript语言中,迭代器是对象(Object), 它事先定义好了一个序列,并在其终止时有可能地(潜在地)返回值。 本文简要介绍迭代器对象如…

收入支出记录,对需要的账目明细进行颜色标记

面对繁杂的账单和财务数据,你是否曾为记账而感到苦恼?别担心,我们为你带来了一款全新的记账软件——晨曦记账本,这不仅仅是一个简单的记账工具,更是你财务管理的得力助手。 所需工具: 一个【晨曦记账本】…

lora 生成图片 扭曲 的问题 【lora出图】

人物扭曲的原因: 生成图片是720X1080 而LORA制作的时候,图片大小为:512X512 所以生成图片时:设置为512X768 或512X512 生成图片大小以: 512X768 竖屏(海报) 768X512 横屏(动画&…

Unity 如何打造”大厅+子游戏”架构

现在越来越多的手机游戏开始要做成大厅子游戏模式,简单的说就是,进入大厅后有很多子游戏,玩家选哪个完,就更新下载哪个子游戏,下次就直接进去玩子游戏就可以了。这就是现在要做的 “大厅子游戏”架构,要拿一套这样的架…

浙大链协2023年终总结

2 0 2 4 元旦 快乐 龙腾虎跃 01 引言 俗话说:"币圈一天,人间十年",数字货币一天的涨跌可能抵上其他资产价格一年的波动幅度。而经历过漫长的熊市后,铭文的火爆十分生动地表述了这一口号...... 2023年,浙大链…

【Unity引擎技术整合】 Unity学习路线 | 知识汇总 | 持续更新 | 保持乐趣 | 共同成长

前言 本文对Unity引擎的知识进行了一个整理总结,基本包含了Unity中大部分的知识介绍。网上也有很多Unity相关的学习资料,但大多数都不成体系,学起来的时候难免会东奔西走的摸不着头脑。本文整理的多数文章都是有对应的系列性文章专栏&#x…

【C语言】Ubuntu 22上用GTK写GUI程序

一、GTK介绍 GTK (GIMP Toolkit) 是一个多平台的图形用户界面工具包。它最初是为图像处理程序 GIMP 开发的,后来演变成为许多操作系统上开发图形界面应用程序的通用库。GTK 是用C语言编写的,并且是自由和开源软件,遵循LGPL (GNU Lesser Gene…

x-cmd pkg | hyperfine - 命令行基准测试工具

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 hyperfine 是一个用于命令行基准测试的开源工具,可以对多次命令运行的时间进行分析,帮助开发人员评估和比较不同命令或脚本的性能。它是用 Rust 语言开发的,可以在 Windows、macOS …

Redis 与 Spring: 解决序列化异常的探索之旅

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

【网络面试(5)】收发数据及断开服务器(四次挥手)

前面了解到服务器和客户端在创建套接字,建立连接后,就可以进入到下一步,双发可以互相发送和接收数据,本篇博客就来学习一下这个过程。  我们印象里,发送数据应该是我们在浏览器输入网址,敲击回车的一瞬间&…

RocketMQ 生产者源码分析:DefaultMQProducer、DefaultMQProducerImpl

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏&…

(九)上市企业实施IPD成功案例分享之——欧普

LED通用照明应用是LED照明应用市场的第一驱动力,由于LED照明技术发展迅速,以及成本快速下降,已成为全球主流照明光源。近年来,通过将智能控制模块嵌入LED通用照明终端,形成了具有自动控制、系统化控制等功能的智能照明…

Java8 Lambda 表达式

文章目录 🍉 Java 8 介绍🍉 Lambda 表达式🍅🍅 基础语法🍅🍅 案例 🍉 函数式接口🍅🍅 内置的四大核心函数式接口🍅🍅 案例 🍉 Java 8 …

linux驱动(一):led

本文主要探讨210的led驱动相关知识。 驱动 操作系统驱动硬件的代码,驱动上层是系统调用API,下层是硬件 宏内核:内核整体上为一个过程实现,运行在同一地址空间,相互调用简单高效 微内核:功能为独立过程,过程间通过IPC通信 …

国科大图像处理2023速通期末——汇总2017-2019

国科大2023.12.28图像处理0854期末重点 图像处理 王伟强 作业 课件 资料 一、填空 一个阴极射线管它的输入与输出满足 s r 2 sr^{2} sr2,这将使得显示系统产生比希望的效果更暗的图像,此时伽马校正通常在信号进入显示器前被进行预处理,令p…

上海亚商投顾:三大指数红盘收官!沪指今年累计跌3.7%

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 A股12月29日迎来2023年收官之战,三大股指延续反弹走势,最终集体红盘报收。纵观全年&am…

CMake入门教程【基础篇】CMake+vs2022+nmake构建项目

文章目录 1.vs编译器下载安装2.运行nmake测试3.CMake下载安装4.运行CMake测试5.使用CMakeNMake构建项目代码目录代码实现 6.运行项目 1.vs编译器下载安装 下载地址 :https://visualstudio.microsoft.com/zh-hans/vs/ 点击截图处下载 勾选红框的内容即可 安装 2.运行nmak…

echarts手动触发气泡的显示和隐藏

点击echarts图表后将点击的那个进行突出显示 <template><div id"demo"> </div><el-button type"primary" click"set">设置</el-button><el-button type"primary" click"cancel">取消&…