nginx

本篇要点:

1.nginx的启动,停止,重启

2.配置文件的结构

3.nginx如何作为静态资源服务器,如何作为代理服务器。

 

扯几句闲篇:

nginx启动后包括一个master线程和多个工作线程。master线程负责读取和更改配置文件,管理这些工作线程。

工作线程负责处理具体的请求。工作线程的数量可以在配置文件中设置。

 

nginx的控制命令:


nginx 启动

nginx -t 检测配置文件

ngixn -s stop:立即停止

ngixn -s quit:完成现有请求后,关闭服务器,优雅地停止服务

ngixn -s reload:重新加载配置文件。修改了配置文件后,需要执行本命令,新的修改才会生效。

 

nginx配置文件:

nginx包括多个功能模块,这些功能模块在配置文件中各项指令的控制下,完成工作。

nginx配置文件中的指令分为简单指令和括号指令。

简单指令以‘ ;‘分号结束。

括号指令以{}结束,括号内的指令属于同一个上下文。

整个配置文件的指令在一个main上下文中,

events和http在main下

server在http下

location在server下

#开头的表示备注

同个配置文件中有多个server,server通过监听listen端口和sever_name来区分。

决定了哪个server来处理请求后,还要决定由哪个location来处理。

同个server内包括多个location,通过uri来区分多个location。

location命令后紧跟了参数,参数包括前缀字符串和正则表达式两种

正则表达式用~开头

先匹配前缀字符串,找出最长匹配,如果该前缀字符串以^~开头,那么终止匹配,执行该location内的命令

否则继续匹配正则表达式,找到第一个匹配的正则为止,停止匹配,执行命令,否则回到最长的前缀字符串处,执行该命令

~区分大小写 ~*不区分大小写。

多个location中,以正则表达式为参数的location的优先级要高于普通表达式的location。

多个以普通表达式为参数的location,则匹配长度越长的优先级越高。

 

例子:

http{
      server{
        listen port;
        server_name hostname;  
       location / {
            root  path;
            index index.html;
        }
       location ~ 正则表达式{
            root path;  #匹配了正则表达式的uri,会直接返回  path/uri下的文件,例如请求localhost:port/ppath,会返回 path/ppath下的文件  
       }  
    }   
}            

 

ngixn作为静态资源服务器和反向代理服务器:

配置文件举例:

server {
    location / {
        proxy_pass http://localhost:8080/;
    }

    location ~ \.(gif|jpg|png)$ {
        root /data/images;
    }
}

gif,jpg和png结尾的请求会直接返回  /data/images 目录下的文件,例如 

http://localhost:80/1.jpg 

如果 /data/images 目录下存在 1.jpg 则直接返回,否则返回404。

其他请求则会转发给

http://localhost:8080/

返回结果后,由ngixn将结果返回给客户端。

 

rewrite * * last;重新匹配loaction

rewrite * * break ,在当前context内匹配

 

upstream内的server 在failtimeout时间内,max_fail次不可用,则该节点不可用,不可用是指 建立连接错误和建立连接超时。不可用会指向下个节点,优先级高的节点不可用会指向backend

 proxy_next_upstream,定义server不可用的定义(默认为建立连接错误和超时),可以设置为400,500等状态。

 

ps:nginx还可以作为fastcgi服务器的代理,fastcgi主要涉及php语言编写的服务器。




 

转载于:https://www.cnblogs.com/swaggyC/p/6116535.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值