美文网首页
Nginx基础

Nginx基础

作者: 姜饼人_9e7b | 来源:发表于2017-10-01 14:28 被阅读0次

    Nginx介绍

    • 特性:
      模块化设计,较好的扩展性
      高可靠性
      支持热部署:不停机更新配置文件,升级版本,更换日志文件
      低内存消耗: 10000个keep-alive连接模式下的非活动连接,仅
      需要2.5M内存
      event-driven,aio,mmap, sendfile

    • 基本功能:
      静态资源的web服务器(图片, js, css, html, txt等静态资源)
      http协议反向代理服务器(结合FastCGI/uWSGI/SCGI等协议)
      pop3/imap4协议反向代理服务器
      模块化(非DSO),如zip, SSL模块

    Nginx架构
    • nginx的程序架构: master/worker结构
      • 一个master进程:
        负载加载和分析配置文件、管理worker进程、平滑升级
      • 一个或多个worker进程
        处理并响应用户请求
      • 缓存相关的进程:
        cache loader:载入缓存对象
        cache manager:管理缓存对象

    编译安装

    yum groupinstall "Development Tools" "Server Platform Development"
    yum install pcre-devel openssl-devel zlib-devel
    #安装工具包
    
    useradd -r nginx
    #添加用户
    
    ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_dav_module --with-http_stub_status_module --with-threads --with-file-aio
    #生成configure文件
    
    make && make install
    #安装
    

    Nginx配置

    • 主配置文件/etc/nginx/nginx.conf
    • 子配置文件/etc/nginx/conf.d/*.conf
    • 支持的mime类型/etc/nginx/mime.types
    • 配置格式:
      指令 值 [值2];
      1、指令必须以分号结尾
      2、支持使用配置变量
      内建变量:由Nginx模块引入,可直接引用
      自定义变量:由用户使用set命令定义
      set variable_name value;
      引用变量: $variable_name
    • 配置文件结构
    main block  主配置段,也即全局配置段,对http,mail都有效
    
    event {                        <==事件驱动相关的配置
    ...
    }                                      
    
    http {                         <==http/https 协议相关配置段
    ...
    } 
    
    mail {                         <==mail 协议相关配置段
    ...
    } 
    
    stream {                       <==stream 服务器相关配置段
    ...
    } 
    
    

    全局配置段

    全局配置端官方文档

    user www www;
    #进程用户
    worker_processes 2;
    #worker进程数
    error_log /var/log/nginx-error.log info;
    #错误日志文件
    pid /var/run/nginx.pid;
    #pid文件路径
    events {
        use kqueue;
        worker_connections 2048;
    #每个worker进程最大连接数
    }
    

    ngx_http_core_module

    http_core官方文档

    http {
        ...
        ... 各server的公共配置
        
         server { 每个server用于定义一个虚拟主机
                  ...
         }
    
         server {
                  ...
                  server_name 虚拟主机名
                  root 主目录
                  alias 路径别名
                  location [OPERATOR] URL { 指定URL的特性
                  ...
                  if CONDITION {
                  ...
                  }
          }
    }

    相关文章

      网友评论

          本文标题:Nginx基础

          本文链接:https://www.haomeiwen.com/subject/tvioextx.html