差分Nginx-構成命令ルートとエイリアス
1.実験
nginxのサーバー内のURL、我々は対応関係を確立するために、命令のブロック、「URL」と「サーバパス」を組み合わせたルートの場所を経由して、ブロックは、URLの場所に一致する責任があることができ、命令ルートは、特定の電荷にマッチしますカタログ対応
実際には、ルートの命令に加えて、別の指示があり、同様の機能を実現することができ、それがルート指示や命令がウリの別名と対応するサーバパスすることができ、aliasコマンドであるが、それはそれらの間にいくつかの違いがあるあります
実験を通じてルートとエイリアスの違いを理解してみましょう
ルート
vim /usr/local/nginx/conf/nginx.conf
47 location /demo {
48 root /opt/test;
49 }
[root@server1 ~]# cd /opt/
[root@server1 opt]# ls
demo
[root@server1 opt]# mkdir test
[root@server1 opt]# mv demo test/
nginx -s reload #在不暂停服务的情况下重新加载
テスト:
ページ内:HTTP://172.25.1.1/demo/
http://172.25.1.1/demo/huge.jpg
エイリアス
vim /usr/local/nginx/conf/nginx.conf
47 location /demo {
48 alias /opt/test;
49 }
nginx -s reload
テスト:
ページ内のhttp://172.25.1.1/demo/
http://172.25.1.1/demo/huge.jpg
root@server1 demo]# mv huge.jpg .. #将图片移到上层目录
[root@server1 demo]# cd ..
[root@server1 test]# ls #此时图片的位置在/opt/test/中
テストを再び
2.ルートと差のエイリアス
上記の実験では:
- ルート
ブロックマッチングのためのURLの場所"/demo"
、ルート命令のパス"/opt/test"
私たちは「/デモ」URIを訪問し、上記の構成によれば、その後は、実際のアクセス/opt/test/demo
パスを
私たちが訪問したときに、場所のブロックを配置した後/demo/test1/huge.jpg
、このURLの間に、我々は、アクセスがあります/opt/test/demo/test1/huge.jpg
要するに、ルートURLパスが指定されたパスの後ろに記入することです - エイリアス
ブロックマッチングのURLロケーション"/demo"
、別名コマンドのパス/opt/test
。あなたが見ることができるように、エイリアスは対応する値をコマンドパスであり、ときに我々が訪問した場所と組み合わせaliasコマンドブロック/demo/huge.jpg
サーバーにする場合、実際には、アクセス/opt/test/huge.jpg
言うことです、私たちは、エイリアスを使用する場合は、URIの場所は完全な相互主義のパスの別名であります
ルートコマンドとコマンドエイリアスの差は非常に明確で、ここを参照してください:
- 命令ルートは「最終パス」との対応関係URIを使用して、「命令ルートパス」、「最終ルート」への経路に位置「URLパス」をブロックします。
- 位置直接エイリアスコマンドブロック「URIパス」と「道路aliasコマンド」の対応関係
- ルートエイリアスコマンド及び命令は異なる位置のコンテキストであることができ、それだけ位置別名コマンドブロックで使用することができ、命令ルートはそうではありません