ICode9

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

nginx配置文件

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

标签: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
来源: https://blog.51cto.com/13760226/2422145

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

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

ICode9版权所有