ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

nginx配置文件

2019-07-21 15:00:33  阅读:92  来源: 互联网

标签:opt http 配置文件 nginx html location error proxy



                                    nginx配置文件

nginx配置文件,由4个部分组成

1、mian(全局设置)该部分设置影响全局,在http外的内容即全局定义,设置会向下继承,http会继承main设置,并向下继承

2、server(主机设置) server部分指令用于指定主机和端口,server会继承http的设置,并向下继承

3、location (url匹配特定位置的设置)匹配网页位置,local会继承server的设置

4、upstream(负载均衡器设置,负载后端服务器),upstream不会继承任何设置,也不会被继承


user  nginx;
worker_processes  1;

events {
    worker_connections  2048;
}
#########################以上全局配置#########################################
#定义http相关
http {
    include       mime.types;
    default_type  application/octet-stream;
    #日志格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    sendfile        on;
    client_max_body_size 5000m;
    keepalive_timeout  65;
    gzip  on;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_min_length 1k;
    gzip_vary on;
    gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml applicatin/xml+rss;
    
    #upstream模块,不会向下继承,也不会继承其他配置
    upstream backend {
        server 47.102.12.x:8080 weight=1;
        server 47.102.11.x:8090 weight=1;
}
#server中为主机的配置
server {
        charset utf-8;
        proxy_buffering on;
        proxy_buffer_size 8k;
        proxy_buffers 8 32k;
        
        #location匹配URL
        location / {
        proxy_pass http://backend;
        proxy_set_header Host       $host;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP $remote_addr;
        error_page 500 501 502 503 504 404 400 /error.html;
                               }
               location = /error.html {
               root /opt/error/;
               }
                               
        location /html {
        root /opt/;
        index test.html;
        }
        
        location /ali/ {
        alias /opt/ali/;
        index ali.html;
        }

}
#虚拟主机
    include /usr/local/nginx/vhost/*.conf;
}


location中配置URL:

 1、root 访问时,root定义了/html的上层访问路径,实际路径/opt/html/test.html,只需定义到/opt/即可。
  location /html {
    root /opt/;
    index test.html;
   }


2、alias 访问时,alias定义了全路径,实际路径为/opt/ali/ali.html,需要定义完整路径。 
  location /ali/ {
   alias /opt/ali/;
   index ali.html;
   }


nginx中的正则匹配

~ 区分大小写匹配

~* 不区分大小写匹配

!~ 区分大小写匹配失败

!~* 不区分大小写匹配失败

^  以什么开头匹配

$  以什么结尾匹配

*  任意字符


匹配到或者/*.ddd 或者/*.666时,重新引导一个http://ip/ok/ok.html的页面给予访问 
 location ~ .*\.(abc|ddd|666)$ {
   rewrite ^ http://$host/ok/ permanent;
   }
      
  location /ok{
  root /opt/;
  index ok.html;
  }


匹配到http://ip/123或者/789  或者/444 重定义一个返回码500,可以自定义为404,503等
   location ~ .*\/(123|789|444) {
  return 500;
    }


当匹配错误的时候返回的错误页面,error_page首先指定错误页面的名字,location = /error.html 精确匹配了url路径 
        location / {
        proxy_pass http://backend;
        proxy_set_header Host       $host;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP $remote_addr;
        error_page 500 501 502 503 504 404 400 /error.html;
                               }
               location = /error.html {
               root /opt/error/;
               }
匹配到 或者 /*.png 或者/*.css 或者/*.js 缓存7天      
        location ~ .*\.(jpg|png|css|js) {
        expires 7d;
             }




标签:opt,http,配置文件,nginx,html,location,error,proxy

专注分享技术,共同学习,共同进步。

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有