同步操作将从 dearHaoGeGe/Ebooks 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Nginx配置禁止192.168.0.1不可访问,修改nginx.conf文件,在server中添加deny ip配置如下:
server {
listen 80;
server_name localhost;
charset utf8;
deny 192.168.0.1;
location / {
proxy_pass http://blog.yoodb.com/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
使用Nginx转发请求。
把跨域的接口写成调本域的接口,然后将这些接口转发到真正的请求地址。
正向代理(forward proxy)
正向代理是指一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器获得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。
正向代理通俗的来说就是一个用户发送一个请求直接就访问到目标的服务器。类似一个跳板机,代理访问外部资源。
反向代理(Reverse Proxy)
反向代理是指以代理服务器来接收互联网(浏览器等)上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上获得结果返回给互联网上请求连接的客户端,此时的代理服务器对外就表现为一个服务器。
反方代理也就是请求都被Nginx接收并按照一定的规则分发给了后端的业务处理服务器进行处理。
Nginx轻量级,同样是web服务,比apache 占用更少的内存及资源;
抗并发,nginx处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能;
高度模块化的设计,编写模块相对简单;最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;
nginx是异步的,多个连接(万级别)可以对应一个进程。
当上游服务器即真实访问服务器,一旦出现故障或者是没有及时响应的情况下,应该直接轮训到下一台服务器,从而保证服务器的高可用。
nginx中nginx.conf配置文件,部分内容如下:
server {
listen 80;
server_name blog.yoodb.com;
location / {
proxy_pass http://127.0.0.1:8081;
proxy_connect_timeout 1s;
proxy_send_timeout 1s;
proxy_read_timeout 1s;
index index.html index.htm;
}
}
其中参数含义如下:
proxy_pass
指定上游服务器负载均衡服务器
proxy_connect_timeout
与上游服务器超时时间,后端服务器连接的超时时间,发起握手等候响应超时时间
proxy_send_timeout
nginx发送给上游服务器的超时时间
proxy_read_timeout
nginx接收上游服务器的超时时间
Nginx使用反应器模式。
主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该实例中读取到缓冲区并进行处理。
单个线程可以提供数万个并发连接。
http服务器
Nginx是一个http服务可以独立提供http服务,也可以做网页静态服务器。
虚拟主机
可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。
反向代理,负载均衡
当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用Nginx作为反向代理。并且多台服务器可以平均分担负载,不会出现某台服务器负载高宕机而某台服务器闲置的情况。
配置安全管理
使用Nginx搭建API接口网关,对每个接口服务进行拦截。
一个主进程,多个工作进程,每个工作进程可以处理多个请求,每进来一个request,会有一个worker进程去处理。
但不是全程的处理,处理到可能发生阻塞的地方,比如向上游(后端)服务器转发request,并等待请求返回。
那么,这个处理的worker继续处理其他请求,而一旦上游服务器返回了,就会触发这个事件,worker才会来接手,这个request才会接着往下走。
由于web server的工作性质决定了每个request的大部份生命都是在网络传输中,实际上花费在server机器上的时间片不多。
这是几个进程就解决高并发的秘密所在。即@skoo所说的webserver刚好属于网络io密集型应用,不算是计算密集型。
location指令的作用是根据用户请求的URI来执行不同的应用。
location指令也可以理解成为根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。
Nginx中ngx_http_limit_conn_module模块提供了限制并发连接数的功能,可以使用limit_conn_zone指令以及limit_conn执行进行配置。
实例配置如下:
http {
limit_conn_zone $binary_remote_addr zone=myip:10m;
limit_conn_zone $server_name zone=myServerName:10m;
server {
location / {
limit_conn myip 10;
limit_conn myServerName 100;
rewrite / http://www.lijie.net permanent;
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。