1. 访问一个文件
server {
listen 80;
server_name file.one.cn;
access_log /Users/xiaoming/Documents/nginxlog/file.log main;
error_log /Users/xiaoming/Documents/nginxlog/file-error.log debug_http;
location ~ .*\.(jpg)$ {
root /Users/xiaoming/Documents;
}
}
请求时,配置hosts文件
127.0.0.1 file.one.cn
127.0.0.1 file.download.cn
location的配置
~开启正则匹配模式。
.表示任一字符。
*表示一个或多个。
.表示普通的.字符。
(jpg)$表示路径是以jpg结尾的。
- 当浏览器请求http://file.one.cn/myhome.jpg将会转化为/Users/xiaoming/Documents/myhome.jpg获取文件。
- 当浏览器请求http://file.one.cn/log/myhome.jpg将会转化为/Users/xiaoming/Documents/log/myhome.jpg获取文件。
映射的规则是:使用proxy_pass去替换域名:ip。
2. 访问一个目录
server {
listen 80;
server_name file.download.cn;
access_log /Users/xiaoming/Documents/nginxlog/down.log main;
location /svg {
#转到的Nginx文件目录
alias /Users/xiaoming/Documents/nginxlog;
#打开目录浏览功能
autoindex on;
#默认为on,显示出文件的确切大小,单位是bytes
#显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_exact_size off;
#默认为off,显示的文件时间为GMT时间。
#改为on后,显示的文件时间为文件的服务器时间
autoindex_localtime on;
#让浏览器不保存临时文件
add_header Cache-Control no-store;
#避免中文乱码
charset utf-8,gbk;
#希望请求文件是下载而不是显示内容
#add_header Content-Disposition attachment;
}
}
在nginx(2)-到nginx请求如何映射url中有映射的规则的描述。
当用户请求http://file.download.cn/svg时,因为location中是域名:端口/svg,proxy_pass将替换location====》/Users/xiaoming/Documents/nginxlog。
当请求http://file.download.cn/svg/home是,地址将被映射为/Users/xiaoming/Documents/nginxlog/home。
参考链接 :
nginx访问静态文件 : https://www.jianshu.com/p/b021aa6de143