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
下一篇 2017-06-19

相关推荐

  • issue设置和定时关机练习

    /etc/issue内的代码意义 \l 显示第几个终端机接口(tty)\m 显示硬件的等级 (x86_64)\n 显示主机的网络名称 (zcl-domain)\r 操作系统的版本 (2.6.32-642.e16)\t 显示本地端时间的时间(20:22:12) \d显示本地端的日期 (2016-8-5)\s 操作系统的名称(linux)  练习 1,…

    Linux干货 2016-08-05
  • 第六周 N21 总有刁民想害朕

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;    %s/\(^[[:space:]]\)/#\1/ 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.…

    Linux干货 2016-08-08
  • bash数据类型探秘

    数组 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的在调用变量时最好加双引号,对于字符串中含有空格等字符的能更好的调用集合。数组名和索引索引:编号从0开始,属于数值索引( 偏移量从默认0开始 )注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引…

    Linux干货 2016-08-24
  • 第六周博客作业

                   1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s@^[[:space:]]\+[^[:…

    Linux干货 2016-12-05
  • OPENSSL&DNS

      1、详细描述一次加密通讯的过程,结合图示最佳。 Client 从互联网下载CA的公钥,用于验证Server身份 Server 通过加密算法生成一对密钥,将公钥发给CA认证机构,做数字证书 CA 通过自己的私钥加密 Server 公钥并加上自己的数字签名后,将生成的数字证书发给Server Client 与 Server 通TCP的三次握手建立连…

    Linux干货 2016-12-05
  • iptables:防火墙以及网络协议基本原理

    一、 Linux 网络安全模型      1. 防火墙: 工作在主机或者网络边缘,对进出报文使用实现定义的规则进行检测,并且由匹配的规则进行处理的一组硬件或者软件。也可能两者结合。          1) 通常使用的防火…

    Linux干货 2015-07-24