Nginx常见功能

Nginx 是一个高性能的 HTTP 和反向代理服务器,除了基本的 Web 服务功能外,它还支持许多高级功能。以下是 Nginx 常用的一些功能及其设置方法:

1. 反向代理
反向代理是 Nginx 最常用的功能之一,用于将客户端请求转发给后端服务器,并返回处理结果。

http {
    limit_req_zone $binary_remote_addr zone=admin_limit:10m rate=10r/m;

    server {
        listen 80;
        server_name example.com;

        location /admin/ {
            allow 192.168.1.0/24; # 仅允许特定网段访问
            deny all;              # 拒绝其他所有来源
            
            limit_req zone=admin_limit burst=5 nodelay;
            
            proxy_pass http://backend_admin_server;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

例子2:

server {
    listen 80;
    server_name yourdomain.com;

    # 定义图片存储路径
    location /images/ {
        root /path/to/local/images; # 设置本地图片存储路径
        try_files $uri @minio; # 如果本地找不到图片,则转到 @minio 处理
    }

    
    location @minio {
        proxy_pass http://minio-server-endpoint; # 替换为你的 MinIO 服务器地址和端口
        proxy_set_header Host minio-server-endpoint; # 根据需要调整
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

2. 负载均衡
Nginx 支持多种负载均衡算法(如轮询、最少连接、哈希等)来分配请求到多个后端服务器。


upstream backend_servers {
    server backend1.example.com weight=3;
    server backend2.example.com;
    server backend3.example.com;
}

server {
    listen 80;
    server_name example.com;    location / {
        proxy_pass http://backend_servers;
    }
}

3. 缓存
可以配置 Nginx 来缓存静态内容或动态响应,以减少对后端服务器的压力。


proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;server {
    location / {
        proxy_cache my_cache;
        proxy_pass http://backend;
    }
}

4. SSL/TLS 加密
为网站启用 HTTPS 支持,确保数据传输的安全性。


server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;    location / {
        proxy_pass http://backend;
    }
}

5. 静态文件服务
直接从本地文件系统提供静态文件服务。


server {
    listen 80;
    server_name example.com;    location /static/ {
        alias /var/www/static/;
    }
}

6. URL 重写与重定向
使用 rewrite 指令实现 URL 的重写或重定向。


server {
    listen 80;
    server_name old.example.com;    rewrite ^/(.*)$ http://new.example.com/$1 permanent;
}

7. 访问控制
基于 IP 地址或其他条件限制访问。

location /admin/ {
    allow 192.168.1.0/24; # 允许特定网段
    deny all;             # 拒绝所有其他来源
}

8. Gzip 压缩
启用 Gzip 压缩以减少传输的数据量。

gzip on;
gzip_types text/plain application/xml;
gzip_proxied any;
gzip_min_length 1000;

9. 日志管理
配置访问日志和错误日志的位置及格式。

access_log /var/log/nginx/access.log combined;
error_log /var/log/nginx/error.log warn;

10. 状态监控
启用 Nginx 的状态页面以便于监控性能和健康状况。


location /nginx_status {
    stub_status on;
    access_log off;
    allow 127.0.0.1; # 仅允许本地访问
    deny all;

补充:

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

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

相关文章

UniSAL:用于组织病理学图像分类的统一半监督主动学习方法|文献速递-深度学习医疗AI最新文献

Title 题目 UniSAL: Unified Semi-supervised Active Learning for histopathologicalimage classification UniSAL:用于组织病理学图像分类的统一半监督主动学习方法 01 文献速递介绍 组织病理学图像在癌症筛查、诊断及治疗决策中起着关键作用,有助…

智慧园区建设资料合集(Wordppt原件)

化工园区安全风险智能化管控平台.docx 数字孪生赋能的智慧园区物联网云平台建设方案.pptx 园区智慧安防解决方案.docx 新型智慧园区规划设计方案.pptx 新型智慧园区建设方案.docx 园区大数据治理解决方案.pptx 智慧产业园区综合解决方案.docx 智慧工业园区大数据云平台解决方案…

好玩的镜像汇总

一些镜像仓库汇总 https://github.com/code-lives/Nas-Docker https://github.com/TWO-ICE/Awesome-NAS-Docker image-matting是一款集成了AI大模型的,支持容器化部署的短平快抠图工具 https://mp.weixin.qq.com/s/A1VKAYaDdbCs2o1L4ZYkSw Moodist是一个有助于专注…

langchain 开发实战

我的开发环境是 windows python3.8 langchain版本: # langchain 0.2.17 # langchain-community 0.2.19 # langchain-core 0.2.43 # langchain-openai 0.1.25 # langchain-text-…

粉色 PCB:当电路板染上温柔的科技浪漫

在电子产品的世界里,印制电路板(PCB)是其核心的 “骨架”,支撑并连接着各种电子元件,让电子产品得以实现复杂的功能。以往,PCB 常见的颜色是绿色,然而,猎板打破常规,推出…

Navicat 技术指引 | TiDB 数据查看器

目前,Navicat 两款工具支持对 TiDB 数据库的管理开发功能:一款是旗舰款 Navicat Premium,另一款是其轻量化功能的 Navicat Premium Lite(官方轻量级免费版)。Navicat 自版本 17.1 开始支持 TiDB 7。它支持的系统有 Win…

xlsx、xlsx-style 的配置及导出(分享)

文章目录 1. 基础配置1.1 单元格内容1.2 单元格合并、列宽、行高1.3 单元格样式 2. sheet 配置、多个 sheet3. excel 导出4. 数据插入(进阶) 1. 基础配置 1.1 单元格内容 注:xlsx、xlsx-style 都存在 write 方法,xlsx 设置单元格…

算法第38天|322.零钱兑换\139. 单词拆分

322.零钱兑换 题目 思路与解法 class Solution { public:int coinChange(vector<int>& coins, int amount) {// dp数组&#xff1a;// dp[i]: 凑成总金额i&#xff0c;所需的最少硬币个数vector<int> dp(amount 1, INT_MAX);dp[0] 0;for (int i 0; i &l…

使用MobileNetV3训练水果分类模型并用Flask部署

前言 在计算机视觉领域&#xff0c;图像分类是一个基础且重要的任务。本文将介绍如何使用MobileNetV3预训练模型来训练一个水果分类模型&#xff0c;并通过Flask框架进行部署。MobileNetV3作为轻量级网络&#xff0c;在保持较高精度的同时&#xff0c;具有较快的推理速度&…

SCADA技术与市场全景解析

SCADA系统作为工业自动化领域的关键组成部分&#xff0c;成为了工业企业推进数字化转型的有力抓手。本文将重点介绍SCADA系统的发展历程、系统构成及工作原理、发展趋势&#xff0c;分析其行业应用差异&#xff0c;以及与物联网和组态软件的区别&#xff0c;梳理其在不同行业的…

在线教学课程视频AI智能大纲代码与演示

AI根据视频内容自动生成视频大纲&#xff0c;极大地提高了视频内容的管理效率、可访问性和用户体验&#xff0c;是推动视频内容智能化发展的重要一环。AI根据视频内容自动生成视频内容大纲。这种功能&#xff0c;应用场景有哪些&#xff1f; 应用场景&#xff1a; 在线教育平台…

动态WCMP+Flowlet ALB:双引擎驱动智算网络负载均衡

传统网络架构的困境 在 AI 算力爆发的今天&#xff0c;数据中心网络正经历前所未有的流量形态变革。传统 Clos 网络架构依赖逐流 ECMP 均衡算法&#xff0c;其设计逻辑基于 “大量短流” 假设&#xff0c;通过五元组 HASH 实现负载分担。然而 AI 训练场景呈现出鲜明的流量特征…

软件测试题

选择题 1、导致软件缺陷的原因有很多&#xff0c;①—④是可能的原因&#xff0c;其中最主要的原因包括( )。 ①软件需求说明书编写的不全面&#xff0c;不完整&#xff0c;不准确&#xff0c;而且经常更改 ②软件设计说明书 ③软件操作人员的水平 ④开发人员不能很好的…

微信小程序页面容器弹出层

效果图 .JS Page({data: {show: false,duration: 300,position: right,round: false,overlay: true,customStyle: ,overlayStyle: },popup(e) {const position e.currentTarget.dataset.positionlet customStyle let duration this.data.durationswitch(position) {case to…

Excel批量计算时间差

执行以下操作&#xff0c;将自定义格式代码应用到单元格&#xff1a; 选择相应的单元格。在"开始"选项卡上的"数字"组中&#xff0c;单击"常规"框旁边的箭头&#xff0c;然后单击"其他数字格式"。在"设置单元格格式"对话框…

shell脚本--变量

1.变量是什么 2.变量类型 3.动态&#xff0c;静态&#xff0c;强弱类型 4.变量的命名 5.变量的定义和引用 5.1三种变量类型 普通变量 环境变量 局部变量 5.2单引号&#xff0c;双引号&#xff0c;强弱引用 双引号对变量赋值的影响01:59&#xff1a;给变量加双引号&#x…

大模型Text2SQL之在CentOS上使用yum安装与使用MySQL

前言 学习大模型的时候需要一个mysql&#xff0c;原因还是在公司使用电脑的时候不允许按照Docker-Desktop&#xff0c;我的宿主机其实是MAC&#xff0c;我习惯上还是在centsos上面安装,就发现这件过去很简单的事情居然捣鼓了我蛮久&#xff0c;记录一下。 容器环境 我直接安…

机器人大脑的进化:Physical Intelligence如何用“知识隔离“破解VLA模型三大难题

目录 引言&#xff1a;当GPT遇上机器人手臂 第一章&#xff1a;VLM 与 VLA的介绍 VLM (Vision-Language Model) - 视觉语言模型 VLA (Vision-Language Agent) - 视觉语言智能体 VLM和VLA的对比 第二章&#xff1a;VLA模型的进化史 - 从"口述指挥"到"精确控…

LeetCode 662. 二叉树的最大宽度

文章目录 LeetCode 662. 二叉树的最大宽度题目描述思路Golang 代码 LeetCode 662. 二叉树的最大宽度 记录一次刷题的感悟。这道题目是我人生第一次面试的时候的手撕题目&#xff0c;但临场的时候面试官没有为难我&#xff0c;他考察的问题是求二叉树的最大宽度&#xff0c;但是…

【linux】bash脚本中括号问题

在 Bash 脚本里&#xff0c;中括号 [ ] 其实是 test 命令的同义词&#xff0c;[ 是一个命令&#xff0c;] 是该命令的最后一个参数&#xff0c;所以中括号内外的空格会影响命令执行&#xff0c;下面详细说明&#xff1a; 中括号内侧空格 中括号内侧与操作数之间必须有空格&…