nginx用途
Nginx常用来做静态内容服务器和代理服务器,用来放置静态资源或者转发请求给后面的应用服务。
1. Nginx作为静态服务器使用
作为一个Web服务器,其最主要的任务是作为静态服务器使用。
你需要将静态网页和文件放到一个目录(例如/data/www),将图片等文件放到另一个目录(例如/data/images),然后在nginx.conf中进行配置。这需要在http模块下的server模块内新建两个location模块:
html文件夾内容如下:
從、
测试:
http://localhost:8090/a.html 访问正常
这里需要注意location内root和alias的区别:
[root]
语法:root path
默认值:root html
配置段:http、server、location、if
[alias]
语法:alias path
配置段:location
root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
root的处理结果是:root路径+location路径。
alias的处理结果是:使用alias路径替换location路径。
alias是一个目录别名的定义,root则是最上层目录的定义。
还有两个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的。。。而root则可有可无~~
alias只能定义在location块中,root可以不必放在location块中,可以放在server块内(当root放在server块内,当响应请求的location块中没有定义自己的root时,才使用上述定义的root)。
示列如下:
location /img/ { alias images/; #root html; }
请求url:
http://localhost:8090/img/b.png 能访问成功
http://localhost:8090/img/a.png 404
因为只有images文件夹下有b.png,所以访问的是images文件夹下的文件。
location /img/ { #alias images/; root html; }
请求url:
http://localhost:8090/img/b.png 404
http://localhost:8090/img/a.png 能访问成功
因为只有html/img 文件夹下有a.png,所以访问的是 html/img 文件夹下的文件。
2. nginx作为反向代理服务器使用
通过proxy_pass指令
server { listen 8090; server_name localhost; root html; location / { proxy_pass http://www.baidu.com; } location /img/ { #alias images/; }
配置如下:
访问http://localhost:8090/ 跳转到百度页面。
欢迎扫码交流: