Nginx server配置段location,alias,root

2023年 7月 15日 48.8k 0

set number

[root@Nginx nginx]# cp nginx.conf{,.bak}

 1,虚拟主机配置!80行

[root@Nginx sbin]# vim /etc/nginx/nginx.conf  80         server { 81                 listen 8080; 82                 server_name www.linuxea.com; 83                 root "/vhost/linuxea/"; 84     }    [root@Nginx nginx]# mkdir /vhost/linuxea/ -p[root@Nginx nginx]# cd /vhost/linuxea/[root@Nginx linuxea]# echo www.linuxea.com > index.html[root@Nginx sbin]# /usr/local/nginx/sbin/nginx -s reload

2,listen指定监听的地址和端口; listen address[:prot]; listen port;

3,server_name NAME  server_name只能用于server中 server_name 后可跟多个主机,名称还可以使用正规表达式(~)或通配符

4,root path; 设置资源路径映射:用于指明请求的url所对应的资源所在的文件系统上的起始路径

5,location [ = | ~* |^~ ] url {...} location @name {...} 功能:允许根据用户请求的url来匹配定义的各location:匹配到时,此请求将被相应的location配置块中的配置所处理,例如做访问控制等功能;

server {     listen 8080;     server_name www.linuxea.com;     location / {        root "/vhost/linuxea/";       }     location /images/ {        root "/vhost/images"       }     location ~* .php$ {        fcgipass       }      }    

 =:精确匹配检查~:正则表达式模式匹配检查,区分字符大小写~*:正则表达式模块匹配检查,不区分字符大小写^~:uri的前半部分匹配,不检查正则表达式

匹配优先级:精确匹配(=), ^~,~,~* 不带任何符号的location;

如:

 80         server {  81                 listen 8080;  82                 server_name www.linuxea.com;  83                 location / {  84                         root "/vhost/linuxea/";  85                 }  86                 location /images/ {  87                         root "/vhost/images";  88                 }  89                 location ~* . (txt|text)$ {  90                         root "/vhost/txt";  91                 }  92                 } [root@Nginx sbin]# mkdir -pv /vhost/{images,txt} mkdir: created directory `/vhost/images' mkdir: created directory `/vhost/txt' [root@Nginx sbin]# echo "<h2>/vhost/txt/a.txt<h2>" > /vhost/txt/a.txt [root@Nginx sbin]# /usr/local/nginx/sbin/nginx -s reload

当我们访问a.txt是匹配的回事 location ~* . (txt|text)$ 这段!

 

6,alias path;用户location配置段,实现路径别名定义!注意:root已经可以定义,root表示指明路径为对于的location “/" URL;alias表示路径映射,即location指令后定义的url是相对于alias所指明的路径而言

如: location /images/ {        root "/vhoast/web1";}访问httpd://www.linuxea.com/images/1.jpg ,相当于访问/vhost/web1/images/1.jpg    location /images/ {        alias "/www/pictures";}访问httpd://www.linuxea.com/images/1.jpg ,相当于访问/www/pictures/1.jpg如果使用的是alias是相对于location /images/右侧/路径而言的如果使用的是root是相对于location /images/左侧/路径而言的

 

相关文章

LeaferJS 1.0 重磅发布:强悍的前端 Canvas 渲染引擎
10分钟搞定支持通配符的永久有效免费HTTPS证书
300 多个 Microsoft Excel 快捷方式
一步步配置基于kubeadmin的kubevip高可用
istio全链路传递cookie和header灰度
REST Web 服务版本控制

发布评论