nginx

1.Nginx的程序架构:
        master/worker
           
一个master进程:
               
负载加载和分析配置文件、管理worker进程、平滑升级
           
一个或多个worker进程
               
处理并响应用户请求
           
缓存相关的进程:
                cache loader
:载入缓存对象
                cache manager
:管理缓存对象
               
       
特性:异步、事件驱动和非阻塞
           
并发请求处理:通过epoll/select
           
文件IO:高级IO sendfile,异步,mmap
           
2. nginx
模块:高度模块化,但其模块早期不支持DSO机制;近期版本支持动态装载和卸载;
           
模块分类:
               
核心模块:core module
               
标准模块:
                    HTTP modules

                        Standard HTTP
modules
                        Optional HTTP
modules
                    Mail modules
                    Stream modules

                       
传输层代理
                3rd party modules
               
   nginx
的功用:
           
静态的web资源服务器;(图片服务器,或js/css/html/txt等静态资源服务器)
           
结合FastCGI/uwSGI/SCGI等协议反代动态资源请求;
            http/https
协议的反向代理;
            imap4/pop3
协议的反向代理;
            tcp/udp
协议的请求转发;
           
    nginx
的安装配置:
       
官方的预制包:
            http://nginx.org/packages/centos/7/x86_64/RPMS/
            Fedora-EPEL:

3.程序环境

            配置文件的组成部分:
               
主配置文件:nginx.conf
                    include
conf.d/*.conf
                fastcgi
uwsgiscgi等协议相关的配置文件
                mime.types
:支持的mime类型
           
主程序文件:/usr/sbin/nginx
            Unit File
nginx.service
       
       
配置:
           
主配置文件的配置指令:
                directive value [value2
…];
               
               
注意:
                    (1)
指令必须以分号结尾;
                    (2)
支持使用配置变量;
                       
内建变量:由Nginx模块引入,可直接引用;
                       
自定义变量:由用户使用set命令定义;
                            set
variable_name value;
                           
引用变量:$variable_name
                                   
                           
           
主配置文件结构:
                main block
:主配置段,也即全局配置段;
                    event {
                        …
                    }
:事件驱动相关的配置;
                http {
                    …
                }
http/https 协议相关的配置段;
                mail {
                    …
                }
                stream {
                    …
                }
           
            http
协议相关的配置结构
                http {
                    …
                    …
:各server的公共配置
                    server {
                        …
                    }
:每个server用于定义一个虚拟主机;
                    server {
                        …
                        listen
                        server_name
                        root
                        alias
                        location
[OPERATOR] URL {
                            …
                            if CONDITION
{
                                …
                            }
                        }
                    }

4.建一个nginx服务器

nginx

nginx

nginxnginx

nginx

nginx

5.性能优化,如果一台主机只服务nginx,绑定cpu,调优先级及最大调优

nginx

nginx

6.限制条件访问

nginx

在172.16.254.177上访问 403

nginx

7.图片限制访问

nginx

nginx

nginx

nginx

8.root与alias区别

nginx

nginx

nginx

nginx

nginx

nginx

nginx

nginx

9.错误页面重新定义

nginx

nginx

nginx

nginx

nginx

10.认证登录设置

nginx

nginx

nginx

nginx

11.状态页访问

nginx

nginx

12. 日志定义

nginx

nginx

13. gzip压缩模块

nginx

nginx

 

14。ssl 模块

(1)在另外台主机上

nginx

(2)在另外nginx那台主机上

nginx

nginx

(3)在CA主机上

nginx

nginx

(3)在nginx主机上

nginx

nginx

15.rewirte模块

nginx

nginx

nginx

nginx

原创文章,作者:yaobinbin,如若转载,请注明出处:http://www.178linux.com/78228

(0)
yaobinbinyaobinbin
上一篇 2017-06-19 16:06
下一篇 2017-06-19 16:57

相关推荐

  • First Day

    learning

    2018-03-26
  • 魔术方法

    Edit 魔术方法 使用Python的魔术方法的最大优势在于他们提供了一种简单的方法来让对象可以表现的像内置类型一样。那意味着你可以避免丑陋的,违反直觉的,不标准的的操作方法。 特殊属性 属性 含义 __name__ 类、函数、方法等名字 __module__ 类定义所在的模块名? __class__ 对象或类所属的类 __bases__ 类的基类的元组,顺…

    Linux干货 2017-11-21
  • Linux进程管理三剑客htop、ps、dstat

    ps命令 Unix有两种主要分支:官方的Unix(AT&T)和非官方的Unix(加利福利亚大学伯克利分校)。UNIX("带-")和BSD(不带东西)都有自己的ps版本,并且ps版本都很出名,并被广泛使用。最终结果是许多现代版本的ps都同时支持两种类型的选项,即所谓的Unix选项和BSD选项。而且还有一组选项支持GUN的选项. 所以…

    Linux干货 2016-11-22
  • Redis 存储分片之代理服务Twemproxy 测试

    概述 实际业务场景中单点 Redis 容量、并发都是有限的,所以有 Redis Cluster 的需求。 但是官方的 Redis Cluster 一再跳票,还不可用。 只好先使用最简单的方式:Proxy。有很多可选,但在大范围生产使用的, Twitter 开源的 Twemproxy  看起来是个理想的选择 – https://…

    Linux干货 2015-03-10
  • grep的使用和正则表达式

           grep作为Linux中的文本编辑的三剑客之一,它的功能很强大,并不是虚传,学会了grep在文本中找我们要找的的字符串总是能很轻易地找到,grep不仅仅就这一点功能,它在我们工作上也会对我们有很大的帮助。下面我来介绍一下grep的简单的功能。 grep :文本过滤( 模式:patter…

    Linux干货 2016-08-10
  • test1

    test 

    Linux干货 2016-09-15