フロントエンドのスキル(2)マスターをnginxの必要があります

アウトライン

フロントエンドとして、私たちは次のことを乾燥させるためにnginxのを使用することを学ばなければならないと思います:

  1. 静的リソース演技
  2. リバースプロキシ(HTTPSを追加)の設定します
  3. キャッシュ設定
  4. セットのログ
  5. SMTPサービスの展開
  6. 設定しRedisのキャッシュ(選択)

ここで私は再びリズム11研究に従って、開発する際に、後で参照するために記録された経験は、我々はそれが他の人に便利であると考えています。

参考文献:

フロントエンドエンジニアは、nginxの初心者を学びます

逆プロキシの設定

なぜそれがリバースプロキシと呼ばれているのですか?プロキシのほとんどがプロキシクライアントであり、ので、私たちは、プロキシサーバーをしたい場合は、もし逆の、それはリバースプロキシと呼ばれているよう。だから我々は、プロキシリバースプロキシと呼ばれるプロキシサーバーを置きます。

nginxのリバースプロキシは、内部の設定だけでproxy_pass命令を使用する必要があります。この特定の文書にはモジュールのngx_http_proxy_module例としては、次のとおりです:

events {
    # worker_connections  1024;  ## Default: 1024
}

http {
    server {
        listen  8767;
        server_name  192.168.2.32;
        location / {
            root /Users/zhouyang/Documents/tencent/test/local-nginx;
        }
        location /baidu {
            proxy_pass http://www.baidu.com;
        }
    }
}

私たちは、bashので次のコマンドを実行し、その後、オープン192.168.2.32:8767/baiduが自動的にBaiduのにジャンプします。(注意:192.168.2.32ここにあなたのIPアドレスを変更します)。

nginx -s quit // 优雅退出
nginx -c /Users/zhouyang/Documents/tencent/test/local-nginx/nginx.conf // 使用指令目录下的配置文件启动 nginx

設定ジャンプ

1.ジャンプURL。URLのジャンプは、次のようにコードを読み取ることができ、また、非常に簡単です:

events {
    # worker_connections  1024;  ## Default: 1024
}

http {
    server {
        listen  8767;
        server_name  192.168.2.32;
        location / {
            root /Users/zhouyang/Documents/tencent/test/local-nginx;
        }
        location /baidu {
            proxy_pass http://www.baidu.com;
        }
        location /yaya {
            return 302 /baidu;
        }
    }
}

私たちは、その後、オープン192.168.2.32:8767/yaya、それが自動的に最終的には自動的にBaiduのにジャンプし、192.168.2.32:8767/yayaにジャンプします、bashで以下のコマンドを実行します。(注意:192.168.2.32ここにあなたのIPアドレスを変更します)。

nginx -s quit // 优雅退出
nginx -c /Users/zhouyang/Documents/tencent/test/local-nginx/nginx.conf // 使用指令目录下的配置文件启动 nginx

2.リファラを応じてスキップします。URLのジャンプは、次のようにコードを変更することができ、また、非常に簡単です。この特定の文書にはモジュールのngx_http_referer_module

events {
    # worker_connections  1024;  ## Default: 1024
}

http {
    server {
        listen  8767;
        server_name  192.168.2.32;
        location / {
            root /Users/zhouyang/Documents/tencent/test/local-nginx;
        }
        location /haha {
            valid_referers none blocked server_names
               *.example.com example.* www.example.org/galleries/
               ~\.google\.;

            if ($invalid_referer = '') {
                return 401;
            }
        }
        location /baidu {
            proxy_pass http://www.baidu.com;
        }
        location /yaya {
            return 302 /baidu;
        }
    }
}

私たちは、401禁断のを見るでしょう、そしてオープン192.168.2.32:8767/haha、bashで以下のコマンドを実行します。(注意:192.168.2.32ここにあなたのIPアドレスを変更します)。

注意:内部変数が自動的に空の文字列にマッチinvalid_referer $を割り当てられている場合、それは文字列が自動的に「1」に割り当てられていると一致しない場合はnginxのベースとのマッチングvalid_referersは、記載されています。

nginx -s quit // 优雅退出
nginx -c /Users/zhouyang/Documents/tencent/test/local-nginx/nginx.conf // 使用指令目录下的配置文件启动 nginx

IPアドレスに基づいてアクセスを制御します

我々はまた、IPアドレス、禁止IPアクセスの一部に基づいてアクセスを制御することができます。例としては、次のとおりです:

events {
    # worker_connections  1024;  ## Default: 1024
}

http {
    server {
        listen  8767;
        server_name  192.168.2.32;
        location / {
            deny 192.168.2.32;
            root /Users/zhouyang/Documents/tencent/test/local-nginx;
        }
        location /haha {
            valid_referers none blocked server_names
               *.example.com example.* www.example.org/galleries/
               ~\.google\.;

            if ($invalid_referer = '') {
                return 401;
            }
        }
        location /baidu {
            proxy_pass http://www.baidu.com;
        }
        location /yaya {
            return 302 /baidu;
        }
    }
}

とりわけ、私たちは192.168.2.32アクセス192.168.2.32:8767を禁止しますが、nginxのマッチングメカニズムので、または他のルートにアクセスすることができます。

ロードバランシング

我々はまた、ここでは特定の文書のロードバランシングを行うことができますモジュールngx_http_upstream_moduleを

私は、あなたが文書を見て、情報を見つけることができ、深さで勉強するために、綿密な調査を持っていません。

HTTPSを追加

私はまだのために適用されますので、AWS EC2追加するにサインアップした後、その戻ってくるのを待ちます。

おすすめ

転載: www.cnblogs.com/yangzhou33/p/11588831.html