Nginx学习总结

Nginx: 配置项之server_name指令用法梳理 基于域名的虚拟主机,它是通过什么来进行区分不同的虚拟主机呢?可以有多个server模块通过指定不同的server_name来区分不同的那个虚拟主机可以理解成不同的一个网站域名。 阅读详情

1. 静态资源服务器
使用nginx实现静态资源服务器,我们可以通过nginx来访问静态资源。修改nginx配置(/nginx/conf/nginx.conf):

server {
    listen 16816;
    server_name test;
    location / {
        root /home/demo/test;
        index index.html;
    }
}

通过访问ng的地址+16816端口http://{ngHost}:16816 即可以访问index.html页面。

listen:表示监听端口号
server_name:表示浏览器上输入的域名
location:表示url匹配,/表示全部匹配
root:表示匹配成功之后进入的目录
index:表示默认访问的页面

2. 正向代理
正向代理,“它代理的是客户端,代客户端发出请求”,是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
举一个例子:你需要钱,C正好有钱,但是C不直接借给你。你和B关系比较好,B可以找C借到钱。你和B沟通后,由B来找C借到钱后在给你。
在这里插入图片描述
3. 反向代理
客户端是无感知代理的存在的,反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。
比如,我们同样需要钱,但是我们又不知道谁有钱,所以我们找了一家网贷平台,你提交资料后,网贷平台直接将钱打给你。但是你不知道,也不用关注网贷平台的钱从哪里来。网贷平台内部他们可能从哪一个财主哪里融的钱。对你而言网贷平台和他们的金主是一起的。
在这里插入图片描述
举例:我现在要访问:https://10.26.30.180:443/auth/v1/api/requesttoken
在这里插入图片描述
Nginx的ip地址为{ngHost},添加配置如下:

server {
        listen       19005;
        server_name  testServer;
        client_max_body_size 22M;
        location  /apigee/test/ {
            proxy_pass https://10.26.30.180:443/;
        }
        location  /api/interface/marketing {
            proxy_pass http://mkt_server2;
            proxy_set_header Host $host:$server_port;
        }
}

根据上述配置,可以直接访问:
http://{ngHost}/apigee/test/auth/v1/api/requesttoken :
在这里插入图片描述
注1: nginx配置proxy_pass URL末尾加与不加/(斜线)的区别
假设访问路径为:apigee/test/auth/v1/api/requesttoken
① 加/斜线的情况

location  /apigee/test/ {
proxy_pass https://10.26.30.180:443/;
}

则被代理的真实访问路径为:https://10.26.30.180:443/auth/v1/api/requesttoken

② 不加/斜线的情况

location  /apigee/test/ {
proxy_pass https://10.26.30.180:443;
}

则被代理的真实访问路径为:https://10.26.30.180:443/apigee/test/auth/v1/api/requesttoken
(更多请参考:https://www.cnblogs.com/kevingrace/p/6566119.html)

注2:location匹配模式及顺序

表示描述
location = /uri=开头表示精确匹配,只有完全匹配上才能生效。
location ^~ /uri^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~~开头表示区分大小写的正则匹配。
location ~*~*开头表示不区分大小写的正则匹配。
location /uri不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。
location /通用匹配,拦截所有,但是优先级最低,只有前面都没有被拦截的情况下,才会被拦截到这里。

4. 负载均衡
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
在这里插入图片描述
upstram XXX: 表示负载均衡服务器,也是通常再说的上游服务器。
三种基本的负载均衡算法: 轮询、权重、ip绑定。
①轮询:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。例如:

upstream image_server {
    server 10.21.85.127:18888;
    server 10.21.52.169:18888;
}

②权重:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。例如:

upstream image_server {
    server 10.21.85.127:18888 weight=2;
    server 10.21.52.169:18888 weight=1;
}

意思就是说每访问2次 10.21.85.127:18888,10.21.52.169:18888

③ip绑定:每个请求按访问ip的hash结果(底层自己根据来访者的不同,得到不同的hash结果从而决定固定哪个ip)分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream image_server {
    ip_hash;
    server 10.21.85.127:18888;
    server 10.21.52.169:18888;
}

5. 常用命令

参数官方解释说明
-hthis help帮助
-vshow version and exit显示版本信息
-Vshow version and configure options then exit显示版本信息和配置信息
-ttest configuration and exit检查配置文件语法
-Ttest configuration, dump it and exit
-qsuppress non-error messages during configuration testing
-ssignalsend signal to a master process: stop, quit, reopen, reload控制服务平滑启停
-p prefixset prefix path (default: /etc/nginx/)
-c filenameset configuration file (default:/etc/nginx/nginx.conf)
-g directivesset global directives out of configuration file

示例:
./nginx –v
在这里插入图片描述
./nginx -V
在这里插入图片描述
./nginx -s
在这里插入图片描述

6. 附录
(1) NGINX 配置本地HTTPS(双向认证):
https://www.cnblogs.com/xiao987334176/p/11041241.html

获取客户端证书序列号: openssl x509 -in client.crt -noout -serial
在这里插入图片描述
客户端证书、私钥转换成p12
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12

p12转换成jks
keytool -importkeystore -srckeystore client.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore client.jks

【学习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配置多端口访问,并提供相应的源代码示例。请根据实际需求修改上述示例中的端口号和访问规则,并根据自己的需求进行相应的调整。配置生效后,Nginx将会同时监听8080和8888端口,并按照相应的访问规则进行处理。通过以上步骤,我们可以很容易地配置Nginx以支持多个端口的访问。块,并在其中配置相应的访问规则,我们可以实现对不同端口的灵活控制和定制化配置。块中,我们可以添加相应的访问规则。

IbcVue的博客 7788

nginx---多个server

1. 介绍 1.1 背景介绍 如果每台linux服务器只运行了一个小网站,那么人气低,流量小的草根站长需要承担高额的服务器租赁费,也造成了硬件资源浪费。 虚拟主机就是将一台服务器分割成多个“虚拟服务器”,每个站点使用各自的硬盘空间,由于省资源,省钱,众多网站都使用虚拟主机来部署网站。 虚拟主机的概念就是在web服务里的一个独立的网站站点,这个站点对应独立的域名(IP),具有独立的程序和资源目录,可以独立的对外提供服务。 这个独立的站点配置是在nginx.conf中使用server{}代码块标签来表

python_web全栈 1万+

高数 | 【极限与等价无穷小】两个重要极限 & 经典错误 & 什么情况下求极限可以直接带入

一. 第一个重要极限 二. 第二个重要极限 三. 导数定义式 全文见【高等数学】两个重要的极限 - 知乎

"You are worthy! You can do it!" 6万+

nginx 配置多个 server

如何在nginx.conf中配置多个server

abcd123596的博客 4474

Zipformer在RK3588上的性能实测:比Conformer快多少?内存省多少?

本文在RK3588平台上对Zipformer和Conformer语音识别模型进行了全面的性能实测。结果显示,Zipformer在模型部署中展现出显著优势:推理速度比Conformer快约56%,峰值内存占用降低约60%,同时在AISHELL-1等测试集上保持了相当的识别准确率。这为边缘ASR应用提供了更高效、更节省资源的解决方案。

metal的博客 482

FPGA实战:手把手教你用Verilog驱动4.3寸RGB触摸屏(附完整代码)

本文详细介绍了如何使用Verilog语言在FPGA上驱动4.3寸RGB触摸屏,包括时序设计、信号交互原理及完整代码实现。通过双计数器引擎设计和参数化模块,开发者可以高效构建800*480分辨率的显示驱动,并解决工程实践中的信号完整性和时序收敛问题。

rice5的博客 702

Nginx使用多个.conf文件配置虚拟主机server

使用Nginx配置多个虚拟机server服务。通常做法可以直接在nginx.conf这样写其实没问题,只不过不易扩展,或者说server服务多了之后管理起来不是很方便,通常,我更愿意将一个server服务模块单独抽离出来进行管理,而在nginx.conf中呢只需要将各个独立配置的模块导入即可,既增加了其扩展性,同时每一个单独模块配置便与主配置文件分离,即使其内部配置出错了也不会影响到主配置文件

^Being^ 4183

Isaac Sim 使用经验(配置要求,云服务器)

Google Colab及AutoDL都是在docker内运行,其中google colab并不支持docker指令,而依照AutoDL的相关文档,AutoDL并不直接提供docker指令。2. Google Colab/AutoDL 不支持图形化界面,图形渲染等任务,所以没有办法使用Omniverse Streaming进行直播,从而更好的对结果进行展示。对于第一点,或许存在直接手动复现镜像的可能,但是考虑到Isaac Sim/Isaac Lab由于比较新,可能不够稳定,因此还是按照官方文档进行部署。

weixin_44211433的博客 4589

Nginx 学习书单整理

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

its666的博客 2365

大唐豪侠服务器列表文件格式错误,关于大唐豪侠一键端的一些问题心得

有人问了大唐豪侠架设方面的问题,我简单研究了一下,做了个整理,现放出来大家一起研究讨论,我是把服务端的解压到了D盘里面了。第一个问题:架设成功后,运行客户端提示获取服务器列表失败,这个原因是因为压缩的一键端是整理过的,我们需要把服务器列表等解压出来,详见截图首先到这个目录里面找到package.zip,找到这个以后这里要注意,解压路径里面一定不要有package,这个解压成功后就有了服务列表等...

weixin_42530536的博客 1528

cst-python联合仿真的问题解决

cst与python联合仿真出现无法调用CST的问题解决

ayihu_的博客 2373

Nginx学习

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

weixin_43753271的博客 756

【系统分析师】2026年上半年真题:案例分析-答案及详解(回忆版)

案例一聚焦因果分析法(鱼骨图)的应用,分析企业订单履约问题。问题1阐述因果分析法定义及常见方法(鱼骨图、5个为什么等);问题2将8个原因归类为人员、方法、合同等5类;问题3筛选适合鱼骨图的场景(如系统响应慢、服务器故障等),强调其适用于复杂根因分析。 案例二对比嵌入式系统中Linux与RTOS的差异(实时性、资源占用等),结合智能监控终端需求推荐Linux+四核ARM方案(高算力、性价比),并列选Linux的5大优势(生态成熟、多任务支持等)。 案例三设计互联网医院系统用例图(患者、医生等参与

数据知道的博客 1353

nginx的学习目录

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

一个UI、前端爱好者。 802

微搭低代码实现用户登录及注册功能

在小程序开发中,我们可以拿到微信用户的openid,openid可以作为用户的唯一标识,在查询数据的时候可以进行数据过滤实现查询自己提交的数据。那微搭中是否也有openid这个概念,可以获取用户自己提交的数据呢? 答案是肯定的,那要怎么去做呢?思路是先创建一个数据源方法,在数据源中返回openid,然后低代码中可以调用数据源的方法并且赋值给全局变量,这样在后续的业务中从全局变量就可以获取openid了,方便做数据权限的控制。 为了实现这个目的,我们从创建数据源开始。 创建数据源 我们先创建一个用户管理的数据

低代码布道师的博客 2997

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Nginx 学习指南

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

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

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Nginx学习途径

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

moshshi6967的博客 404

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

简单的 nginx 学习

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

qq_19342829的博客 1822

Nginx学习导航

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

含江君 199

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

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

张小方的博客 113

nginx学习

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

Watson2016的博客 875
上一篇: Jmeter4.0分布式测试环境搭建及常见问题
下一篇: Linux进阶操作
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值