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/ 跳转到百度页面。

 欢迎扫码交流:

 

posted @ 2019-01-10 10:09  宅山仔  阅读(300)  评论(0编辑  收藏  举报