项目中用到了nginx,好像是为了能在本地调试,项目一般都有开发环境、测试环境,线上环境。 使用的时候需要配置一些文件,由于不知道nginx到底起什么作用,所以在配置文件的时候,很是懵逼,想请教一下,nignx到底是干啥的,由于本人是前端,对后端的知识基本不了解,所以最好说明的时候能举一点例子,最后,拜谢!!!
画圈的地方干啥的?
项目中用到了nginx,好像是为了能在本地调试,项目一般都有开发环境、测试环境,线上环境。 使用的时候需要配置一些文件,由于不知道nginx到底起什么作用,所以在配置文件的时候,很是懵逼,想请教一下,nignx到底是干啥的,由于本人是前端,对后端的知识基本不了解,所以最好说明的时候能举一点例子,最后,拜谢!!!
画圈的地方干啥的?
Nginx主要是用来做反向代理、智能调度(负载均衡)。
首先,了解一下什么是代理、什么是反向代理:
翻墙软件、VPN就属于代理服务器,他们是代表网民发起请求。对于服务器来说,它并不知道真正的网民IP,它认为VPN服务器就是请求发起者。
Nginx就属于反向代理服务器,网民首先请求到它,它再向真正的服务器发请求。对于网民来说,它认为Nginx服务器就是真正提供服务的,并不知道真实服务器是哪个。
网民 ————> Web应用
网民——>VPN ————> Web应用
网民 ————> Nginx——>Web应用
其次,Nginx还可以作为调度服务器:
1、根据URL进行调度(OSI第七层)。比如:/media/ 开头的URL请求调度到静态路径,/api/ 开头的URL调度到后端Python、PHP、JAVA等应用(这也是反向代理); 或者是/aaa/ 调度到服务器1.1.1.1,/bbb/ 调度到服务器2.2.2.2
2、负载均衡:upstream backend 里配置多个服务器,当有请求的时候,根据配置的调度策略(加权轮询、IP哈希、最少连接数、一致性哈希)给请求者返回相应的服务器IP。
具体的,你还是自己查查吧,这里也都说不全。
Nginx是Web服务器,你的浏览器是客户端。
一个提供服务,一个请求服务,就是这样的。
而你圈起来的地方是主机配置里的域名,nginx收到客户端的请求后,就会根据请求信息和主机配置来返回不同的内容。
比如静态文件jpg直接返回给客户端,php之类的动态脚本便交给解释器执行后返回,如果有负载均衡设置,请求则转发到不同的机子上。
2 回答1.1k 阅读
1 回答884 阅读✓ 已解决
1 回答747 阅读
1 回答928 阅读
742 阅读
Nginx 监听服务器的80或者443端口(listen 80 就代表监听80端口),一般直接访问网站都是通过这两个端口,一台服务器可以绑定多个域名(楼主配置文件中就是多个子域名),根据不同的域名,Nginx会去找不同的地方去访问,例如楼主的配置中,当有人访问 hr.local.lieni.com/new (这个new是由
location ^~ /new
配置决定的) 是Nginx就会返回 D:lieni-wwwweb-hrsrc 下对应的 html 之类的文件别的以此类推。当用户访问的是 dev.hr.static.local.lieni.com 也会直接找到 D:lieni-wwwweb-hrsrc(这个路径是配置的) 下对应的 html 之类的文件。这里有Nginx配置文件的详细介绍 https://www.coderknock.com/bl...