【Nginx二】Nginx作为静态文件HTTP服务器
2017-08-27 21:04
211 查看
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)创建/data/images目录,存放imags图片
在主配置文件中添加http指令
Java代码
http {
server {
listen 80;
server_name localhost;
}
}
说明:在 http指令中可以定义多个server指令,通过监听端口号以及server name进行来区分每个server。当Nginx通过判断请求Header中url(服务器名字、端口号以及URI)以及 Server指令下定义的location指令来决定使用哪个服务器(以及匹配Server指令下的哪个location指令)来处理请求
4. 在server指令中添加location指令
Java代码
location / {
root /data/www;
}
说明:在 server指令中,可以添加多个location指令以匹配不同的请求,不同的请求到不同的系统路径下获取资源。在上面的location指令 中,location之后的“/”称为前缀。location指 令指定了"/"前缀与请求的URI进行比较(从左向由,匹配成功也就意味着RequestURI.startWith(前缀))。对于匹配上的请 求,RequestURI将添加到由root指令指定的path之后,因为这里的前缀是“/”,所以最后得到请求对应到文件系统上路径是/data
/www/RequestURI。如果有多个location匹配成功,则匹配前缀最长的那个。这个例子中,"/"是最短的后缀,因此只有当前server指令下所有其它的location定义的后缀匹配失败,才会匹配成功"/"
5. 在Server中添加如下的配置片段
Java代码
location /images/ {
root /data;
}
说明:这段配置将匹配请求为以/images/开头的请求。以/images/开头的请求在4中定义的/也会匹配,但是它的长度没有/images/长,所以,对于/images/开头的请求,这个配置将被选中,并且对应到文件系统的路径是/data/RequestURI
对于请求
http://localhost/,只有4中的location符合,那么nginx将返回/data/www/index.html
对于请求
http://localhost/images/example.png,那么5中定义的location符合,那么nginx将返回/data/images/example.png
对于请求
http://localhost/some/example.html,由于
5中定义的location不符合,只有4中定义的符合,那么/data/www/some/example.html文件将被返回
对于上面的请求,如果Nginx从文件系统找不到指定的文件,Nginx将返回404错误
6. 完成如上配置后,运行nginx -s reload重新加载配置文件,可以测试上面的规则是否正确
相关文章推荐
- 使用nginx作为静态文件服务器
- 使用nginx作为css,js,image静态文件的服务器
- 使用数据卷容器,配置Nginx Docker作为静态文件服务器
- 使用nginx作为css,js,image静态文件的服务器
- Nginx作为静态资源web服务之防盗链
- Nginx直接post请求获取静态文件 返回405错误的终极解决方法
- Nginx的访问日志,Nginx日志切割,Nginx不记录静态文件
- nginx 伪静态 重定向 包括域名、目录、文件等方法
- nginx安装,配置,并可以放静态文件教程
- 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间
- golang实现http服务器处理静态文件示例
- 霸气!Nginx 中缓存静态文件秘籍
- nginx 伪静态 重定向 包括域名、目录、文件
- nginx设置静态文件
- 让nginx支持.htaccess文件实现伪静态的方法!
- Nginx作为静态内容服务器(Windows环境)
- CentOS 6.4 安装 FastDFS、使用Nginx作为文件访问WEB服务器
- Nginx静态文件响应POST请求 提示405错误的解决方法
- nginx配置静态文件目录,压缩传输
- nginx静态资源文件无法访问,403 forbidden错误