1、nginx的工作模式

master/worker工作模式:

  一个master进程:

    负载加载和分析配置文件、管理worker进程、平滑重启升级等。

  一个或多个worker进程

    处理并响应用户请求

  缓存相关的进程:

    cache loader:载入缓存对象

    cache manager:管理缓存对象

nginx的特性:异步、非阻塞、事件驱动

  并发请求处理:通过epoll/select

  文件IO:高级IO sendfile,异步,mmap

nginx模块:高度模块化,但其模块早期不支持DSO机制。不过近期版本支持动态装载和卸载

模块分类:

    核心模块:core module

    标准模块:

      HTTP modules:

        Standard HTTP modules

        Optional HTTP modules

      Mail modules

      Stream modules

    3rd party modules

2、nginx功用:

  静态的web资源服务器(图片服务器,或js/css/html/txt等静态资源服务器)

  结合FastCGI/uwSGI/SCGI等协议反向代理动态资源请求。

  http/https协议的反向代理

  imap4/pop3协议的反向代理

  tcp/udp协议的请求转发

3、安装nginx

  编译安装:

    

  yum安装rpm包

  nginx是在yum的epel源中,直接一键yum install nginx即可

4、简单介绍nginx的组成部分:

  1)配置文件的组成部分:

    主配置文件:/etc/nginx/nginx.conf

      include /etc/nginx/conf.d/*.conf

    fastcgi,uwsgi,scgi等协议相关的配置文件

    mime.types:支持的mime类型。mime表示多用途互联网邮件扩展

  2)主配置文件的配置指令:

    directive value [value2.....];    nginx配置文件中每一条指令以分号结尾。

    注意:

      (1):指令必须以分号结尾

      (2):支持使用配置变量

          内建变量:由nginx模块自带的变量,可直接引入

          自定义变量:由用户使用set命令定义;

            set variable_name value;

            引用变量:$varable_name

  3)查看安装时编译配置参数:

    nginx -V

    nginx -s stop | reload | stop:传递给nginx信号参数

    nginx -c file:指定配置文件。

  4)主配置文件结构:

 main block:主配置端,也是全局配置段;
      event {
        .......
      } 事件驱动相关的配置。
    http {
      .....
    } http/https协议相关的配置段;     mail {......}
    stream {
      .....
    }
    http协议相关的配置结构
      http {
        ...
        ...:各server的公共配置
        server {
          ....
        }:每个server用于定义一个虚拟主机
        server {
          ......
          listen
          server_name
          root
          alias
          location [OPERATOR] url { location用来定义用户对某个资源的访问控制。
            ....
            if condition {
              ......
            }
          }
        }
      }

  5)案例演示:

    先说明一下:

    

    注意这个下划线表示匹配所有的主机的80端口。所以我们使用IP直接访问的话,默认匹配的是/usr/share/nginx/html这个目录下的网页。

    现在我们定义一个虚拟主机,放在/etc/nginx/conf.d/目录下。

    

    接下来在/var/nginx/html目录下编辑index.html默认主页:

    

    然后在windows的hosts文件里面添加映射:

    

    最后使用浏览器访问:

    

    如果使用ip访问的话,匹配的是nginx服务的默认主页(在/etc/nginx/nginx.conf配置文件中定义)。

        

nginx基础知识总结的更多相关文章

  1. Nginx基础知识介绍

    Nginx基础知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx概述 Nginx是免费的.开源的.高性能的HTTP和正向/反向代理服务器.邮件代理服务器.以及T ...

  2. day63:Linux:nginx基础知识&nginx基础模块

    目录 1.nginx基础知识 1.1 什么是nginx 1.2 nginx应用场景 1.3 nginx组成结构 1.4 nginx安装部署 1.5 nginx目录结构 1.6 nginx配置文件 1. ...

  3. Nginx 基础知识学习

    资料 基础 掘金-前端开发者必备的Nginx知识 介绍的比较综合,正向代理反向代理的区别.负载均衡等知识,都有介绍 静默虚空-Nginx 简易教程 博客园上的一篇推荐文章 简书-全面了解Nginx到底 ...

  4. Nginx基础知识之————Nginx 环境的搭建?

    本课时主要给大家讲解如何在 Linux 系统下搭建 Nginx 和 Nginx 搭建过程中常见问题的知识,并结合实例让学员掌握 Nginx 环境的搭建. 下载解压: 安装gcc-c++ 从新配置文件: ...

  5. Nginx基础知识之————什么是 Nginx?

    本课时主要给大家讲解什么是 Nginx 和 Nginx 的功能,Nginx 与其他服务器的性能比较和 Nginx 的优点总结的知识,并结合实例让学员深入理解 Nginx 和 Nginx 的功能以及 N ...

  6. Nginx基础知识之————RTMP模块中的中HLS专题(翻译文档)

    一.在Nginx配置文件的RTMP模块中配置hls hls_key_path /tmp/hlskeys; 提示错误信息: nginx: [emerg] the same path name " ...

  7. Nginx基础知识之————RTMP模块专题(实践文档)

    on_publish 语法:on_publish url上下文:rtmp, server, application描述:这个可以设置为一个API接口(GET方式接受所有参数),会给这个API接口返回8 ...

  8. Nginx基础知识————生成自签名ca 证书 使nginx 支持https

    创建服务器私钥,命令会让你输入一个口令: $ openssl genrsa -des3 -out server.key 1024 创建签名请求的证书(CSR): $ openssl req -new ...

  9. Nginx基础知识之————多模块(非覆盖安装、RTMP在线人数实例安装测试)

    说明:已经安装好的nginx,需要添加一个未被编译安装的模块,需要怎么弄呢? 具体:这里以安装第三方nginx-rtmp-module和nginx-accesskey-2.0.3模块为例,nginx的 ...

  10. Nginx基础知识之——配置文件信息(检查配置文件是否正确)

    一.检查配置文件是否正确: /usr/local/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf 检查结果: nginx: [emerg] ngin ...

随机推荐

  1. Django内置权限扩展案例

    当Django的内置权限无法满足需求的时候就自己扩展吧~ 背景介绍 overmind项目使用了Django内置的权限系统,Django内置权限系统基于model层做控制,新的model创建后会默认新建 ...

  2. LearnOpenGL学习笔记(三)——VBO,VAO,EBO理解

    在opengl中所有的数据都要放在显存中,我们通过一定的手段去管理它,既要提供地方存放它,还要提供方法去正确地提取它们,去使用它们,opengl通过VAO,VBO,EBO这些手段来解决这些问题. (一 ...

  3. EOS多节点组网:商业场景分析以及节点启动时序

    区块链公链都是基于p2p网络,本篇文章将建立一个多节点不同职责参与的EOS的测试网络,根据路上发现的可做文章的技术点大做文章. 关键字:EOS组网,全节点,交易确认,boot sequence,sta ...

  4. 【Spark笔记】Windows10 本地搭建单机版Spark开发环境

    0x00 环境及软件 1.系统环境 OS:Windows10_x64 专业版 2.所需软件或工具 JDK1.8.0_131 spark-2.3.0-bin-hadoop2.7.tgz hadoop-2 ...

  5. Python 3 进阶 —— 使用 PyMySQL 操作 MySQL

    PyMySQL 是一个纯 Python 实现的 MySQL 客户端操作库,支持事务.存储过程.批量执行等. PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Py ...

  6. JVM笔记——编译期的优化

    一.编译过程 解析和填充符号表的过程 插入注解处理器的注解处理过程 语义分析与字节码生成过程 二.解析和填充符号表 解析包含两个过程:词法分析和语法分析 (一)词法分析 将源代码的字符流转变成标记(T ...

  7. 常量(const)和只读变量(readonly)

    //const修饰的数据叫做 常量 //常量一旦声明常量的值就不能改变. //常量在声明的时候 必须要赋初始值 //C#编译器在编译的时候 声明常量的那句话不见了. //在使用常量的地方就用常量的值代 ...

  8. Net 如何计算一段代码的效率

    在.Net 4.0以后的版本,提供了一个类,该类在 System.Diagnostics命名空间下,使用该类就可以计算出执行结果相同的两端代码的效率,在代码优化上是很实用的. 泛型效率是高是低呢??我 ...

  9. Spark中master与worker的进程RPC通信实现

    1.构建master的actor package SparkRPC import akka.actor.{Actor, ActorSystem, Props}import com.typesafe.c ...

  10. mysql实践总结

    首先介绍mysql的安装和基本使用.进阶操作.讲解mysql的导入导出和自动备份,然后介绍安全模式修改密码和mysql的全文本搜索功能,最后记录了个人使用mysql中遇到的问题集,闲暇时我也会多看几次 ...