Nginx 学习

【学习Nginx-00】学习Nginx遇到的问题及解决 学习Nginx遇到的问题及解决 问题1 问题 [root@master init.d]# service nginx start Starting nginx (via systemctl): Job for nginx.service failed because the control process exited with error code. See “systemctl status... 阅读详情

Nginx学习

Nginx简介

Nginx是一个高性能的HTTP和反向代理服务器。特点:占有内存小,并发能力强。

作用

Nginx可以作为静态页面的web服务器。

正向代理与方向代理

正向代理:对用户来说是可感知的。

user
vpn
外网

反向代理

1-对用户是透明的(无感知的),因为客户端不需要任何配置就可以访问,

在这里插入图片描述

总结:正向代理隐藏客户端,反向代理隐藏服务端。

负载均衡

当并发量不大的时候,一台服务器ok,当并发量上去的时候,怎么解决呢

1-升级CPU,升级内存。(纵向升级)

2-增加服务器的数量。(横向升级)----集群的概念也就产生。

负载均衡的规则也有多种。比如:轮询,随机,等等。

动静分离

将静态资源与动态资源分开。

Nginx安装

Nginx配置文件

全局块

配置一些影响nginx服务器整体运行的配置指令,包括用户组,进程PID存放路径,日志存放路径以及日志类型等

worker_processes  1;
events块
events {
    worker_connections  1024;
}

events涉及的指定主要影响:nginx服务器与用户的网络连接。

work process 下的网络连接进行序列化,是否允许同时接受多个网络连接,选取那种事件驱动模型来处理连接请求,每个work process 可以支持的最大连接数。

例如:上面的就代表 work process 支持的最大连接数是1024

事件块:这部分对nginx的性能影响较大,在实际中要灵活配合。

http块
http {
    include mime.types;
    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    upstream gulimall{
        server 127.0.0.1:88;
    }

    include D:/0/nginx-1.16.1/conf/conf.d/*.conf;

}
# gulimall 配置
server {
    listen       90;
    server_name  gulimall.com;
    location /static/ {
        root D:/0/nginx-1.16.1/html;
    }
    location / {
    	proxy_set_header Host $host;
        proxy_pass http://gulimall;
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

}
http全局块

全局块包括

文件引入,MIME-TYPE 定义,日志自定义,连接超时时间,单链接请求数上限。

http {
    include mime.types;
    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    include D:/0/nginx-1.16.1/conf/conf.d/*.conf;

}
server服务块

这块和虚拟主机有密切关系。

每个http块可以包含多个server块,而每个server块就相当于一个虚拟主机。

而每个server快分分为全局server快,以及可以同时包含多个location块。

全局server块

配置:本虚拟主机的监听配置和本虚拟主机名称以及IP配置。

location 块

主要作用:nginx服务器接收到的请求字符串(serverName/uriString),对请求路径进行匹配,对特定的请求进行处理。

地址定向,数据缓存,应答控制。

server {
    listen       90;
    server_name  gulimall.com;
    location /static/ {
        root D:/0/nginx-1.16.1/html;
    }
    location / {
    	proxy_set_header Host $host;
        proxy_pass http://gulimall;
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

}

Nginx配置实例

location语句块
    location / {
    	proxy_set_header Host $host;
        proxy_pass http://gulimall;
    }

location xxx {}

xxx为

  1. = :严格匹配路径
  2. ~ : 包含正则表达式,区分大小写
  3. ~* :包含正则表达式,不区分大小写

注意:如果uri包含正则表达式,则必须有 ~或者 " ~* "打头阵。

负载均衡

nginx 实例

Nginx配置负载均衡

主配置文件:部分配置如下


http {
    keepalive_timeout 65;
# 你的服务名
    upstream gulimall{
        ip_hash;
        server 127.0.0.1:88 weight=1;
        server 127.0.0.2:88 weight=1;
    }

    include D:/0/nginx-1.16.1/conf/conf.d/*.conf;

}

子配置文件:部分配置

server {
    listen       90;
    server_name  gulimall.com;
    location / {
    	proxy_set_header Host $host;
        proxy_pass http://gulimall;
    }
    
}
分配方式(策略)
轮询
权重

上面nginx实例,就是权重方式。权重值越大,服务的几率越大。

ip_hash

每个请求按ip的hash结果分配,这样每个房客固定访问一个后端服务器,可以解决session的问题。

fair(第三方)

动静分离

server {
    listen       90;
    server_name  gulimall.com;
    location /static/ {
        root D:/0/nginx-1.16.1/html;
    }
}


Nginx 原理与优化参数

master-worker

在这里插入图片描述
在这里插入图片描述

首先:对于每个worker进程来说,独立的进程,不需要加锁。

Nginx同redis类似都采用了IO多路复用机制,每个worker都是一个独立的进程,但每一个进程里只有一个主线程,通过异步非阻塞的方式来处理请求,即使是千万个请求也不在话下。

如何在windows下使用cmake编译源码 MyProject/└── build/在MyProject目录下创建并编辑。创建build目录并进入。使用cmake命令生成构建文件。使用适当的命令编译项目。运行生成的可执行文件。 阅读详情

相关推荐

ArcMap 10.7/10.8启动加载界面后闪退?可能是这个隐藏的Normal.mxt模板文件在搞鬼

本文深入分析了ArcMap 10.7/10.8启动加载界面后闪退的问题,指出Normal.mxt模板文件损坏是常见原因。提供了从定位、删除模板文件到系统级修复的完整解决方案,帮助GIS工程师快速恢复工作流程。

weixin_28523493的博客 330

谷粒商城实战笔记-139-商城业务-nginx-搭建域名访问环境一(反向代理配置)

全局块包含影响Nginx全局的指令,如用户组、Nginx进程的PID文件存放路径、日志文件存放路径、配置文件引入、worker process数等。events块配置影响Nginx服务器或与用户的网络连接,例如每个进程的最大连接数、事件驱动模型处理连接请求、是否允许同时接受多个网络连接、开启多个网络连接序列化等。http块。

epitomizelu的专栏 1356

基于CNN网络的轴承故障诊断

内容参考:《基于卷积神经网络的轴承故障 诊断算法研究》–张伟 代码参考: https://github.com/AaronCosmos/wdcnn_bearning_fault_diagnosis 1 背景: 基于信号处理的特征提取+分类器的传统智能诊断算法,对专家经验要求高,设计耗时且不能保证通用性,已经不能满足机械大数据的要求。提出使用基于卷积神经网络智能诊断算法来自动完成特征提取以及故障识别。 1.1 挑战 机电产品故障诊断面临的挑战,有三大特点: (1)数据量大,专业分析人员的数量严重不足,仅依靠人

weixin_45679938的博客 7万+

nginx之proxy_pass代理后端https请求完全拆解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34278190的博客 2446

别再只会按按钮了!用NanoStat开源项目学ESP32硬件设计:BOOT与自动下载电路的避坑指南

本文通过NanoStat开源项目深入解析ESP32硬件设计中BOOT与自动下载电路的关键技术。从启动机制、电路设计陷阱到三极管选型,提供了一套完整的避坑指南和优化方案,帮助开发者提升设计可靠性和烧录效率。特别适合中级开发者学习ESP32硬件设计的精髓。

weixin_30296405的博客 439

STM32F407硬件IIC驱动OLED避坑实录:从‘不显示’到‘稳定刷屏’的完整调试过程

本文详细记录了使用STM32F407硬件IIC驱动OLED屏幕的完整调试过程,从初始的‘不显示’问题到最终实现‘稳定刷屏’。文章涵盖了硬件接线、I2C外设配置、常见问题排查及性能优化技巧,特别针对STM32标准库开发中的难点提供了实用解决方案,是嵌入式开发者驱动OLED屏幕的实用指南。

weixin_30315723的博客 303

Nginx 学习书单整理

以下是“Nginx到底该怎么学?”的主题纲要。 作为工程师的我们,为什么要学Nginx? 第一点:Nginx对整个架构的帮助是非常大的。 2007年,我从华为来到了腾讯的QQ空间,在数据开发组工作。当时QQ空间小组也就是十来个人,大概有一亿多用户,同时在线大约在三百万用户,承载在Apache和C++开发的服务器上。因为当时腾讯有蛮低的ARPO值(每用户平均收入),每个用户贡献的收入是很少的,所以我们需要每台服务器尽量能够带来更多的价值,能服务更多的用户,就需要在Apache上做大量的优化。比如说把它的

its666的博客 2364

STM32 Proteu直流电机正反转控制系统限位开关-0035

硬件组成:STM32F103C6单片机 +L298N电机控制电路+直流电机+3个按键(正转、反转、停止)+LED指示灯(正转、反转、停止)+限位开关(正限位 反限位) 1.通过3个按键(正转、反转、停止)控制电机的正转、反转、停止。 2.有3个LED指示灯,正转时正转指示灯亮。反转停止对应反转停止指示灯亮。 3.有自动正转反转停止功能,正转时当正限位按键按下时说明正转到最大距离。此时自动停止。反转一样。

zhaxiaobian_er的博客 2002

Nginx学习

从Java到Nginx:我的探索之旅前言作为一名拥有四年Java开发经验的专科程序员,我的技术栈一直围绕着Java生态展开。然而,在实际工作中,我逐渐意识到,除了后端开发,了解前端和中间件等技术同样重要。最近,我开始学习Nginx,希望通过掌握它,提升自己在系统架构方面的理解。以下是我学习Nginx的一些心得体会,希望对同样处于学习阶段的朋友们有所帮助。一、为什么学习Nginx?(一)性能优势Nginx以其高性能、低资源消耗而闻名。

weixin_43753271的博客 756

车载LIN总线避坑指南:主从节点通信失败的5个常见原因及解决方案

本文深度解析车载LIN总线主从节点通信失败的五大常见原因,涵盖物理层信号异常、调度表冲突、LDF配置错误、节点状态机缺陷及环境干扰。重点剖析了LDF文件配置不一致、波特率不匹配等关键问题,并提供了从示波器波形分析到软件配置检查的完整实战排查路径,帮助工程师高效定位并解决LIN通信故障。

g9h0i1的博客 1249

华为交换机实战:如何用ACL+流分类精准限制特定IP的网速(附完整命令)

本文详细介绍了华为交换机如何通过ACL+流分类技术实现精准IP限速,包括ACL规则配置、流分类关联、流行为定义及流策略应用等完整步骤。文章提供了实战命令和配置验证方法,帮助网络管理员有效管理带宽资源,解决特定IP占用过多带宽的问题。

weixin_29229055的博客 100

nginx的学习目录

本文提供了一份系统的Nginx学习路线图,分为六个阶段:从基础安装配置到核心功能实战,再到进阶优化与模块开发,最后涵盖运维排错和架构设计。每个阶段包含关键知识点,如静态资源服务、负载均衡、HTTPS配置、性能调优等,并推荐了官方文档、实验平台等学习资源。建议按阶段循序渐进学习,先完成基础Demo,再逐步深入高级功能,适合从入门到精通的系统学习参考。

一个UI、前端爱好者。 802

PyMuPDF为PDF文件添加注释

我将介绍如何使用PyMuPDF库来为PDF文件添加注释,包括文本注释、高亮注释、下划线注释等15种注释的使用方法。

布啦啦 2242

Nginx 学习指南

Nginx(发音为 "engine x")是一个高性能的开源 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3 代理服务器。最初由 Igor Sysoev 于 2002 年开发,Nginx 以其高并发处理能力、低资源消耗和灵活的配置而闻名,广泛应用于静态文件服务、负载均衡、反向代理和 SSL/TLS 终止等场景。 Nginx 的核心特性包括: 事件驱动架构:采用异步非阻塞的事件驱动模型,能够高效处理大量并发连接。 模块化设计:支持动态加载模块,用户可以根据需求扩展功能。

不迁怒,不贰过。小知识,大智慧。 1653

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Nginx学习途径

您可以尝试搭建和部署各种类型的网站和应用程序,并使用Nginx来处理静态和动态内容、负载均衡、反向代理等。您可以学习如何使用不同的指令和模块来配置Nginx服务器,以实现各种功能和性能优化。加入Nginx的社区和讨论组,与其他开发者和运维人员交流经验、分享问题和解决方案,这将有助于您更快地学习和掌握Nginx。通过以上方法,您可以进一步学习和掌握Nginx,成为一名熟练的Nginx开发者和运维人员。关注Nginx相关的社交媒体账号和技术社区,了解最新的动态和技术分享。学习Nginx配置指令的语法和用法。

moshshi6967的博客 404

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

简单的 nginx 学习

本文是学习nginx的简单记录,方便后续复习使用

qq_19342829的博客 1822

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何高效的学习 Nginx 源码,汲取养分?

Nginx 的功能点比较多,涉及到的新概念和设计思路对于新手也不是特别友好,我建议在了解一些了 Nginx 的一些基础知识之后,通过调试来学习 Nginx 源码。以下操作需要一些 gdb 调试知识,如果你不熟悉 gdb 调试,建议花几分钟学习一下。gdb 不难学,掌握常用命令即可,常用命令也不多,推荐《Debugging with GDB》这本书: 链接:提取码: xkqc。

张小方的博客 113

Nginx学习导航

这里记录学习Nginx的思维导图,以后有空补上每一节的信息。

含江君 199

nginx学习

nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。   首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。 看了nginx源码,发现这是一份完全没有注释,完全没有配置文档的代码。   现在你最希望要的是一份注释版的nginx源码,可以从下面的链接中下载一份: https://github.com/jian

Watson2016的博客 875

学习 Nginx 源码

(HTTP 请求处理)

Mary666FU的博客 1917

nginx学习-开篇

工作将近两年,业务熟悉和掌握了。业务上用到的nginx,对nginx的掌握程度只能说是能够熟练使用,对其内部机制只有个大概轮廓。 为什么要学习nginx,我总结下来有3点: 1、工作需要:业务对其依赖、团队内部无人对其熟悉; 2、自我能力提升:nginx作为高性能服务器代码优秀,是一个学习编程语言和服务器架构很好的例子; 3、越来越多的公司使用nginx。 之前也想对

hk78787878的专栏 690

文章1:关于Nginx学习计划

只有不断的坚持,才能够获得成功! ---yankai0219 2012/9/19日总结 前一段时间总结2012/9/12~2012/9/19 上周周三2012年9月12日开始正式接触Nginx学习。 从上周周三12日到周天16日都在安装Nginx+PHP+MySQL的开发环境。由于能力有限,未能将MySQL加入开发环境,仅仅安装Linux+Nginx+PHP。

www.keything.net 2985
上一篇: @Tableid 注意点
下一篇: mongdb 下载慢,解决
一个大泥球
博客等级 码龄9年 41粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值