Nginx server配置段location,alias,root

marksugar
2015-11-15 / 0 评论 / 4,248 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2015年11月15日,已超过2166天没有更新,若内容或图片失效,请留言反馈。

<p> set number</p><p><pre class="brush:as3; toolbar:false;">[root@Nginx nginx]# cp nginx.conf{,.bak}</pre>
 1,虚拟主机配置!
80行
<pre class="brush:bash; toolbar:false;">[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</pre> <p>
</p> <p> </p> <p> 2,listen
指定监听的地址和端口;
 listen address[:prot];
 listen port; </p> <p> 3,server_name NAME
 server_name只能用于server中
 server_name 后可跟多个主机,名称还可以使用正规表达式(~)或通配符 </p> <p> 4,root path;
 设置资源路径映射:用于指明请求的url所对应的资源所在的文件系统上的起始路径 </p> <p> 5,location [ = | ~ |^~ ] url {...}
 location @name {...}
 功能:允许根据用户请求的url来匹配定义的各location:匹配到时,此请求将被相应的location配置块中的配置所处理,例如做访问控制等功能; </p> <p><pre class="brush:bash; toolbar:false;">server { listen 8080; server_name www.linuxea.com; location / { root "/vhost/linuxea/"; } location /images/ { root "/vhost/images" } location ~
.php$ { fcgipass } } </pre><br />&nbsp;=:精确匹配检查<br />~:正则表达式模式匹配检查,区分字符大小写<br />~*:正则表达式模块匹配检查,不区分字符大小写<br />^~:uri的前半部分匹配,不检查正则表达式 <p> <br /> </p> <p> 匹配优先级:精确匹配(=), ^~,~,~* 不带任何符号的location; </p> <p> 如: </p> <p><pre class="brush:bash; toolbar:false;"> 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</pre> <p>
</p> <p> 当我们访问a.txt是匹配的回事 location ~* . (txt|text)$ 这段! </p> <p>   </p> <p> 6,alias path;
用户location配置段,实现路径别名定义!
注意:root已经可以定义,root表示指明路径为对于的location “/" URL;alias表示路径映射,即location指令后定义的url是相对于alias所指明的路径而言 </p> <p><pre class="brush:bash; toolbar:false;">如: 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/左侧/路径而言的</pre> <p>   </p>

0

评论 (0)

取消