匹配符 | 匹配规则 | 优先级 |
---|---|---|
= | 精确匹配 | 1 |
^~ | 以某个字符串开头 | 2 |
~ | 区分大小写的正则匹配 | 3 |
~* | 不区分大小写的正则匹配 | 3 |
/ | 通用匹配,任何请求都会匹配到 | 4 |
server { listen 80; server_name _; # _ : 表示可以匹配所有域名 location / { default_type text/html; # default_type(默认处理类型) return 200 "Hell XJJ"; # return(返回信息) } }
以下展示匹配符号
server { listen 80; server_name _; location ~* /python { default_type text/html; return 200 "Location ~*"; } location ~ /Python { default_type text/html; return 200 "Location ~"; } location ^~ /python { default_type text/html; return 200 "Location ^~"; } location = /python { default_type text/html; return 200 "Location ="; } }
此时注意和*两者是同级,按顺序匹配。
![截屏2022-01-05 下午7.41.16](/Users/macintoshhd/Desktop/截屏2022-01-05 下午7.41.16.png)
NFS操作 [root@nfs ~]# mkdir /opt/img [root@nfs ~]# vim /etc/exports /opt/img 172.16.1.0/20(rw,sync,all_squash,anonuid=666,anongid=666) [root@nfs ~]# chown -R www.www /opt/img/ [root@nfs ~]# systemctl restart nfs-server rpcbind [root@nfs ~]# showmount -e Export list for nfs: /opt/img 172.16.1.0/20 /web/nfs1 172.16.1.0/20 [root@nfs ~]# web01 [root@web01 opt]# cd /opt/ [root@web01 opt]# ll 总用量 0 drwxr-xr-x 2 www www 329 1月 5 19:56 image drwxr-xr-x 4 root root 85 1月 5 15:51 linux drwxr-xr-x 2 root root 104 1月 5 19:57 mairegame drwxr-xr-x 2 root root 6 1月 2 15:18 nfs drwxr-xr-x 5 root root 56 1月 4 09:38 xiangqigame [root@web01 opt]# mkdir image [root@web01 opt]# mount -t nfs 172.16.1.31:/opt/img /opt/image/ [root@web01 opt]# df -h [root@web01 opt]# mv mairgame/images/* /opt/image/ [root@web01 opt]# cd /etc/nginx/conf.d/ [root@web01 conf.d]# ll 总用量 12 -rw-r--r-- 1 root root 204 1月 4 23:06 maire.conf.gz -rw-r--r-- 1 root root 257 1月 5 16:17 py.conf.gz [root@web01 conf.d]# gzip -d maire.conf.gz (解压) [root@web01 conf.d]# vim maire.conf server { listen 80; server_name 192.168.15.7; location / { root /opt/mairgame; index index.html; } }
可以看到,进入192.168.15.7无图片加载,此时我们需要通过location将图片重新加载
[root@web01 conf.d]# tail -f /var/log/nginx/access.log 找到"/images/itemsheet.png",此时需要匹配以images开头的路径 [root@web01 conf.d]# cat maire.conf server { listen 80; server_name 192.168.15.7; location / { root /opt/mairegame; index index.html; } # 设置图片路径 location ~ /images { root /opt/image; } } [root@web01 image]# pwd /opt/image [root@web01 image]# mkdir images [root@web01 image]# mv *.png images/ [root@web01 image]# mv *.gif images/
在web02中只需要要布置mairegame,做下挂载点,就实现图片分离