如何使用Nginx map指令
2019-05-28 來源:愛站科技

Nginx map指令是干什么的呢?我們應該如何使用Nginx map指令呢?相信很多人都是不了解的,那么我們現(xiàn)在就去看看Nginx map指令的使用方法,希望對你有所幫助。
Nginx map指令使用方法
- map指令由
ngx_http_map_module
模塊提供,并且默認加載。 - map指令用來創(chuàng)建變量,僅在變量被接受的時候執(zhí)行視圖映射操作。
- map指令配置段位于
http
段內(nèi)。 - map指令有三個參數(shù):
default:默認值,當沒有設置 default,將會用一個空的字符串作為默認的結果。
hostnames:允許用前綴或者后綴掩碼指定域名作為源變量值。(這個參數(shù)必須寫在值映射列表的最前面)
include:包含一個或多個含有映射值的文件。 - 可以使用正則表達式:
以~
開頭,表示這個正則表達式對大小寫敏感。
以~*
開頭,表示這個正則表達式對大小寫不敏感。 -
使用示例
執(zhí)行http { map $http_user_agent $agent { ~curl curl; ~*chrome chrome; } server { listen 8080; server_name www.test.com; location /hello { default_type text/plain; echo http_user_agent: $http_user_agent; echo agent: agent:$agent; } } }
curl 127.0.0.1:8080/hello
得到如下信息
http_user_agent: curl/7.15.5 (x86_64-RedHat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
agent: curl -
使用實例
維護一個ip.conf
的配置文件,實現(xiàn)根據(jù)ip自動切換目錄并且不用頻繁重啟nginxip.conf
實例內(nèi)容如下192.168.1.1 dir1; 192.168.1.2 dir2;
nginx配置如下
http { map $ip $dir { default test; include ip.conf; } server { listen 8080; server_name www.test.com; root /data/$dir/www; rewrite ^/(js|images|css)/(.*) http://static.test.com/$1/$2 permanent; location / { try_files $uri $uri/ /index.php?$query_string; } } }
下面關于Nginx的文章您也可能喜歡,不妨參考下:
Nginx 403 forbidden的解決辦法? http://www.linuxidc.com/Linux/2017-08/146084.htm
CentOS 7下Nginx服務器的安裝配置? http://www.linuxidc.com/Linux/2017-04/142986.htm
CentOS上安裝Nginx服務器實現(xiàn)虛擬主機和域名重定向? http://www.linuxidc.com/Linux/2017-04/142642.htm
CentOS 6.8 安裝LNMP環(huán)境(Linux+Nginx+MySQL+PHP)? http://www.linuxidc.com/Linux/2017-04/142880.htm
Linux下安裝PHP環(huán)境并配置Nginx支持php-fpm模塊? http://www.linuxidc.com/Linux/2017-05/144333.htm
Nginx服務的SSL認證和htpasswd認證? http://www.linuxidc.com/Linux/2017-04/142478.htm
Ubuntu 16.04上啟用加密安全的Nginx Web服務器? http://www.linuxidc.com/Linux/2017-07/145522.htm
Linux中安裝配置Nginx及參數(shù)詳解? http://www.linuxidc.com/Linux/2017-05/143853.htm
Nginx日志過濾 使用ngx_log_if不記錄特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm
CentOS 7.2下Nginx+PHP+MySQL+Memcache緩存服務器安裝配置? http://www.linuxidc.com/Linux/2017-03/142168.htm
CentOS6.9編譯安裝Nginx1.4.7? http://www.linuxidc.com/Linux/2017-06/144473.htm
以上主要是介紹如何使用Nginx map指令的內(nèi)容,需要的朋友可以參考下,謝謝大家對愛站技術頻道的支持。
?
標簽: [db:TAGG]
版權申明:本站文章部分自網(wǎng)絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。
上一篇:如何啟動Apache
下一篇:詳解Linux遠程拷貝命令