zoukankan      html  css  js  c++  java
  • 2-Nginx配置文件学习

    配置文件组成

    1-全局块

    从配置文件开始到events块之间的内容,配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
    比如worker_processes 1; worker_processes值越大,可以支持的并发处理量越多

    2 events块

    配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
    events块设计指令影响nginx服务器与用户的网络连接
    如worker_connections 1024;支持的最大连接数

    3 http块

    可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。

    4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。

    5、location块:配置请求的路由,以及各种页面的处理情况。

    ########### 每个指令必须有分号结束。#################
    #user administrator administrators; #配置用户或者组,默认为nobody nobody。
    #worker_processes 2; #允许生成的进程数,默认为1
    #pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
    error_log log/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
    events {
      accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
      multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
       #use epoll;     #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
      worker_connections  1024;    #最大连接数,默认为512
    }
    http {
      include       mime.types;   #文件扩展名与文件类型映射表
      default_type application/octet-stream; #默认文件类型,默认为text/plain
       #access_log off; #取消服务日志    
      log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
      access_log log/access.log myFormat;  #combined为日志格式的默认值
      sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
      sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
      keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。
    ​
      upstream mysvr {  
        server 127.0.0.1:7878;
        server 192.168.1.199:6666 backup;  #热备
      }
      error_page 404 https://www.baidu.com; #错误页,错误信息引用baidu搜索
      server {
          keepalive_requests 120; #单连接请求上限次数。
          listen       52080;   #监听端口
          server_name  127.0.0.1;   #监听地址      
          location ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
              #root path; #根目录
              #index vv.txt; #设置默认页
              proxy_pass http://mysvr;  #请求转向mysvr 定义的服务器列表
              deny 127.0.0.1;  #拒绝的ip
              allow 172.18.5.54; #允许的ip          
          }
      }
    }
    
    

    include管理多个配置文件

    很多时候,我们配置Nginx的时候会分多个配置文件,每个项目单独一个配置文件。

    步骤一:

    在conf目录下新建conf-test/test.conf
    conf-test目录名可以随便取

    //在nginx配置主目录下新建下级目录
    mkdir /usr/local/nginx/conf/rest-conf/
    
    //新建子配置文件
    vi test.conf
    
    server {
    	listen       8011;
    	server_name  localhost;
     
    	location / {
    		root   html/web1;
    		index  index.html index.htm;
    	}
    }
    server {
    	listen       8012;
    	server_name  localhost;
     
    	location / {
    		root   html/web2;
    		index  index.html index.htm;
    	}
    }
    server {
    	listen       8013;
    	server_name  localhost;
     
    	location / {
    		root   html/web3;
    		index  index.html index.htm;
    	}
    }
    
    

    步骤二

    在nginx.conf中引入该配置文件 include conf-test/*.conf;

    步骤三

    重启nginx

    /usr/local/sbin/nginx -s reload
    
    这世上所有美好的东西,都需要踮起脚尖。
  • 相关阅读:
    【leetcode】1365. How Many Numbers Are Smaller Than the Current Number
    【leetcode】1363. Largest Multiple of Three
    【leetcode】1362. Closest Divisors
    【leetcode】1361. Validate Binary Tree Nodes
    【leetcode】1360. Number of Days Between Two Dates
    【leetcode】1359. Count All Valid Pickup and Delivery Options
    【leetcode】1357. Apply Discount Every n Orders
    【leetcode】1356. Sort Integers by The Number of 1 Bits
    ISE应用入门的一些问题
    DDR的型号问题
  • 原文地址:https://www.cnblogs.com/XMYG/p/14639698.html
Copyright © 2011-2022 走看看