nginx的配置文件的了解

#配合限制并发数使用
    limit_conn_zone $binary_remote_addr zone=addr:10m;  
    #limit_req_zone  $binary_remote_addr zone=one:10m rate=1r/s;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            #root /usr/local/tomcat/webapps/ROOT;
            index  index.php index.html index.htm;
        }

        #限制并发数
        location /download/{
        limit_conn  addr 1;#此处的并发数为1,
        limit_rate 50k;    #带宽为50k
        limit_req zone=one burst=5;#最大连接数为5
        }
#测试:

[root@foundation44 8--4]# ab -c1 -n 10  http://172.25.44.6/download/vim.jpg
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 172.25.44.6 (be patient).....done


Server Software:        nginx
Server Hostname:        172.25.44.6
Server Port:            80

Document Path:          /download/vim.jpg
Document Length:        453575 bytes

Concurrency Level:      1
Time taken for tests:   0.012 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      4538790 bytes
HTML transferred:       4535750 bytes
Requests per second:    819.34 [#/sec] (mean)
Time per request:       1.220 [ms] (mean)
Time per request:       1.220 [ms] (mean, across all concurrent requests)
Transfer rate:          363163.63 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       0
Processing:     1    1   0.4      1       2
Waiting:        0    0   0.1      0       0
Total:          1    1   0.4      1       2

Percentage of the requests served within a certain time (ms)
  50%      1
  66%      1
  75%      1
  80%      1
  90%      2
  95%      2
  98%      2
  99%      2
 100%      2 (longest request)
[root@server6 ~]# cat  /usr/local/lnmp/nginx/logs/access.log 
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"
        172.25.44.250 - - [08/Aug/2018:03:10:59 +0800] "GET /download/vim.jpg HTTP/1.0" 200 453575 "-" "ApacheBench/2.3"

这里写图片描述这里写图片描述

     limit_conn_zone $binary_remote_addr zone=addr:10m;
#测试:
[root@foundation44 8--4]# ab -c10 -n 10  http://172.25.44.6/download/vim.jpg
[root@server6 nginx]# cat logs/access.log

这里写图片描述

[root@server6 nginx]# vim conf/nginx.conf
         72         location /admin/ {
         73             allow 172.25.44.250;
         74             deny all;
         75         }
[root@server6 nginx]# cd html/
[root@server6 html]# mkdir admin
[root@server6 admin]# vim index.html
        admin
[root@server6 admin]# nginx -s reload
#测试(真机浏览器172.25.44.250):

这里写图片描述

#在其他主机上:

这里写图片描述

[root@server6 nginx]# cd html/
[root@server6 html]# ls
        50x.html  bbs       example.php  index.php     readme
        admin     download  index.html   memcache.php  utility
[root@server6 html]# cd download/
[root@server6 download]# ls
        vim.jpg
[root@server6 download]# cp vim.jpg ..
[root@server6 download]# cd ..
[root@server6 html]# ls
        50x.html  bbs       example.php  index.php     readme   vim.jpg
        admin     download  index.html   memcache.php  utility
[root@server6 nginx]# vim conf/nginx.conf
         78         #location ~ .*\.(gif|jpg|png)$ {  
         79         #       expires 30d;
         80         #}
[root@server6 conf]# nginx -s reload
#测试:
刚好30天
[root@foundation44 8--4]# curl -I 172.25.44.6/vim.jpg
        HTTP/1.1 200 OK
        Server: nginx
        Date: Tue, 07 Aug 2018 21:37:39 GMT    #8月
        Content-Type: image/jpeg
        Content-Length: 453575
        Last-Modified: Tue, 07 Aug 2018 21:37:21 GMT
        Connection: keep-alive
        ETag: "5b6a1111-6ebc7"
        Expires: Thu, 06 Sep 2018 21:37:39 GMT  #9月
        Cache-Control: max-age=2592000
        Accept-Ranges: bytes


[root@server6 nginx]# vim conf/nginx.conf
         52     server {
         53         listen       80;
         54         server_name  _; 
         55         return 500;  #不管谁来访问,都返回500这个报错
         56         }


[root@server6 conf]# nginx -s reload
#测试:

这里写图片描述

[root@server6 nginx]# vim conf/nginx.conf
        server {
                listen       80;
                server_name  _;
                #return 500;  #不管谁来访问,都返回500这个报错
                rewrite ^(.*) http://www.westos.org permanent;  #不管谁来访问,都重定向到www.westos.org上
出现这个报错的原因是你没有在www.westos.org域名里写东西

这里写图片描述

[root@server6 nginx]# vim conf/nginx.conf
        153 server{
        154         listen 80;
        155         server_name www.westos.org  westos.org bbs.westos.org;
        156 
        157         #rewrite ^(.*)$ https://www.westos.org$1 permanent;
        158         #rewrite ^/bbs$ http://bbs.westos.org permanent;
        159         #rewrite ^/bbs/(.*)$ http://bbs.westos.org/$1 permanent;
        160         if ($host = "bbs.westos.org"){
        161         rewrite ^(.*)$ https://www.westos.org/bbs/$1 permanent;
        162         }
        163         location /{
        164                 root  /www1;
        165                 index index.html;
        166         }
        167 }

这里写图片描述

[root@server6 nginx]# cd html/
[root@server6 html]# cd /www1
[root@server6 www1]# ls
    bbs  index.html
[root@server6 www1]# vim index.html 
    www.westos.org  你好
[root@server6 nginx]# nginx -s reload
        153 server{
        154         listen 80;
        155         server_name www.westos.org  westos.org bbs.westos.org;
        156 
        157         #rewrite ^(.*)$ https://www.westos.org$1 permanent;
        158         #rewrite ^/bbs$ http://bbs.westos.org permanent;
        159         #rewrite ^/bbs/(.*)$ http://bbs.westos.org/$1 permanent;
        160         if ($host = "bbs.westos.org"){
        161         rewrite ^(.*)$ https://www.westos.org/bbs/$1 permanent;
        162         }
        163         location /{
        164                 root  /www1;
        165                 index index.html;
        166         }
        167 }
#测试:(不识别汉字),但是apache默认识别汉字,这是不同之处

这里写图片描述
这里写图片描述

[root@server6 www1]# vim /usr/local/lnmp/nginx/conf/nginx.conf
        158         charset utf-8    #这行代码是让网页自动解析汉字
[root@server6 www1]# nginx -s reload

这里写图片描述

[root@server6 nginx]# date 
2018年 08月 08日 星期三 06:43:02 CST
[root@server6 nginx]# date -d -1day
2018年 08月 07日 星期二 06:43:34 CST
[root@server6 nginx]# date +%F -d  -1day
2018-08-07

#编写脚本,使得每天00:00备份前一天的数据在日志里
[root@server6 nginx]# cd /opt/
[root@server6 opt]# vim nginx_log.sh
#!/bin/bash

cd /usr/local/lnmp/nginx/logs && mv access.log access.log_$(date +%F -d -1day)

/usr/local/lnmp/nginx/sbin/nginx  -s reload

[root@server6 opt]# crontab -e

00  00  *  *  *  /opt/nginx_log.sh
[root@server6 opt]# chmod +x /opt/nginx_log.sh 
[root@server6 opt]# cd /usr/local/lnmp/nginx/logs/
[root@server6 logs]# cat access.log
[root@server6 logs]# ls    #带日期的日志文件生成
access.log  access.log_2018-08-07  error.log  nginx.pid
盗链:
[root@server6 www2]# cd /usr/local/lnmp/nginx/conf/
[root@server6 conf]# vim nginx.conf
        141 server {
        142 
        143      listen 80;
        144      server_name www.westos.org westos.org ;
        145 
        146      charset utf-8;

        155      location /{
        156          root /www1;
        157          index index.html;
        158      }
        159 }

[root@server1 ~]# vim /var/www/html/index.html

        <html>

        <body>

        <img src="http://www.westos.org/images/redhat.jpg">

        </body>

        </html>

这里写图片描述

location ~ \.(gif|jpg|png)$ {
    valid_referers www.westos.org;
    if ($invalid_referer){
           return 403;
    }
 }

这里写图片描述

[root@server6 conf]# vim nginx.conf
        167 server {
        168      listen 80;
        169      server_name bbs.westos.org;
        170 
        171      location /{
        172            root /www2;
        173            index   index.html;
        174      }
        175 
        176   }
[root@server6 conf]# nginx -s reload
[root@server6 www2]# ls
        daolian.jpg  index.html
#测试:

这里写图片描述

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/81608259