ngnix

Windows环境下安装Nginx

解压:nginx-windows

双击: nginx.exe

widow下面一闪而过,可以查看启动日志:在logs文件夹下面查看error.log里面的信息,当出现pid时,说明启动成功:

127.0.0.1  

能看到nginx欢迎界面说明,nginx安装成功

演示下 nginx做静态服务器 

默认读取的是 html文件夹中的 index.html文件,修改iniex.html文件之后,不用重启nginx.

停止: nginx.exe -s stop –停止

nginx优缺点

占内存小,可以实现高并发连接、处理响应快。

可以实现http服务器、虚拟主机、反向代理、负载均衡。

nginx配置简单

可以不暴露真实服务器IP地址

nginx.conf

其中一个 server 代表一个http服务。

 

负载均衡策略:

1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
upstream backserver { 
server 192.168.0.14; 
server 192.168.0.15; 
} 
 
2、指定权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
upstream backserver { 
server 192.168.0.14 weight=10; 
server 192.168.0.15 weight=10; 
} 
 
3、IP绑定 ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 
upstream backserver { 
ip_hash; 
server 192.168.0.14:88; 
server 192.168.0.15:80; 
} 
View Code

配置代码:

upstream backserver { 
     server 127.0.0.1:8080; 
     server 127.0.0.1:8081; 
    } 
    server {
        listen       80;
        server_name  www.itmayiedu.com;
        location / {
            proxy_pass  http://backserver;
            index  index.html index.htm;
        }
    }

宕机轮询配置规则

单位:秒 配置响应时间,如果在规定的时间没有响应,则轮训到下一个节点。

如果全部宕机,可以使用第三方技术,在CPU或者内存过剩时,进行邮件或者短信提醒。实现高可用。

server {
    listen       80;
    server_name  www.itmayiedu.com;
    location / {
        proxy_pass  http://backserver;
        index  index.html index.htm;
        proxy_connect_timeout 1;
        proxy_send_timeout 1;
        proxy_read_timeout 1;
    }
}

nginx解决网站跨域问题

即:使用nginx搭建网管接口系统。   实现session共享问题。

跨域: 域名或者端口不相同时,则存在跨域问题。

 

server {
        listen       80;
        server_name  www.itmayiedu.com;
        location /A {
            proxy_pass  http://a.a.com:81/A;
            index  index.html index.htm;
        }
        location /B {
            proxy_pass  http://b.b.com:81/B;
            index  index.html index.htm;
        }
    }

 nginx配置防盗链

location ~ .*\.(jpg|jpeg|JPG|png|gif|icon)$ {
        valid_referers blocked http://www.itmayiedu.com www.itmayiedu.com;
        if ($invalid_referer) {
            return 403;
        }
        }

nginx配置DDOS: 模拟请求

限制请求速度:

设置Nginx、Nginx Plus的连接请求在一个真实用户请求的合理范围内。比如,如果你觉得一个正常用户每两秒可以请求一次登录页面,你就可以设置Nginx每两秒钟接收一个客户端IP的请求(大约等同于每分钟30个请求)。

limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;
server {
...
location /login.html {
limit_req zone=one;
...
}
}

`limit_req_zone`命令设置了一个叫one的共享内存区来存储请求状态的特定键值,在上面的例子中是客户端IP($binary_remote_addr)。location块中的`limit_req`通过引用one共享内存区来实现限制访问/login.html的目的。

 

posted @ 2019-03-11 16:56  xinjia  阅读(114)  评论(0编辑  收藏  举报