Nginx常用功能详解

NGiNX 是个非常优秀的HTTP 服务器软件,可以通过设置有实现许多功能,如目录保护、IP访问限制、防盗链、下载限速及设置多域名等等

 

一、NGINX目录保护及访问限制

Nginx保护目录的配置如下,目录密码保护文件是 /usr/local/nginx/htpasswd

location ~ /admin {

#admin为要保护的目录名称,location 的意思就是保护从网页根目录算起的admin 目录

auth_basic     ”PLEASE LOGIN”;      #就是进入资料夹时会显示的信息

auth_basic_user_file /usr/local/nginx/htpasswd; #验证用户及密码文件,我这边设定是放在 /usr/local/nginx/htpasswd

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /var/www/bbs$fastcgi_script_name;

include    fastcgi_params;

}

注意,设置目录密码保护时,请注意配置区块的位置,如果放在location ~ \.php$ {}区块后面,如果打开的是静态页面或图片等非php文件,会提示要输入密码,但是,如果打开的是php文件,则设置无效,会直接执行php文件并显示。因此,一定要注意把要设置目录密码保护的区块放在location ~ \.php$ {}区块之前。

生成密码文件:

htpasswd -b -c /usr/locla/nginx/htpasswd username password;

二、NGINX防盗链

另外 NGiNX 防盗链,防止别人偷图(视频、flash、软件…)当然也是 OK 滴!  一样也是在 server 的区段加上

location ~* \.(txt|ico|gif|png|bmp|jpg|jpeg|zip|rar|gz|7z|exe|mp3|flv|swf)$ {

valid_referers none blocked jb51.net www.jb51.net ;

if ($invalid_referer) {

rewrite ^/ http://www.jb51.net/notlink.html;

}

}

这时候 location 的意思就是保护从网页根目录算起,所有的指定类型的文件都依照此规则

valid_referers none blocked 的意思就是不阻挡从哪些地方来的囉~ 这边以空格来分隔允许的域名或 ip 位置

$invalid_referer 的意思就是不允许连结

rewrite ^/ http://www.jb51.net/notlink.html; 的意思就是指定不允许的连结自动转向到一个页面,或是已经有设定 404 转址的也可以先注解掉这行再把 #return 404 的注解拿掉,就会自动跑到你设定的 404 页面了。

特别提醒:如何来看防盗链是否是生效的,建议大家直接看服务日志,不要拿个网站来测试。因为有些不要脸的家伙(比如某度),他会用自己的图片服务器来提供服务。就是因为这个原因,上一次我在做这个的时候,浪费了很多时间。

三、NGINX下载限速

NGiNX 还能限速再限制下载线程!  先在 http 区段找到 limit_zone,再把注释拿掉~

# 设定一个叫做 crawler 的区域,大小为 20MB

limit_zone crawler $binary_remote_addr 20m;

然后在 server 的区段加上

# 限制档案类型只能单线下载

location ~ .*\.(zip|rar|gz|tar|exe|mp3|flv|swf|jpg|jpeg)$

{

limit_conn crawler 1;

limit_rate 500k; # 再加上限速

}

# 限制特定资料夹底下只能单线下载

# location /download/ {

# limit_conn crawler 1;

# limit_rate 500k; # 再加上限速

# }

四、NGINX多域名设置

今天在配置PHP+Nginx时出现一个严重的问题,在Nginx虚拟主机上绑定了泛域名,在程序中需要用二级域名指向不同的内容,但无论如何访问都只跳转到主域名上!为了找到问题,一个一个试验,得出如下结论:不管绑定多少域名,用 $_SERVER["SERVER_NAME"] 只会返回虚拟主机中绑定的第一个域名!

比如绑定域名如下:

server_name     www.jb51.net *.jb51.net jb51.net

现在我不管用什么域名访问, $_SERVER["SERVER_NAME"] 都只会返回 www.jb51.net !!这是个很严重的问题,对泛域名造成了致命的影响!

既然有问题,就肯定有解决方案。。在wiki主翻了N久,终于找到了需要的资料!原来:$_SERVER["SERVER_NAME"] 返回的值是由 Nginx 的 fastcgi_param 中 SERVER_NAME 提供的,而默认的配置为:

fastcgi_param  SERVER_NAME    $server_name;

Nginx中 $server_name 变量就是上面设置的域名,只会返回第一个!

这下好办了,把上面的配置改成:

fastcgi_param  SERVER_NAME    $host;

就行了。

另外还需要在server_name配置后面加一行:

server_name_in_redirect off;

意思是 让 nginx 在处理自己内部重定向时不默认使用  server_name 设置中的第一个域名!

内容来源于 小红提技术博客,http://www.xiaohongti.com/ 转载请保留地址,尊重版权。

Nginx配置文件详解及常用功能配置 本文分享了Nginx的配置文件详解和常用功能配置。 阅读详情

相关推荐

安时积分法和开路电压法结合估算锂电池SOC

基于安时积分法和开路电压法结合的锂电池SOC估计Simulink仿真建模,利用安时积分法计算放电过程中的SOC,在搁置状态利用开路电压法进行SOC修正。

qq_39304296的博客 2558

nginx配置文件简单说明

#定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log /var/log/nginx/error.log info; #进程文件 pi...

denghenger5584的博客 253

PLSQL Developer14连接Oracle详细过程

下载地址:Instant Client for Microsoft Windows (x64) 64-bit | Oracle 中国解压客户端工具到一个目录(解压文件到当前目录,自动合并成一个目录)​ 电脑(右键)→属性→高级系统设置→环境变量→系统环境变量→新建变量名:NLS_LANG 变量值: AMERICAN_AMERICA.ZHS16GBK​ 变量名:TNS_ADMIN 变量值:C:\xiaxinyu\software\Oracle\instantclient_19_10​ 在Oracle客户端(C

summer_fish的专栏 3985

nginx.conf配置文件详解

一:nginx配置文件结构 nginx配置文件主要分为六个区域: main(全局设置)、events(nginx工作模式)、http(http设置)、 sever(主机设置)、location(URL匹配)、upstream(负载均衡服务器设置) main events { ... } http { main server { ...

weixin_30733003的博客 1724

记一次Nacos线程数飙升排查

Nacos线程飙升问题排查

叭嘣的博客 2633

ROS2 Jazzy 学习路线图(2026最新)

摘要: ROS2 Jazzy(LTS版)是2026年长期支持版本,仅适配Ubuntu 24.04。本文提供WSL环境下的学习路线图: 环境搭建(1-2天):配置WSL2+Ubuntu 24.04,安装ROS2 Jazzy及图形工具(VcXsrv、VS Code)。 核心概念(3-5天):掌握节点、话题、服务等通信机制,使用turtlesim和小海龟仿真实践。 开发实战(7-10天):Python/C++节点开发,结合RViz2、Gazebo等工具完成多节点通信和避障项目。 进阶应用(10-15天):导航(N

zheng_ruiguo的专栏 640

Nginx目录保护、防盗链、限速及多域名处理

http://www.opsers.org/server/nginx-directory-protection-anti-hotlinking-processing-speed-and-multi-domain.html NGiNX 是个非常优秀的HTTP 服务器软件,可以通过设置有实现许多功能,如目录保护、IP访问限制、防盗链、下载限速及设置多域名等等   一、NGINX目录保护及访问限制...

weixin_34344677的博客 424

ArcGIS属性表汉字转拼音

接着我安装了一个编辑器“PyCharm Community Edition 2019.3.3\bin\pycharm64.exe”,在里面添加“pypinyin”包,然后将其设置为arcgis的编辑器和调试程序,还是失败;我在10.6的机器上折腾了上面几步,直到两周后脚本突然运行成功,我也不确定是哪一步导致pypinyin包配置成功,因此将心得体会写出来,如果过一段时间,打开10.2的机器运行脚本成功了,再写后续.......,按照“配置方法1:”进行尝试,显示配置失败。

2301_77413856的博客 1295

Nginx部分配置介绍

目录 Nginx部分特性简介: Nginx支持热加载: nginx.conf文件: worker_processes: worker_connections: Nginx日志文件分解: sedfile: tcp_nopush: gzip: 配置多个监听同一端口的Server: location的配置: 反向代理: 基于反向代理的负载均衡: upstream: 修改hosts文件达到反向代理负载均衡目的: Nginx的session一致性问题: 解决方案1: 解决方案2:

承缘丶 1208

Tesla v100 4张显卡组装机安装vllm和ollama在Ubuntu系统上的安装---AI大模型系统从零开始0032

本文提供Ubuntu22.04系统下vLLM的完整安装指南,适配4×32G Tesla显卡的单机4卡张量并行部署。教程包含:1)硬件要求(Ubuntu22.04、NVIDIA驱动≥535、CUDA12.1+);2)NVIDIA驱动自动安装方法;3)Python3.10虚拟环境配置;4)vLLM官方预编译包一键安装;5)单机4卡启动Qwen3.6-27B模型的完整参数说明(含FP8量化、多进程并行等关键配置)。文末附分布式部署的Ray集群方案参考链接,适用于多机8卡场景。

添柴程序猿的专栏 186

基于Python的船舶AIS数据爬取与分析:从数据采集到可视化实战

本文详细介绍了如何使用Python构建一个完整的船舶AIS数据爬取与分析系统。文章从AIS系统的基本原理讲起,逐步深入到数据采集、存储、清洗、分析和可视化的全流程。我们将使用最新的Python技术栈,包括aiohttp异步爬虫、MongoDB存储、Pandas数据处理以及Pydeck三维可视化等。本文提供了完整的代码实现,并探讨了在实际应用中可能遇到的问题及其解决方案。关键词:AIS数据、Python爬虫、异步IO、数据可视化、海事分析。

2201_76125261的博客 812

Nginx常用配置及和基本功能详解

Nginx是一款高性能的开源Web服务器和反向代理服务器,它具有轻量级、可靠性高和高并发处理能力的特点。这些是Nginx的一些常用配置和基本功能。Nginx还具有更多的高级功能和模块,可以根据具体需求进行灵活配置和扩展。

kkk1622245的博客 231

【YOLOv11改进 - 特征融合】DySample :超轻量级且高效的动态上采样器

【YOLOv11改进 - 特征融合】DySample :超轻量级且高效的动态上采样器

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1072

Nginx配置文件详解及常用功能配置、应用场景

Nginx可以高效地处理静态文件请求,如HTML、CSS、JavaScript、图片等,直接向客户端提供这些文件,而不对其进行处理,从而减轻后端服务器的负担。:Nginx支持会话保持功能,如基于IP哈希的负载均衡策略,可以确保来自同一客户端的请求被分发到同一个后端服务器上,从而保持会话的一致性。:通过Nginx作为反向代理,可以隐藏后端服务器的真实地址,客户端只能与Nginx进行通信,从而增强了后端服务器的安全性。:包含服务器对HTTP请求的处理方式,是Nginx配置中最复杂的部分。

运维老生常谈 1803

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Nginx配置文件详解及常用功能配置(实用率90%)

Nginx如何快速编译安装Nginx,接下来将对Nginx进行一个全面的介绍,并分享常用的功能配置

qq_24442273的博客 1063

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

详解关于Nginx常用配置及和基本功能

Ngnix是一款高性能反向代理服务器,学习它非常有必要,本文讲解了Ngnix核心配置,介绍了反向代理,负载均衡,动静分离三大功能,最后扩展了一些常用的指令。本文介绍了Ngnix的基础用法,后续的Ngnix内核以及原理部分有待研究。

wdj_yyds的博客 198

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Nginx常用配置及和基本功能详解!

Nginx是一款高性能的开源Web服务器和反向代理服务器,它具有轻量级、可靠性高和高并发处理能力的特点。这些是Nginx的一些常用配置和基本功能。Nginx还具有更多的高级功能和模块,可以根据具体需求进行灵活配置和扩展。

高性价比服务器就选:蓝易云 266

《Nginx 进阶实战:配置详解、站点发布与常用功能大全》(2)

核心内容: Nginx 配置文件参数详解(主配置、事件、HTTP 块) 基于域名的 Web 站点发布(虚拟主机配置) location 中的 root 与 alias(区别与最佳实践) location 字符匹配(优先级、正则、精准匹配) 长链接优化(keepalive、超时配置) Nginx Web 页面账户认证(basic_auth) 自定义错误页面与错误日志 Nginx 文件检测、下载服务器搭建 Nginx 状态页、压缩功能(gzip/brotli)

fjwyyy的博客 1209

Nginx学习总结

Nginx功能 1、反向代理 2、负载均衡 3、动静分离 高可用集群配置 依赖的软件 Linux下安装软件 yum用法 常用命令 配置文件分为三个部分 Tomcat端口修改:启动、关闭

qq_40184195的博客 313

【全网】Nginx最全使用教程

第【67篇】文章,每一篇都是亲自实践后的总结,只希望能够帮助都有需要的人。“莫愁前路无知己、天下谁人不识君”,如果觉得本文对你有用,可以帮忙。

2401_84048161的博客 1797

nginx学习

文章目录基本概念常用命令配置文件介绍实际部署 基本概念 正向代理 在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问 反向代理 我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器收获数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实的服务器IP地址 负载均衡 早期的架构模式大多是,客户端发送多个请求到...

长舒的博客 413

nginx笔记

简介 反向代理 负载均衡 动静分离 常用命令 需进入nginx的sbin目录 查看版本 ./nginx -v 启动 ./nginx 停止 ./nginx -s stop 重新加载 ./nginx -s reload 反向代理 正向代理 反向代理 负载均衡 动静分离 ...

weixin_44427626的博客 170

Nginx 简介与安装、常用的命令和配置文件

1、nginx 简介(1)介绍 nginx 的应用场景和具体可以做什么事情 (2)介绍什么是反向代理 (3)介绍什么是负载均衡 (4)介绍什么是动静分离 2、nginx 安装(1)介绍 nginx 在 linux 系统中如何进行安装 3、nginx 常用的命令和配置文件(1)介绍 nginx 启动、关闭、重新加载命令 (2)介绍 nginx 的配置文件 1.1 Nginx 概述Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能 力强,事实...

深蓝旭的博客 98

Nginx

Nginx首先了解Nginx的功能和特性Nginx的特性: 模块化设计、较好扩展性 高可靠性 master-->worker 低内存消耗 10000个keep-alive连接在Nginx仅消耗2.5MB 支持热部署 不停机而更新配置文件、更换日志文件...

weixin_34144848的博客 99
上一篇: 搭建Nginx+Java环境
下一篇: MongoDB知识整理
yufei_java
博客等级 码龄10年 18粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值