欢迎访问IT教程网

Nginx基础配置

Linux admin 69℃ 0评论

yum安装默认配置文件为/etc/nginx/nginx.conf

1.Main位于nginx.conf配置⽂文件的最⾼高层
2.Main层下可以有Event、HTTP层
3.HTTP层下⾯面有允许有多个Server层, ⽤用于对不不同的⽹网站做不不同的配置
4.Server层也允许有多个Location, ⽤用于对不不同的路路径进⾏行行不不同模块的配置

[root@localhost ~]# cat /etc/nginx/nginx.conf

user nginx;                                                  #设置nginx的服务用户
worker_processes 1;                                          #工作进程  等于cpu的个数

error_log /var/log/nginx/error.log warn;                     #错误日志
pid /var/run/nginx.pid;                                       #pid 
 

events {
worker_connections 1024;                                        #每个worker进程支持的最大连接数

use   epoll;                                                     #内核模型 select poll  epoll
}


http {
       include /etc/nginx/mime.types;
       default_type application/octet-stream;
       server {
            listen   80;
            server_name   www.jcwit.com;
       location    /  {
           root   /data/html  ;
           index  index.html;     
        }  
        error_page   500 502 503  /50x.html;
        location  = /50x.html   {
            root  /html;      
} 

}  
}

Nginx 日志配置

配置在http字段内

log_format main   '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';
//Nginx日志变量
$remote_addr      客户端地址
$remote_user       http客户端请求nginx认证用户名
$time_local           nginx服务器时间
$request                请求行 GET POST等方法  http协议版本
$status                   response返回状态码  比如200
$body_bytes_sent       从服务端响应给客户端body信息⼤大⼩小
$http_referer                http上⼀一级⻚页⾯面, 防盗链、⽤用户⾏行行为分析
$http_user_agent         http头部信息, 客户端访问设备
$http_x_forwarded_for  http请求携带的http信息

Nginx状态监控

–with-http_stub_status_module  该模块记录

配置在server或者location字段

location /mystatus {
      stub_status on;
      access_log off;

}

//Nginx_status概述
Active connections:2
server accepts handled requests
16 16 19
server表示Nginx处理理接收握⼿手总次数。
accepts表示Nginx处理理接收总连接数。 请求丢失数=(握⼿手数-连接数)可以看出,本次状态显示没有丢失请求。
handled requests,表示总共处理理了了19次请求。
Reading Nginx读取数据
Writing Nginx写的情况
Waiting Nginx开启keep-alive⻓长连接情况下, 既没有读也没有写, 建⽴立连接情况

Nginx访问限制

连接频率限制 limit_conn_module

请求频率限制 limit_req_module

连接限制配置

http {
//http段配置连接限制, 同⼀一时刻只允许⼀一个客户端IP连接
 limit_conn_zone $binary_remote_addr zone=conn_zone:10m;

 server { 

        location / {
             //同⼀一时刻只允许⼀一个客户端IP连接 
                limit_conn conn_zone 1;
                     }
            }
}

请求限制配置

http {
//http段配置请求限制, rate限制速率,限制⼀一秒钟最多⼀一个IP请求 
       limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s;
     server {
            location / { 
             //1r/s只接收⼀一个请求,其余请求拒绝处理理并返回错误码给客户端
              limit_req zone=req_zone;
             //请求超过1r/s,剩下的将被延迟处理理,请求数超过burst定义的数量量, 多余的请求返回503#
               limit_req zone=req_zone burst=3 nodelay;}

Nginx访问控制

基于IP的访问控制 http_access_module

基于⽤用户登陆认证 http_auth_basic_module

基于IP的访问控制

location   ~  / {
     root   html;
     index  index.html;
     deny    192.168.1.1;
     allow   all;
}

基于用户认证

首先创建认证用户   auth_conf为保存的文件名  admin为用户名 密码会提示输入

htpasswd -c auth_conf admin

配置

在需要认证的地方插入以下内容  可以是http  server或者location

auth_basic "Auth access Blog Input your Passwd!"; 
auth_basic_user_file /etc/nginx/auth_conf;

本文固定链接:IT教程网 » Nginx基础配置
本站内容除特别标注外均为原创,欢迎转载,但请保留出处!

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址