nginx

2021-01-15  本文已影响0人  hehehehe
nginx是通过alias设置虚拟目录,在nginx的配置中,alias目录和root目录是有区别的:

1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;
2)root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;
3)使用alias标签的目录块中不能使用rewrite的break(具体原因不明);另外,alias指定的目录后面必须要加上"/"符号!!
4)alias虚拟目录配置中,location匹配的path目录如果后面不带"/",那么访问的url地址中这个path目录后面加不加"/"不影响访问,访问时它会自动加上"/";
但是如果location匹配的path目录后面加上"/",那么访问的url地址中这个path目录必须要加上"/",访问时它不会自动加上"/"。如果不加上"/",访问就会失败!
5)root目录配置中, location匹配的path目录后面带不带"/",都不会影响访问。

所以,一般情况下,在nginx配置中的良好习惯是:

1)在location /中配置root目录;
2)在location /path中配置alias虚拟目录。

location / {
    root   html;
    index  index.html index.htm;
}

location /las {
   alias E:/code/js/nginx-pcd/;
   index  index.html index.htm;
}
location /pnts {
   autoindex on;
   alias E:/code/js/nginx-pnts/;
   index  index.html index.htm;
}

location /mbx {
   alias E:/code/js/nginx-mbx/;
   index  index.html index.htm;
}
正向代理代理客户端,反向代理代理服务器。

正向代理代理的是客户端,我们需要在客户端进行一些代理的设置。而反向代理代理的是服务器,作为客户端的我们是无法感知到服务器的真实存在的。

server {
        listen       80;
        server_name  www.123.com;

        location / {
            proxy_pass http://127.0.0.1:8080;
            index  index.html index.htm index.jsp;
        }
    }

ngx_http_status_module : 状态模块
ngx_http_ssl_module : ssl模块
ngx_http_log_module : 日志模块
ngx_http_upstream_module : 负载均衡模块,定义后端可调度节点信息
ngx_http_proxy_module : 调用负载均衡模块

worker_processes 1;
events {
worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream server_pools {
        server 10.0.0.7:80;
        server 10.0.0.8:80;
    }
    server {
        listen       80;
        server_name   bbs.etiantian.org;
        location / {
            proxy_pass http://server_pools;
        }
      }
    }

# server_pools这个是随意定义的名称
# proxy_pass模块调取上面的server_pools地址池
    upstream server_pools {
        server 10.0.0.7:80 weight=1;
        server 10.0.0.8:80 weight=2;
    }
#通过weight=xxx更改分担数量
上一篇下一篇

猜你喜欢

热点阅读