修改配置文件
vi /etc/nginx/conf.d/default.conf
或者vi /etc/nginx/sites-avalibled/default
修改location:
location的匹配规则:
location / {
root /data/www;
}
这里location块声明了一个"/"前缀来和请求中的URI进行对比。
对于成功匹配的请求,URI会被添加到root指令声明的路径后面。
形成一个在本地文件系统中对于所需文件的请求。
如果有多个匹配的location块,则nginx选择最长前缀的那个。
以上的location块的前缀只有一个字符,是最短的,
因此只有当其它location都匹配失败时,这个location才会被选择。
现在,添加第二个location块:
location /images/ {
root /data;
}
它会匹配以/images/开始的请求
(location / 也会匹配这个请求,但它的前缀更短)
比如:为了响应
(http://localhost/images/example.png),
nginx会发送/data/images/example.png这个文件,
如果不存在这样的文件,nginx就会发送404错误
我们现在修改第二个location块,使它由原先的匹配/images/前缀变为匹配典型的图片文件扩展名。修改后的location如下:
location ~ \.(gif|jpg|png)$ {
root /data/images;
}
这个参数是一个匹配所有以.gif,.jpg或.png结尾的URI的正则表达式。
~ 应该被写在正则表达式前面。
当nginx选择一个location时,它先检查前缀,并且记录匹配的location(最长前缀),
然后nginx再检查正则表达式,如果有一个正则表达式匹配,
它就选择这个location,否则,选择之前记录的location。
配置一个完整的实例:
location /test/ {//test表示你要匹配的目录
proxy_pass http://ip+port;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header Remote_Addr $remote_addr;
proxy_set_header X-REAL-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}