码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx学习历程

时间:2019-01-12 12:11:14      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:epo   com   lang   信息   编译选项   适用于   介绍   事件处理   商业   

Nginx学习历程

 一、初识Nginx

 1.Nginx适用于哪些场景

(1)静态资源服务

  • 通过本地文件系统提供服务

(2)反向代理服务

  • Nginx的强大性能
  • 缓存
  • 负载均衡

(3)API服务

  • OpenResty

 2.Nginx出现的历史背景

nginx [engine x]是俄罗斯人Igor Sysoev编写的一个HTTP和反向代理服务器,另外它也可以作为邮件代理服务器。 它已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站包括Yandex、Mail.Ru、VKontakte,以及Rambler。据Netcraft统计,在2012年8月份,世界上最繁忙的网站中有11.48%使用Nginx作为其服务器或者代理服务器。

http://nginx.org/en/download.html上可以获取当前最新的源代码,并编译安装。

3.Nginx的5个主要优点

  • 高并发,高性能
  • 可扩展性好
  • 高可靠性
  • 热部署
  • BSD许可证

4.Nginx的四个主要组成部分

(1)Nginx二进制可执行文件

  • 由各模块源码编译出的一个文件

(2)Nginx.conf配置文件

  • 控制Nginx的行为

(3)access.log访问日志

  • 记录每一条http其你去信息

(4)error.log错误日志

  • 定位问题

5.选择哪一个Nginx的发行版本

(1)开源免费的Nginx

开源版:nginx.org

(2)商业版Nginx Plus

商业版:nginx.com

(3)阿里巴巴的Tengine

阿里巴巴:Tengine

(1)开源免费的OpenResty

开源版:openresty.org

(2)商业版OpenResty

商业版:openresty.com

 6.编译出适合自己的Nginx

参考链接:ubuntu16.04编译出适合自己的nginx服务器

 (1)下载Nginx

Nginx下载:https://nginx.org/en/download.html ,

(2)介绍各目录

技术分享图片

 

.
├── auto             自动检测系统环境以及编译相关的脚本
│   ├── cc          关于编译器相关的编译选项的检测脚本
│   ├── lib         nginx编译所需要的一些库的检测脚本
│   ├── os          与平台相关的一些系统参数与系统调用相关的检测
│   └── types       与数据类型相关的一些辅助脚本
├── conf             存放默认配置文件,在make install后,会拷贝到安装目录中去
├── contrib          存放一些实用工具,如geo配置生成工具(geo2nginx.pl)
├── html             存放默认的网页文件,在make install后,会拷贝到安装目录中去
├── man              nginx的man手册
└── src              存放nginx的源代码
    ├── core         nginx的核心源代码,包括常用数据结构的定义,以及nginx初始化运行的核心代码如main函数
    ├── event        对系统事件处理机制的封装,以及定时器的实现相关代码
    │   └── modules 不同事件处理方式的模块化,如select、poll、epoll、kqueue等
    ├── http         nginx作为http服务器相关的代码
    │   └── modules 包含http的各种功能模块
    ├── mail         nginx作为邮件代理服务器相关的代码
    ├── misc         一些辅助代码,测试c++头的兼容性,以及对google_perftools的支持
    └── os           主要是对各种不同体系统结构所提供的系统函数的封装,对外提供统一的系统调用接口

(3)Configure

(4)中间文件介绍

(5)编译

(6)安装

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

二、Nginx架构基础

 

三、详解HTTP模块

 

四、反向代理与负载均衡

 

参考链接:https://www.kancloud.cn/kancloud/master-nginx-develop#/catalog

Nginx学习历程

标签:epo   com   lang   信息   编译选项   适用于   介绍   事件处理   商业   

原文地址:https://www.cnblogs.com/zkfopen/p/10258832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!