Nginx 篇

Nginx 篇1 nginx 是什么 Nginx 是一个轻量级的高性能得 Http 和反向代理得服务器也是一个电子邮件和 SMTP 服务器 2 nginx 的特点 其特点就是占用内存少 并发能力强 开源免费 配置简单 性能稳定 国内很多大型网站都有应用 3 如何启动和关闭 nginx nginx 服务启动命令 start nginx

大家好,我是讯享网,很高兴认识大家。

1. nginx是什么?
Nginx是一个轻量级的高性能得Http和反向代理得服务器也是一个电子邮件和SMTP服务器。
2.nginx的特点
其特点就是占用内存少,并发能力强,开源免费,配置简单,性能稳定,国内很多大型网站都有应用。

3如何启动和关闭nginx?
nginx服务启动命令 start nginx
    nginx服务启动命令
讯享网
停止命令 nginx.exe -s stop
停止命令 nginx.exe -s stop
启动不成功检查命令 nginx.exe -t
4.什么是正向代理
正向代理就是位于客户端和目标服务器之间的服务器,客户端向代理发送一个请求并指向目标服务器,然后代理向目标服务器转交请求并获得到内容返回给客户端,但是客户端一般需要一些特别的设置才能使用正向代理。
5.什么是反向代理
反向代理:在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥
而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相
同的服务,对于用户来说,根本感觉不到任何差别。实际上是通过反向代理服务器接受客户端的请求,然后把请求
分发给具体的服务器进行处理,然后再将服务器的响应结果返回给代理服务器,由代理服务器反馈给客户端。
(例如:拨打10086客服电话,一个省的10086客服估计有成千上万个,实际上我们并不关心有多个客服,我们关心
的是只要拨通了10086 的号码能够有客服为我们提供服务就可以了。其实10086总机号码就是我们说的反向代理)

总结:反向代理就是代理的服务器 你访问的就是代理 并不知道是那个服务i 正向代理 是你知道要访问那个服务器 但是你不想让服务器知道 是你在访问

6.反向代理的实现方式
我们通过nginx来代理访问该项目。我们只需要修改配置文件nginx.conf即可

server {
listen 8086;#修改nginx服务器的端口号
server_name localhost;
#请求localhost:8086/hello/ 被转发到 http://localhost:8080/hello/
location /hello/ {
proxy_pass http://localhost:8080/hello/; #被代理的服务器
index index.html index.htm;
}
}

讯享网

7.解决跨域
同域:简单的解释就是相同域名、端口号和协议。
跨域问题:跨域问题的产生是因为浏览器对于javascript的同源策略的限制导致的,例如a.com下面的js不能
调用b.com中的 js、对象或数据,因为a.com和b.com是不同域,所以想要调用就出现了跨域问题。
同源策略:请求的url地址必须与浏览器上url地址处于同域上,也就是域名、端口号、协议相同。配置如下:

讯享网server {
listen 8086;
server_name 192.168.10.1;
#代理服务器1
location /hello1/ {
proxy_pass http://192.168.20.2:8881/world1/;
index index.html index.htm;#默认项目首页
}
#代理服务器2
location /hello2/ {
proxy_pass http://192.168.30.3:8882/world2/;
index index.html index.htm;#默认项目首页
}
}

http { #配置上游集群服务器 upstream mytomcat123 {#集群的名称 server localhost:8001 max_fails=1 weight=1 fail_timeout=10s; server localhost:8002 max_fails=1 weight=1 fail_timeout=10s; #weight权重,设置相同时则是轮询访问,也可以设置不同的权重,则按对应的比例进行访问 #max_fails 最大请求失败次数,默认值为1 fail_timeout 请求失败之后,等待多久后继续访问的时间,默认值为10s #server 10.0.0.11:7070 backup; backup备用,其它所有服务器宕机时才启用 #ip_hash; IP策略,每个请求按访问ip的hash结果分配,可以解决session共享的问题 #fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配。 } ... server { listen 8086; server_name localhost; #设置访问路径 #配置集群代理 location / { proxy_pass http://mytomcat123; #集群的名称,和上面设置要保持一致 ... } } ... } 

·

9.故障转移
在使用负载均衡时,假如集群中的某台服务器挂掉了,那么当访问到该服务器时会有很长的响应超时时间,
响应失败后才会去访问集群中正常的服务器,这样的话用户的体验就非常差了,

讯享网#超过超时时间则进行故障转移 location / { proxy_pass http://mytomcat123; #集群的名称,和上面设置要保持一致 #proxy_next_upstream http_502 http_504 error timeout invalid_header;#默认故障转移场景 proxy_connect_timeout 3;#默认单位是秒 proxy_read_timeout 3; proxy_send_timeout 3; } 

9.限流
限制某一IP每秒访问次数
nginx限制每个IP每秒访问1次,选择nginx.conf配置文件进行配置
http {
限制时间段请求次数,开辟了一块allips内存来统计每秒ip访问次数
limit_req_zone $binary_remote_addr zone=allips:10m rate=1r/s;#1r/s表示每秒访问1次
#限制每ip每秒不超过20个请求,漏桶数burst为5
#brust的意思就是,如果第1秒、2,3,4秒请求为19个,
#第5秒的请求为25个是被允许的。
#但是如果你第1秒就25个请求,第2秒超过20的请求返回503错误。
#nodelay,如果不设置该选项,严格使用平均速率限制请求数,
#第1秒25个请求时,5个请求放到第2秒执行,
#设置nodelay,25个请求将在第1秒执行。
location / {
limit_req zone=allips burst=5 nodelay;#每秒每IP限制访问1次,缓存值为5

}

 限制某一IP瞬间并发量 nginx限制某一IP瞬间并发量为1 配置如下: http { 限制并发量,开辟了一块addr内存来统计IP并发量 limit_conn_zone $binary_remote_addr zone=addr:10m; location / { limit_conn addr 1; #连接数限制 ... } 
小讯
上一篇 2025-03-27 12:54
下一篇 2025-02-08 23:25

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/27991.html