13、nginx系列2--nginx原理及分析

原理部分,查看地址请点击我

  • 1、nginx配置说明
########### 每个指令必须有分号结束。#################
#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.10.121:3333 backup;  #热备
    }
    error_page 404 https://www.baidu.com; #错误页
    server {
        keepalive_requests 120; #单连接请求上限次数。
        listen       4545;   #监听端口
        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           
        } 
    }
}

2、nginx.conf中include使用

当项目或者服务多时,来回切换nginx运行的配置文件是一个很繁琐的工作,但是将所有的配置都塞到nginx.conf文件中,又是看起来很杂乱,不方便管理。在nginx.conf文件中使用include一个文件夹的形式,在该文件夹中给每个项目创建相应的一个*.conf文件,然后统一到nginx.conf文件中引用管理,是很好的选择。
示例:

nginx.conf的主体部分:
server {
    #配置HTTP服务器监听的端口号,这里默认写为8880
    listen       8001;
    server_name  localhost;
    location / {
        root   E:/work/ManagerToDB_0.2;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
    #下面配置Tomcat或WAS服务器的地址,服务程序会自动进行代理转发    
    location /data{
        proxy_pass   http://10.10.10.**:8001/data/;
    }
  include 文件目录/*;
}
【原文链接】 https://blog.csdn.net/ruby113028/java/article/details/52461452

上述文件中location下内容可自行配置,主要体现在include 文件目录/*;,文件目录就是我们拆分出来的单个.conf文件的所在目录,这样每次只要启动nginx.conf就可以了,会辐射启动到.conf配置文件。

3、nginx指令使用转载原地址

  • 3.1 upstream
    声明一组

  • 3.1 upstream

  • 3.1 upstream
  • 3.1 upstream
  • 3.1 upstream
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容