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

相关推荐

  • 自建回收站

    linux 自添加回收站 (1)建立一个回收站目录 mkdir /tmp/trash_tmp (2) 编辑一个文件 vi /bin/trash mv $@ /tmp/trash_tmp :wq 保存退出 (3)添加别名 alias rm=/bin/trash (4)编辑/etc/bashrc 在最后一行添加alias rm=/bin/trash (5)给予目…

    Linux干货 2017-09-04
  • 高级文件系统管理

    磁盘配额:         当我们在一个指定分区内有多个用户使用时,为了保证磁盘空间的大小,我们可以限制某些用户在该磁盘空间中的使用量,此种功能我们称之为磁盘配额。          &nb…

    Linux干货 2016-08-30
  • LAMP基于rsyslog+loganalyzer实现日志集中管理及分析

    前言 作为一名运维工程师,查看分析系统日志是每天必做的功课,但每次查看日志都得一台服务器一台服务器的看,几台服务器还可以这么对付,但如果管理成百上千台线上服务器,这种方法就捉襟见肘了。于是我们就需要用到日志服务器了,但是如何能让它更直观的显示呢?loganalyzer是一个不错的选择,本文将讲解如何使用rsyslog+loganalyze实现日志统一管理及分…

    Linux干货 2015-04-27
  • Linux基本命令总结

    一.目录相关的命令 mkdir rmdir tree cd ls pwd   二.文件相关命令 less cat more tac rev stat head tail cut grep cp mv rm touch rename   三.分析文本的工具 wc sort uniq cut    

    2017-09-10
  • 基于heartbeat v2 crm实现基于nfs的mysql高可用集群

    前言 因heartbeat v1内置的资源管理器haresource功能比较简单,且不支持图形化管理,所以heartbeat v2不再支持haresource,转而使用更加强大的资源管理器crm进行集群管理。本文将讲解如何基于heartbeat v2 crm实现基于nfs的mysql高可用集群。 高可用实现 实验拓扑 实验环境 node1:172.16.10…

    Linux干货 2015-06-11
  • Mairadb

    Mairadb 编译安装Mairadb数据 先下载mariadb的软件包: 将软件包解压缩到/usr/local目录下 ]# tar xf mariadb-5.5.32-linux-x86_64.tar.gz -C /usr/local/ 创建连接 ]# ln -sv maria…

    Linux干货 2016-10-17