nginx

作者: hehehehe | 来源:发表于2021-01-15 11:46 被阅读0次
    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更改分担数量
    

    相关文章

      网友评论

          本文标题:nginx

          本文链接:https://www.haomeiwen.com/subject/vpbiaktx.html