为什么选择Nginx,nginx有诸多优点:

  nginx是轻量级web服务器,支持AIO、mmap、event-driven,解决了c10k问题、虚拟主机、基于名字和IP访问、nginx平滑升级 、热部署、自定义日志格式、3XX 5XX错误代码重定向、重写url、支持http referer 使用防盗链(判断请求过来的url)、支持flv和mp4流、速度限制。

框架:

  一个主进程master,多个子进程worker

  支持sendfile/sendfile64

配置文件结构:

server{}:虚拟主机

location{}:

location /URI/ {

root “/web/htdocs”

}

location URI:对当前路径和自路径下的所有对象都生效,匹配范围大

location = URI:对当前路径生效,精确匹配指定路径,不包括子路径

location ~ URI {}:

location ~* URI {}:

模式匹配URI,此处的URI可以使用正则表达式,~区分字符大小写,~*不区分

location ^~ URI {}:不使用正则表达式

匹配优先级”=” > “/”  “^~” > “~”

例子:

location = / {

    [ configuration A ]

}

location / {

    [ configuration B ]

}

location /documents/ {

    [ configuration C ]

}

location ^~ /images/ {

    [ configuration D ]

}

location ~* \.(gif|jpg|jpeg)$ {

    [ configuration E ]

}

The “/” request will match configuration A, the “/index.html” request will match configuration B, the “/documents/document.html” request will match configuration C, the “/images/1.gif” request will match configuration D, and the “/documents/1.jpg” request will match configuration E.

  • 一般配置

location / {

            root   /web/web1;

            index  index.html index.htm;

}

  location /web2/ {

            root /web;

            index index.html index.htm;

}

 介绍几个http相关模块:

  • 访问控制法则:基于IP,Module ngx_http_access_module

deny

allow

        location /web2/ {

            root /web;

            index index.html index.htm;

            deny 192.168.31.85;

        }

  • 基于用户:Module ngx_http_auth_basic_module
location / {

    satisfy any;

    allow 192.168.1.0/32;

    deny  all;

    auth_basic           "closed site";

    auth_basic_user_file conf/htpasswd;

}

location /web2/ {

            root /web;

            index index.html index.htm;

            auth_basic "closed site";

            auth_basic_user_file /etc/nginx/.users;

}

创建用户:

-c 第一次创建文件时使用:

# htpasswd -c -m /etc/nginx/.users tom

# htpasswd -m /etc/nginx/.users tom2

  • 允许列出其文件:Module ngx_http_autoindex_module

找不到主页面时,默认拒绝访问:

location / {

            root   /web/web1;

            index home.html;

        }

location / {

            root   /web/web1;

            index home.html;

            autoindex on;

}

  • 统计访问信息:Module ngx_http_stub_status_module
location /basic_status {

    stub_status;

}

In versions prior to 1.7.5, the directive syntax required an arbitrary argument, for example, “stub_status on”.

访问:http://192.168.2.168/basic_status

当前处理活动的链接个数

已经接受的连接数  已经处理的连接数  已经处理的请求数

Reading

The current number of connections where nginx is reading the request header.

Writing

The current number of connections where nginx is writing the response back to the client.

Waiting

The current number of idle client connections waiting for a request.(长连接模式保持的个数)

  • https访问:Module ngx_http_ssl_module
server {

        listen       443 ssl;

        server_name  localhost;

        ssl                  on;

        ssl_certificate      /etc/nginx/ssl/nginx.crt;

        ssl_certificate_key  /etc/nginx/ssl/nginx.key;

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

        location / {

            root   /web/ssl;

            index  index.html index.htm;

        }

    }

  • Module ngx_http_fastcgi_module
location ~ ^(.+.php)(.*)$ {

fastcgi_split_path_info ^(.+.php)(.*)$;

include fastcgi.conf;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param PATH_INFO $fastcgi_path_info;

}

参见前面Zabbix系统搭建,就是一个很好LEMP应用的实践。

总结:

Nginx以其优秀的性能和提供的各种模块,作为web服务器越来越被多数企业选择,这里没有详细介绍Nginx作为web服务器相关的各个模块,大家可以参考官方文档或其他途径学习更多Nginx特性,官方文档http://nginx.org/en/docs/

Nginx作为web服务器的更多相关文章

  1. NGINX高性能Web服务器详解(读书笔记)

    原文地址:NGINX高性能Web服务器详解(读书笔记) 作者:夏寥寥 第4章  Nginx服务器的高级配置 4.1 针对IPv4的内核7个参数的配置优化 说明:我们可以将这些内核参数的值追加到Linu ...

  2. Nginx是什么,有什么优点?为什么选择Nginx做web服务器软件?(经典经典)

    1.基础知识 代理服务器:    一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器.    一个完整的代理请求过程为:客 ...

  3. 《Nginx高性能Web服务器》系列分享专栏

    <Nginx高性能Web服务器>系列分享专栏 [作者:Poechant] Nginx是目前最流行的基于BSD-like协议.轻量级.高性能的HTTP服务器.反向代理服务器和电子邮件(SMT ...

  4. nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  5. nginx高性能WEB服务器系列之八--nginx日志分析与切割

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  6. nginx高性能WEB服务器系列之七--nginx反向代理

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  7. nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  8. nginx高性能WEB服务器系列之五--实战项目线上nginx多站点配置

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  9. nginx高性能WEB服务器系列之四配置文件详解

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

随机推荐

  1. Nginx配置Awstats分析Nginx日志笔记

    1.修改Nginx日志格式: log_format json '$remote_addr - $remote_user [$time_local] "$request" '     ...

  2. Ubuntu终端命令行播放音乐(mp3)

    有很多在终端命令行播放mp3的工具,有的甚至可以生成播放列表.也只有命令行重度使用者有这个需求,下面我们来看一看这些工具. Sox Sox(Sound eXchange)是操作声音文件的瑞士军刀,它可 ...

  3. React(0.13) 定义一个动态的组件

    1.因为jsx将两个花括号之间的内容渲染为动态值,只需要引用对应的变量即可 <!DOCTYPE html> <html> <head> <title>R ...

  4. Block(一)基础-b

    一.概述 Block是C级别的语法和运行时特性.Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存.堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block ...

  5. php封装数据库函数

    从Thinkphp里面抽离出来的数据库模块,感觉挺好用 common.php <?PHP /** * 通用函数 */ //包含配置文件 if (is_file("config.php& ...

  6. Dapper MySql DateTime 异常

    实体类 字段类型 DateTime? ,MySQL数据库中字段类型 datetime NULL , 使用dapper扩展读取,报异常:Error Parse column: ** - Object. ...

  7. PowerShell 批量签入SharePoint Document Library中的文件

    由于某个文档库设置了编辑前签出功能,导致批量导入文件时这些文件默认的状态都被签出了.如果手动签入则费时费力,故利用PowerShell来实现批量签入Document Library中的文件. Reso ...

  8. [转]使用spring中的@Transactional注解时,可能需要注意的地方

    前情提要 在编写业务层方法时,会遇到很多需要事务提交的操作,spring框架为我们提供很方便的做法,就是在需要事务提交的方法上添加@Transactional注解,比起我们自己开启事务.提交以及控制回 ...

  9. 阮一峰 IaaS,PaaS,SaaS 的区别

    链接: IaaS,PaaS,SaaS 的区别 作者: 阮一峰 日期: 2017年7月23日 越来越多的软件,开始采用云服务. 云服务只是一个统称,可以分成三大类. IaaS:基础设施服务,Infras ...

  10. java后台list集合传值到前台,再取值的几种方法

    1.在jsp页面中嵌套 java代码: 首先jsp页面中导入java的工具类 <%@ page language="java" import="java.util. ...