nginx配置文件探索

本文详细介绍了nginx的配置文件结构,包括全局块、events块、http块和server块。全局块设置了Nginx服务器用户、worker process数等;events块涉及网络连接配置;http块涵盖MIME-Type定义和日志定制;server块用于虚拟主机配置,包括基于名称和IP的设置。location块用于处理请求路由,支持标准URI和正则表达式匹配。
摘要由CSDN通过智能技术生成

  1. 全局块
    该部分配置主要影响Nginx全局,通常包括下面几个部分:
    配置运行Nginx服务器用户(组)
    worker process数
    Nginx进程PID存放路径
    错误日志的存放路径
    配置文件的引入

  2. events块
    该部分配置主要影响Nginx服务器与用户的网络连接,主要包括:
    设置网络连接的序列化
    是否允许同时接收多个网络连接
    事件驱动模型的选择
    最大连接数的配置

  3. http块
    定义MIMI-Type
    自定义服务日志
    允许sendfile方式传输文件
    连接超时时间
    单连接请求数上限

  4. server块
    配置网络监听
    基于名称的虚拟主机配置
    基于IP的虚拟主机配置

  5. location块
    location配置
    请求根目录配置
    更改location的URI
    网站默认首页配置

配置网络监听
指令格式:
第一种:配置监听的IP地址:listen IP[:PORT];
第二种:配置监听的端口:listen PORT;

实际举例:

listen 192.168.50.250:8080; #监听具体IP和端口上的链接 
listen  192.168.50.250;     #监听IP上多有端口的链接 
listen 8080;                #监听具体端口上的所有IP的链接

基于名称和IP的虚拟主机配置
指令格式:server_name name1 name2 …
name可以有多个并列名称,而且此处的name支持正则表达式书写

实际举例:

server_name ~^www\d+\.myserver\.com$

此时表示该虚拟主机可以接收类似域名 www1.myserver.com 等的请求而拒绝 www.myserver.com 的域名请求,所以说用正则表达式可以实现更精准的控制

至于基于IP的虚拟主机配置比较简单,不再太赘述:

指令格式:server_name IP地址

location配置
指令格式为:location [ = | ~ | ~* | ^~ ] uri {…}

这里的uri分为标准uri和正则uri,两者的唯一区别是uri中是否包含正则表达式
uri前面的方括号中的内容是可选项,解释如下:

“=”:用于标准uri前,要求请求字符串与uri严格匹配,一旦匹配成功则停止
“~”:用于正则uri前,并且区分大小写
“~*”:用于正则uri前,但不区分大小写
“^~”:用于标准uri前,要求Nginx找到标识uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配

实例服务器上配置了一个网站,一个nexus服务,server部分如下

    #gzip  on;

    server {
        listen       80;
        server_name  mini-like.com; #

        location /examples/ {
            proxy_pass http://127.0.0.1:8080/examples/; 
            proxy_set_header Host $host:80;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

		location / {
            proxy_pass http://127.0.0.1:8080/examples/; 
            proxy_set_header Host $host:80;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

    server {
        listen       80;
        server_name  mini-like.net; 

        location /docs {
            proxy_pass http://127.0.0.1:8080/docs; 
            proxy_set_header Host $host:80;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

		location / {
            proxy_pass http://127.0.0.1:8080/docs; 
            proxy_set_header Host $host:80;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

    }

     server {
        listen       80;
         server_name  mini-like.com.cn; 

        location / {
            proxy_pass http://182.92.238.98/; 
            proxy_set_header Host $host:80;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值