Nginx学习

news2024/11/27 20:23:17

Nginx学习

nginx的基本概念

  1. nginx是什么?做什么事情?

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,特点是占用内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验。

  1. 反向代理

(1)正向代理:在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网的访问。
在这里插入图片描述
(2)反向代理:我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器ip地址。
在这里插入图片描述

  1. 负载均衡

单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
在这里插入图片描述

  1. 动静分离

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

nginx安装、常用命令和配置文件

  1. 在linux系统中安装nginx
    在这里插入图片描述

  2. nginx常用命令

使用nginx操作命令前提条件:必须进入nginx的目录 /usr/local/nginx/sbin/

  • 查看nginx版本号
./nginx -v
  • 启动nginx、关闭nginx
//查看当前nginx状态
ps -ef | grep nginx
//关闭nginx
./nginx -s stop
//启动nginx
./nginx
  • 重新加载nginx
./nginx -s reload
  1. nginx配置文件

位置:/usr/local/nginx/conf/nginx.conf
配置文件组成:
第一部分 全局块
从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令
比如:worker_processes auto;//worker_processes值越大,可以支持的并发处理量也越多。
第二部分 events块
events块涉及的指令主要影响nginx服务器与用户的网络连接
比如:worker_connections 10240;//支持的最大连接数
第三部分 http块
nginx服务器配置中最频繁的部分
http块也可以包括http全局块、server块

nginx配置实例 1-反向代理

实现效果:打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转linux系统tomcat主页面。
访问过程分析:
在这里插入图片描述
在nginx进行请求转发的配置(反向代理配置)
在这里插入图片描述
在这里插入图片描述

nginx配置实例 2-负载均衡

实现效果:浏览器地址栏输入地址 192.168.17.129/edu/a.html ,负载均衡效果,平均8080和8081端口中。

在这里插入图片描述

nginx配置实例 3-动静结合

在这里插入图片描述

nginx高可用

在这里插入图片描述

nginx原理

  1. master和worker
    在这里插入图片描述
  2. woker如何进行工作
    在这里插入图片描述
  3. 一个master和多个woker有好处
    (1)可以使用nginx -s reload 热部署,利于nginx进行热部署操作
    (2)每个woker是独立的进程,其中一个出问题,不影响其它woker争抢
  4. 设置多少个worker合适
    worker数和服务器的cpu数相等是最为适宜的
  5. 连接数 worker_connection
    (1)发送请求,占用了woker的几个连接数?2或者4
    在这里插入图片描述

(2)nginx有一个master,4个worker,每个worker支持最大的连接数据1024,支持的最大并发数是多少?
普通的静态访问最大并发数是:worker_connectionworker_processes/2;
而如果是http作为反向代理来说,最大并发数量应该是worker_connections
worker_processes/4;

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

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

相关文章

gcc编程4步编译、调试c程序实操详解(Linux系统编程)

gcc编译可以执行程序4步骤:预处理、编译、汇编、链接 一、知识储备(想看实战往下翻) 在linux程序种,c程序需要用gcc进行编译,链接用ld程序,ggc编译完成后可自动调用ld程序完成链接。 调用gcc程序的语法格式&#xff…

Android Studio APP开发入门之对话框Dialog的讲解及使用(附源码 包括提醒对话框,日期对话框,时间对话框)

运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、提醒对话框 AlertDialog名为提醒对话框,它是Android中最常用的对话框,可以完成常见的交互操作,例如提示,确认,选择等功能,由于AlertDialog没有公开…

CLRNet: Cross Layer Refinement Network for Lane Detection——论文简述

一、简介 CLRNet充分利用了低层次特征和高层次特征,因为两者是互补的,先基于高层次特征侦测道路,再基于底层次特征进行调优;由于遮挡的存在,使用ROIGather进行全局信息的收集,在ROI道路特征和全局特征图之…

SaaS 架构基础理论(一)

SaaS架构基础理论1、背景2、SaaS商业模式2.1、什么是SaaS2.2、SaaS软件的优势:2.3、SaaS劣势:3.SaaS应用架构3.1、SaaS成熟度模型3.2、SaaS成熟模型分级3.2.1、Level1 定制开发3.2.2、Level2 可配置3.2.3、Level3 高性能的多租户架构3.2.4、Level4 可伸缩…

【Docker】Docker安装与入门

Docker入门与基础命令 Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制&#xf…

Zookeeper几种应用

分布式锁 master-worker模式 涉及三种角色: 1. master,用于检测新的task、worker的添加,将新的task分配给worker处理 2. worker,将自己注册到系统,被master发现后,监控task 3. client,客户…

ARM pwn 入门 (3)

由于网上的ARM pwn题很少很难找,因此这里拿ROP Emporium的8道题做练习,这个网站有包含x86-64、x86-32、MIPS、ARM共4种架构的elf文件可以做。 1. ret2win 注意:在执行需要动态链接库加载的ARM elf文件时,如果直接使用qemu-arm x…

(免费分享)基于javaweb,ssm旅游景点预定系统

源码获取:关注文末gongzhonghao,输入003领取下载链接 IDEA开发工具,数据库:mysql,Tomcat8 采用:springmvcspringmybatis框架 (1)用户信息管理模块 用户信息管理模块分为后台管理员信息的维护…

zlMediaKit 3 socket模块--怎么封装socket,怎么connect listen/bind write read

socket.cpp socket.h socket SockInfo类&#xff0c;有四个获取四元组信息的虚函数一个获取自身标识符的虚函数 shared_from_this 原理关于boost中enable_shared_from_this类的原理分析 - 阿玛尼迪迪 - 博客园 (cnblogs.com) shared_ptr<Tp> shared_from_this() { re…

RabbitMQ学习(一)

目录&#xff1a; &#xff08;1&#xff09;什么是消息队列 &#xff08;2&#xff09;为什么要使用消息队列 &#xff08;3&#xff09;RabbitMQ特点 &#xff08;4&#xff09;RabbitMQ的安装 &#xff08;5&#xff09;RabbitMQ常用命令 &#xff08;6&#xff09;Ra…

【HTML】标签简单融合运用

&#x1f60a;博主页面&#xff1a;鱿年年 &#x1f449;博主推荐专栏&#xff1a;《WEB前端》&#x1f448; ​&#x1f493;博主格言&#xff1a;追风赶月莫停留&#xff0c;平芜尽处是春山❤️ 一、目录文件夹 1.在vscode建立一个新的目录文件夹如15-综合案例 2.将imag…

图的存储结构

图的存储结构 1.邻接矩阵表示法 设图G (V, E)是具有n个顶点的图&#xff0c;顶点顺序依次为{v1,v2,v3.......} 设a[N][N]为 n 阶方阵 G 的邻接矩阵具有此种性质&#xff1a; 若a[i][j]1&#xff0c;则存在边(vi, vj)或者弧<vi, vj> (即两点之间存在边或弧)若a[i][j]0…

day01 计算机基础和环境搭建

day01 计算机基础和环境搭建 课程目标&#xff1a;让大家了解计算机基础知识并完成python的环境搭建 课程概要&#xff1a; 计算机基础 编程的本质 python的介绍 python环境的搭建 1.计算机基础 1.1 基本概念 计算机的组成 计算机的组计算机是由多个硬件组合而成&#…

快2023了你不会还没学uni-app吧?(uniapp开发快速上手,uniapp项目创建,基础目录介绍)

uniapp新人上手指南前言开发工具快速尝鲜—创建uni-app项目项目基础目录介绍最后前言 uni-app 是一个使用 Vue.js (opens new window)开发所有前端应用的框架&#xff0c;开发者编写一套代码&#xff0c;可发布到14个平台&#xff0c;听起来是不是非常厉害&#xff0c;如果你后…

【论文阅读】Semi-supervised Sequence Learning半监督序列学习

【论文阅读】Semi-supervised Sequence Learning半监督学习 前言 半监督学习(Semi-Supervised Learning&#xff0c;SSL) 是模式识别和机器学习领域研究的重点问题&#xff0c;是监督学习与无监督学习相结合的一种学习方法。半监督学习使用大量的未标记数据&#xff0c;以及同…

别让 Linux 成为拿offer的阻碍

文章目录前言目录结构VI/VIM 编辑器是什么一般模式编辑模式&#xff08;插入模式&#xff09;命令模式模式间转换常用基础命令&#xff08;重要&#xff09;帮助命令man 获得帮助信息help 获得 shell 内置命令的帮助信息type 查看某命令是内置命令还是外部命令常用快捷键文件目…

Java 之 ElasticSearch8.x.x 【一篇文章精通系列】【ES的基本操作,ES安装,ES head + Kibana】

Java 之 ElasticSearch8.x.x 【一篇文章精通系列】【上&#xff1a;ES的基本操作&#xff0c;ES安装&#xff0c;ES head Kibana】一、ElasticSearch的安装1、解压安装ES2、熟悉目录3、启动ES4、安装可视化界面&#xff08;elasticsearch head&#xff09;5、了解ELK6、安装Ki…

【路径插值与抽稀篇】(3)路径插值与抽稀篇

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、路径曲线插值、拟合和逼近的区别1、拟合2、插值3、逼近二、路径点线性插值方法&#xff08;1&#xff09;纯跟踪&#xff…

EDA程序设计--计时器设计

实训题目&#xff1a;计时器的设计 1 系统设计 1.1设计要求 1.1.1 设计任务 设计并制作一台计时器。 1.1.2 性能指标要求 ① 用EDA实训仪的I/O设备和PLD芯片实现计时器的设计。 ② 计时器能够显示时、分和秒。 ③ 用EDA实训仪上的8只八段数码管显示时、分和秒&#xff08;如00…

mysql 常用查询优化策略详解

前言 在程序上线运行一段时间后&#xff0c;一旦数据量上去了&#xff0c;或多或少会感觉到系统出现延迟、卡顿等现象&#xff0c;出现这种问题&#xff0c;就需要程序员或架构师进行系统调优工作了&#xff0c;其中&#xff0c;大量的实践经验表明&#xff0c;调优的手段尽管…