Nginx配置文件结构图

背景介绍

  • 前端时间使用Nginx的时候,对Nginx的配置文件nginx.conf的结构画了一张图,方便理解和记忆。
    在这里插入图片描述

nginx作用

  1. 反向代理
  2. 负载均衡
  3. 动静分离

各部分做详细说明。

- 待补充

nginx.conf文件配置示例及说明

	#user  nobody;
#开启的线程数,一般跟逻辑CPU核数一致
worker_processes  1;

#定位全局错误日志文件,级别以notice显示,还有debug,info,warn,error,crit模式,debug输出最多,crir输出最少,根据实际环境而定
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error/error.log  info;
#指定进程id的存储文件位置
#pid        logs/nginx.pid;

    events {
    #定义每个进程的最大连接数,受系统进程的最大打开文件数量限制。
    worker_connections  1024;
    }
    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"';

    access_log  logs/access.log  main;

    sendfile        on;
    #开启防止网络阻塞
    #tcp_nopush     on;

    #keepalive_timeout  0;

    #设置客户端连接保存活动的超时时间
    keepalive_timeout  65;

    #设置允许客户端请求的最大的单个文件字节数
    client_max_body_size    200m;
            
    #指定来自客户端请求头的headebuffer大小
    client_header_buffer_size  32k;
                        
    #指定连接请求试图写入缓存文件的目录路径
    client_body_temp_path /dev/shm/client_body_temp;
                                    
    #指定客户端请求中较大的消息头的缓存最大数量和大小,目前设置为4个32KB
    #large client_header_buffers 4 32k;

    #gzip  on;

    #配置负载均衡
    upstream tomcatServer {
         server <IP地址>:8080  weight=10;
         server <IP地址>:8081  weight=10;
    }


   upstream edu {
        server <IP地址>:8080;
    }

   upstream vod {
        server <IP地址>:8081;
    }

    upstream newapi {
        server <IP地址>:8023;
    }

    upstream load-balance {
        server <IP地址>:8080 weight=10;
        server <IP地址>:8081  weight=10;
    }


    server {
        listen       80;
        #server_name  <IP地址>,域名.cn;
	server_name  域名.cn;
        #charset koi8-r;
	
	 #设置虚拟主机访问日志的存放路径及日志的格式为main
        #access_log  logs/host.access.log  main;
        #自定义某一个server配置的日志,使用“main”日志格式。
        access_log logs/access/host/access.log main;


	#监听所有的 / 访问路径,并将它转化相应服务器
        location / {
            #root   htmlaaa;
            root   /usr/local/nginx/htmlaaa;
            index  welcome.html;
	    #index  index.html index.htm;
        }

	location ^~ /tomcatServer/ {
             proxy_pass http://tomcatServer/;
        }

	location ^~  /edu/ {
             proxy_pass http://edu/;
        }


	location ^~  /vod/ {
             proxy_pass http://vod/;
        }

	location /load-balance/ {
             proxy_pass http://load-balance/;
        }

	location /newapi/ {
             proxy_pass http://newapi/;
        }
	
	location ~ .*\.(jpg|html|htm|jpeg|png|gif)?$ {
             root   /usr/local/nginx/htmlstatic;
        }

        error_page  404              /404.html;
        #
  

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

欢迎走过路过的各位大佬关注我的微信公众号ItBeeCoder

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值