2022
我们一起努力

nginx静态资源服务器(nginx静态资源权限控制)

目录:

  • 1、node静态资源nginx部署部署后无法访问
  • 2、详解nginx如何代理静态资源(长搜索路径优先)
  • 3、nginx用c#编写
  • 4、nginx 在前端中的简单应用

node静态资源nginx部署部署后无法访问

1、首先确认静态资源文件夹是否已经放在与 nginx.exe 同级的目录中。

2、确认 conf 文件夹中 nginx.conf 文件里 location 中 root 后面是否填写正确的静态资源文件名。

3、Nginx 服务器的目录路径不能有中文,检查路径中是否有中文,有的话,需要移出来。

4、确认以上修改没有问题后,进入任务管理器,点击详细信息,找到所有的 nginx.exe 停止运行,并清理浏览器上的缓存,重启 nginx 服务器。

5.若以上操作均没有问题,那么最后可能导致的原因是防火墙,检查防火墙是否关闭。

详解nginx如何代理静态资源(长搜索路径优先)

web服务器重要的的任务之一就是服务静态资源文件,比如网站的图片,还有一些静态的HTML页面,本文的例子还是来自于Nginx官网。在这个用例中我们要配置两个静态资源路径,来处理外部的静态资源请求。我们会更改配置文件中,server块下http下的location。

首先需要创建/data/www目录,然后将index.html文件,文件的内容并不重要,本例只是指引我们观察nginx如何找到和发送静态资源。然后在创建一个/data/images目录,并放置一些图片文件。

下一步打开配置文件,默认的配置文件中已经包含了一些server块,大多数已经注释掉了,官网让我们把server块都注释掉,重写写一个新的空的server块,但注意,一定不要将http注释掉,nginx通过识别它才能知道我们需要处理的是http请求。

通常,配置文件可能会包含多个server块,这些server块可以由端口号区分,也可以由server names来区分。当nginx决定由哪一个server去处理请求的时候,nginx会根据server块中location参数去测试请求头中指定的URI

现在在server块中添加location块

该location块指定了URI请求的根目录前缀,"/"。对于请求来讲,URI被添加在root路径具体指向的目标路径,如果存在的多个匹配的位置块,nginx将选择前缀最长的位置块(可能是因为更加具体)。上方的location块提供的已经是最短前缀了,也就是说,server块中所有的location块如果都没有匹配到,则该location块将会被采用。

官网的说法真的非常绕,我觉得思路就是, nginx首先会优先去具体的location块匹配资源(规则是参数越长,越优先查找),如果都查不到就去根路径查。

我们再加一个location块

这个location块会匹配以/images/开始的请求,但上一个(location块 location / 也会匹配该内容,记得吗,Nginx会先匹配长路径location块)

现在为了看的更加清楚,在加过这两部分内容之后的配置文件应该长这样

重新加载nginx之后,配置会更新,使用:

现在该配置文件已经生效了,配置在监听80端口的本地服务器上,我们可以在本地访问 ,在此之后例如 这样的请求, Nginx会映射到location /images/去,如果请求的资源不存在,Nginx将返回404页面,404页面是可以定制的,一般企业也会定制属于自己的404页面。

后续的内容我还打算针对一些常见场景,记录以下nginx的配置文件针对不同场景和需求该如何去写,以及为什么这么写。Nginx一些模块的详细介绍不打算专门写,大家如果有需求可以看官方文档。

nginx用c#编写

C#打包PHP集成环境之打包Nginx 原创

2022-09-18 00:36:14

67号人生

码龄6年

关注

C#打包Nginx,并默认启动nginx

开发准备

上代码

本机环境:(1)windows 10 家庭旗舰版(2)浏览器:IE11、Edge(3)Visual Studio 2019

日期:2022年9月18日

作者:牧羊人

开发准备

1、nginx

2、隐藏cmd命令窗口用的工具

RunHiddenConsole.exe

上代码

//启动nginx

System.Diagnostics.ProcessStartInfo App_Ngnix = new System.Diagnostics.ProcessStartInfo();

//App_Ngnix.FileName = Application.StartupPath + "\\ANMP\\RunHiddenConsole.exe";

//32位、x64的RunHiddenConsole.exe 运行效果都是一样的

//App_Ngnix.FileName = Application.StartupPath + "\\RunHiddenConsole.exe";

App_Ngnix.FileName = Application.StartupPath + "\\RunHiddenConsole.exe";

//这里需要使用相对路径 相对于RunHiddenConsole.exe所在位置

App_Ngnix.Arguments = "..\\..\\Nginx\\nginx.exe";

//这里用绝对路径,运行是无效的,考虑应该是与RunHiddenConsole.exe有关

//App_Ngnix.Arguments = Application.StartupPath + "\\Nginxs\\nginx.exe";

System.Diagnostics.Process app_ngnixp;

try

{

app_ngnixp = System.Diagnostics.Process.Start(App_Ngnix);

}

catch

{

MessageBox.Show("没有该文件...");

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

运行效果截图

运行效果截图

如需源代码支持,请打赏后留言邮箱。

内容绝对原创,希望对您有帮助。您的打赏,是让我持续更新的牛奶和面包

在这里插入图片描述

点击阅读全文

打开CSDN APP,看更多技术内容

C#,用IIS和Nginx写一个简单的负载均衡(二)_萌新级程序猿的博客-CSDN...

proxy_connect_timeout 1; proxy_read_timeout 1; proxy_send_timeout 1; 然后重启nginx,刷新浏览器,再次进入服务器1只会卡顿1秒左右,nginx就会判定连接超时,分流给其他服务器

继续访问

Nginx是干什么的_c# nginx干嘛用的_DLoong+的博客

Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

继续访问

最新发布 使用c#将aj-report桌面化:2.c#桌面程序合成nginx

上一节我们讨论了c#页面嵌入chrome浏览器的问题,现在浏览器有了,我们如何将浏览器加载的页面指向我们自己的页面呢?

继续访问

C#控制Nginx + PHP + MySql的程序

摘要:C#源码,网络相关,Nginx,读写注册表 C#控制 Nginx + PHP + MySql 的开源程序, 2.0环境开发,可控制你电脑上的PHP及MYSQL程序停止和启动,主界面可置顶、可隐藏、可显示托盘图标,使用时将Bin\Debug**出来即可,双击WebSite.FengYi.exe即可。C#控制 Nginx + PHP + MySql 的开源程序主要功能: 1. 所有功能通过读写注册表功能; 2. 每个功能以及参数配置支持纠正功能,防止错误; 3. 只允许一个实例运行; 4. 关闭提示,隐藏、退出、退出所有服务、记住我的选择等功能。 作者:FengYi,Q

Nginx入门方面知识点

1.2 应用场景的应用 二、Nginx的安装和常用命令介绍 2.1 Nginx的安装 1)环境准备工作 2)上传、解压、更名 3)设置配置路径 3)编译并安装 4)配置环境变量,并校验 2.2 常用命令的介绍 注意:配置文件里默认监听的端口号是80,主机名为localhost 2.3 配置文件的介绍 三、Nginx的应用案例配置(重点) 3.1 HTTP服务 参考配置: 3.2 虚拟主机的应用 步骤1) 配置linux的多个ip地址 步骤2)修改nginx的配置文件 步骤3)完善配置文件中的各

继续访问

Nginx教程(小白必看,看了必会,不看血亏),

Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

继续访问

html c#部署到nginx,高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置与部署及“Hello World”...

高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置、部署与“Hello World”Author: PoechantEmail: zhongchao.ustc#gmail.com (#-@)Date: August 29th, 2011Update: February 26th, 2012这一次我们要学习什么?就是用Nginx在一台机器上搭建一个最简单的显示“H...

继续访问

C#,用IIS和Nginx写一个简单的负载均衡(一)

关于这方面的博客很多,所有我就单纯得把这篇博客当做笔记本了,尽可能的把每个步骤的问题写详细点,方便自己记忆 首先是nginx的下载地址 下载地址 激动得运行,然后?? 在logs文件夹下面的error.log发现了这个 [emerg] 9776#14032: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a s...

继续访问

C#程序使用Nginx时出现的重定向问题

Nginx重定向 前段时间接到同事的反馈说是系统中某个页面提示连接超时。我排查了一下,发现是页面重定向了。 打个比方,正常来讲,如果我在iis上部署了一套程序,端口号是8081,然后客户需要在外网上做业务,于是配置了nginx,设置的外网端口号是8082,每次访问系统的页面是时,都会把网址重定向到nginx配置的外网网址上。 但是,当访问部分页面时,网址虽然并没有变,但端口号又变回了8081。翻查了一下代码,发现跳转页面的时候用的是Page.Response.Redirect("xxx.aspx?"); 又

继续访问

c# nginx 配置

listen 8095; #端口 server_name localhost; #域名可以有多个 用空格隔开 #charset koi8-r; #access_log logs/host.access.log main; location / { root E:\; #代理项目路径 index index.html; #项目的地址 } location...

继续访问

php封装webservice_C#_WebService 的简单封装接口调用方法,此方法完成了简单WebService 的 - phpStudy...

WebService 的简单封装接口调用方法此方法完成了简单WebService 的简单调用封装,实现了简单Webservice简单调用的统一操作,避免了每增加一个操作都必须增加一个接口方法 的囧状!/// /// 封装同一的接口调用方法/// /// 传入的简单sql/// 连接数据库字符串/// 返回的dataset[WebMethod]public DataSet GeneralDataSe...

继续访问

NET 6+Nginx实现负载均衡

linux输入/usr/local/nginx/**in/nginx-c/usr/local/nginx/conf/nginx.conf,如果已经启动可以使用/usr/local/nginx/**in/nginx-sreload命令进行热加载配置文件,Windows直接点击Nginx目录下的nginx.exe或者cmd运行startnginx进行启动,如果启动了依旧可以使用nginx-sreload进行热加载。在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类,主要分为。...

继续访问

C# 控制 Nginx + PHP + MySql 的开源程序 1.0

项目介绍: ---------- C# 控制 Nginx + PHP + MySql 实例,基于 Net 2.0 开发环境,纯绿色运行。 直接使用,将Bin\Debug,**出来即可使用。 主要功能: ---------- 1. 所有功能通过读写注册表功能; 2. 每个功能以及参数配置支持纠正功能,防止错误; 3. 只允许一个实例运行; 4. 关闭提示,隐藏、退出、退出所有服务、记住我的选择等功能。 作者:FengYi QQ:85807571 Email:fengyihot@qq.com 官方网站:

Nginx不停服工具

使用此工具需结合文章:

PHP能参与桌面项目吗?适合吗?——C#客户端 嵌入 PHP 一例

继Python和Ruby能集成C#后,现在PHP也可以嵌入到C#中了。下载(含应用程序源代码和PHP5的dll):Part1 Part2先看程序界面 再看PHP代码:function OnDNButton1Click() { $textBox1=dsRE_GetSharedObject(NULL,"WinApp1.Form2.textBox1"); $textBox1-

继续访问

C#自动更新程序demo

以nginx作为静态资源服务器,C#编写的客户端自动更新程序,包含直接更新及断点续传,解压容错等简单demo

C# Nginx Redis Session共享实践

使用Nginx+IIS+Redis实现负载和C#操作Redis的例子。文档包含Nginx、DemoWeb和Redis Server。 本示例通过Nginx实现对IIS Web的负载,通过使用Redis数据库存储Session数据。

C#控制Nginx+PHP+MySQL集成环境 1.0

C#控制Nginx+PHP+MySQL集成环境实例源码,基于Net2.0开发环境,纯绿色运行。直接使用,将Bin\Debug,**出来即可使用。 主要功能: 1.所有功能通过读写注册表功能; 2.每个功能以及参数配置支持纠正功能,防止错误; 3.只允许一个实例运行; 4.关闭提示,隐藏、退出、退出所有服务、记住我的选择等功能。 注意: 开发环境为Visual Studio 2012

热门推荐 使用Nginx负载均衡搭建高性能.NETweb应用程序二

在文章《使用Nginx负载均衡搭建高性能.NETweb应用程序一》中,让我们对Nginx有了一个初步认识,下面我们将在windows平台下面使用Nginx演示集群部署我们的web应用。 一、下载Nginx部署包 到Nginx官网去下载一个windows平台下面的Nginx部署包,目前我下载的是一个nginx-1.6.2版本的。 二、命令启动服务 启动:start ngi

继续访问

nginx+asp.net mvc的配置

终于成功配置了一次nginx,这里记录一下,以免以后忘记 由于我是在本地测试的,所以修改了hosts文件 127.0.0.1 admin.mall.dogzhang.com 然后时iis的配置 这里一共启用了8个网站,用于模拟负载的多个站点 然后时nginx配置 worker_processes 8; events { worker_connectio

继续访问

nginx c#

nginx 在前端中的简单应用

Web 服务实际上又称静态资源服务,自从前后端分离后,前端的输出趋向于静态资源的形式,什么是静态资源:就是我们通常用webpack构建输出的结果,比如:

而为了提供文件在互联网中的可访问性,前端还是需要依赖 静态资源服务 ;最常用的做法就是Node服务和Nginx服务。

Node服务最常见的,就是WebpackServer, 在前端开发联调时经常用到, 启动后我们就可以通过 的形式来访问构建资源;除此之外,我给大家安利另一款Node服务库: serve , 它也能快速启动一个静态资源服务。

但在生产环境,我们一般用Nginx来处理,不是Node不好,而是Nginx已经够好了。通常整个大前端会有很多前端项目,我们都将构建结果放在一台服务器上(一般有备份机器)的某个文件夹下,然后通过安装Nginx来创建一个静态资源服务供所有前端资源的访问;比如文件夹static下有A,B,C,D四个前端项目资源, 我们通过nginx配置:

我们即可通过 访问A项目,通过 访问C项目, 从而做到一鸡多吃,这种玩法在HTTPS与HTTP2的时代特别常见。

以上就是Nginx作为Web服务的简单用法,接下来我们了解一下反向代理服务

作为一个开发者,可能经常听到 代理 两字,但很多人区分不清楚正向和反向的区别:

如上图左侧所示,正向代理是用户的主动行为,如我们fq时访问goggle所做的;右侧反向代理是我们访问的服务器行为,作为用户的我们是不能控制也无需关注的。

反向代理在服务部署中,是一种非常常见的技术,比如负载均衡、容灾、缓存。

而对于前端开发来说,反向代理多用于请求转发,来处理 跨域 问题。当我们把前端静态资源服务都指向一个域名(static.closertb.site)时,与服务端请求域名(server.closertb.site)不一致,就会造成跨域。如果服务端不配合的话,那通过nginx,前端也是可以轻松做到的,在前面的配置上,我们添加:

所以当网页发出一个请求: 时,实际请求地址是: ,这就简单实现了一个服务代理。其原理与WebpackServer的proxy相似.

以上就是Nginx的web服务和代理服务在前端开发中的两个典型使用场景, 接下来我们说点零碎又有用的

当请求 )时,将会返回服务器上的/home/static/static/a/logo.png文件,即'/home/static'+'/static/a/logo.png',其 拼接的地址是匹配字符串及其以后的

而对于alias:

当请求 )时,将会返回服务器上的/home/static/a/logo.png文件,即'/home/static'+'/a/logo.png',其 拼接的地址是除了匹配字符串以后的地址

你可能见过A这种:

也可能见过B这种

有什么区别?

两者与root 和 alias有相似之处,只不过这种差别,只适用于:

所以当收到一个请求: ) 时,配置A将会把请求代理到: ); 配置B将会把请求代理到: )

这个知识,在代理配置中真的相当重要

当我们下架一个前端服务,或者用户访问了某个根本不存在的页面,我们不希望用户看到的是404,而是将其引导到一个模糊正确的页面,这时候我可以用rewrite服务;反手一个配置,直接就将流量打到了网站首页;

另一个比较常用的,就是网站开启https,我们需要将所有http请求重定向到https:

上面同是rewrite,但还是有不一样的 ,一个是redirect(302), 另一个是permanent(301),这两个还是有很大区别的;

web 性能优化是前端的一门学问,好的静态资源加载速度,会显著提升用户体验,而nginx作为最常用的静态资源服务器,也是有诸多渠道来帮助我们来提升静态资源加载速度,简单来讲,可以三个方面,直接上配置:

``if ( ) {

expires 365d;

add_header Cache-Control max-age=31536000;

}/pre

expires与max-age两种配置方式都可以达到告诉浏览器资源一年以后过期的目的,更多关于http缓存的可以 看这一篇文章 ;

赞(0)
文章名称:《nginx静态资源服务器(nginx静态资源权限控制)》
文章链接:https://www.fzvps.com/245780.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!