Nginx配置详解

一、Nginx是什么?

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。

  1. Nginx工作流程图:
    在这里插入图片描述

二、Nginx的重要配置

  1. 日志
    access.log具体每项代表的意思:

    $remote_addr   客户端地址   211.28.65.253
    $remote_user   客户端用户名称 --
    $time_local    访问时间和时区 18/Jul/2012:17:00:01 +0800
    $request   请求的URI和HTTP协议   "GET /article-10000.html HTTP/1.1"
    $http_host 请求地址,即浏览器中你输入的地址(IP或域名) www.it300.com
    192.168.100.100
    $status    HTTP请求状态    200
    $upstream_status   upstream状态  200
    $body_bytes_sent   发送给客户端文件内容大小    1547
    $http_referer  url跳转来源 https://www.baidu.com/
    $http_user_agent   用户终端浏览器等信息  "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C;
    $ssl_protocol  SSL协议版本 TLSv1
    $ssl_cipher    交换数据中的算法    RC4-SHA
    $upstream_addr 后台upstream的地址,即真正提供服务的主机地址  10.10.10.100:80
    $request_time  整个请求的总时间    0.205
    $upstream_response_time    请求过程中,upstream响应时间  0.002
    

    自己定义log的格式

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" $host'
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for" "$upstream_addr" $upstream_response_time';
    
    log_format up_head '$remote_addr - $remote_user [$time_local]  $request $host'
                           'upstream_http_content_type $upstream_http_content_type $upstream_http_host';
    
  2. 配置http模块负载均衡

    upstream bakend{
                    server 192.168.81.152:8283;
    	            server 192.168.81.153:8283;
            }
      server{
              listen 8080;
              access_log /home/myb/wss/nginx/aeecss1.log;
              error_log  /var/log/nginx/error1.log;
              #proxy_pass bakend;
              location  /get { #匹配 locahost:8080/get http请求转发到152和153的机器上
                    proxy_pass  http://bakend/get
              }
            }
    
  3. 在stream模块中配置反向代理

    stream{
           upstream test {
              server 192.168.81.152:8283;
     	  	server 192.168.81.152:8283;
           }
           server{
              listen 8080;
              #access_log /var/log/nginx/aeecss1.log;
              #error_log  /var/log/nginx/error1.log;
              proxy_pass test;
           }
    }
    
  4. Location规则配置:

    location  = / {
      # 只匹配"/".
      [ configuration A ] 
    }
    location  / {
      # 匹配任何请求,因为所有请求都是以"/"开始
      # 但是更长字符匹配或者正则表达式匹配会优先匹配
      [ configuration B ] 
    }
    location ^~ /images/ {
      # 匹配任何以 /images/ 开始的请求,并停止匹配 其它location
      [ configuration C ] 
    }
    location ~* .(gif|jpg|jpeg)$ {
      # 匹配以 gif, jpg, or jpeg结尾的请求. 
      # 但是所有 /images/ 目录的请求将由 [Configuration C]处理.   
      [ configuration D ] 
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx 是一个高性能的开源 Web 服务器和反向代理服务器。它的配置文件是一个重要的部分,影响着服务器的行为和性能。下面是对 Nginx 配置文件的详细解释: 1. 配置文件位置: Nginx配置文件通常位于 /etc/nginx/nginx.conf。此外,可以通过 include 语句包含其他配置文件,使配置更加模块化。 2. 基本结构: Nginx配置文件由多个指令和块组成。指令是配置文件的最小单位,而块是由一对花括号括起来的指令集合。配置文件从上到下按顺序解析,遇到块会进一步解析块内的指令。 3. 主要指令: - worker_processes:指定 Nginx 创建的进程数。通常设置为 CPU 核心数的倍数。 - events:配置 Nginx 处理连接和请求的事件模型。 - http:定义 HTTP 服务器的全局配置。 - server:定义一个虚拟主机(或称为 server block),可以包含多个 location 块。 - location:根据请求的 URI 匹配规则,定义不同的请求处理方式。 4. 常用配置选项: - listen:指定监听的 IP 地址和端口。 - server_name:指定虚拟主机的域名。 - root:指定网站根目录。 - index:指定默认的索引文件。 - location:根据匹配规则指定不同的处理方式,如代理、重定向、静态文件处理等。 5. 变量和指令: Nginx 支持一些内置变量和指令,用于实现动态的配置和请求处理。常见的变量包括 $uri、$args 和 $http_user_agent,常见的指令包括 if、rewrite 和 return。 6. 配置文件的重载: 在修改配置文件后,可以通过发送信号给 Nginx 进程来重新加载配置,而无需停止服务器。常用的信号有 HUP(重新加载配置)和 TERM(停止服务器)。 这些是 Nginx 配置文件的一些基本概念和常用指令。具体的配置方式和使用方法可以根据实际需求进行深入学习和探索。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值