Nginx

Nginx简介

    Nginx(”engine x”)是俄罗斯人Igor Sysoev(伊戈尔.塞索耶夫)编写的一款高性能的HTTP和反向代理服务器。Nginx能够选择高效的epollKqueueeventport作为网络I/O模型,在高连接并发的情况下,NginxApache服务器不错的替代品,它能够支持高达5万个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。

    Nginx已经在俄罗斯最大的门户网站Rambler Media 上运行了多年时间,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器。

    在国内也有多家互联网平台,如新浪博客、网易新闻、豆瓣等用作web服务器或反向代理服务器。

Nginx的安装

可从官方网站(www.nginx.org)下载源码编译或下载预编译好的rpm包。

Nginx的基本配置

Nginx的配置文件默认在/etc/nginx下,主配置文件为nginx.conf,其配置文件格式如下图:

Nginx

Nginx

Nginx

    从上图中可以看配置的结构由主配置段、event{}段、http{}段构成,而在http{}段中又由多个server{}段,在server{}段中又包含多个location{}段。因此不难看出一个server{}表示一台虚拟主机。而location的作用是实现从URI到文件系统的路径映射,而使用多个时,Nginx会根据用户请求的URI来检查定义的所有location,从而找出一个最佳匹配,而后应用其配置;那如何查找呢?其实在定义时可使用以下特殊符号来完成优先级的定义;

    =:对URI做精确匹配;

    ~:对URI做正则表达式模式匹配,区分字符大小写

    ~*:对URI做正则表达式模式匹配,不区分字符大小写

    ^~:对URI的左半部分做匹配检查,不区分字符大小写

    如果不带符号则匹配URI的所有URL

而它们是有优先级的。=的优先级最高,其次是^~,而~~*的优先级是相等的,最后是不带符号的;

除了上图中出现过的指令,另外还有其他的一些常用指令,下面来一一列举:

1alias:定义路径别名,文档映射的另一种机制;仅能用于location上下文中;

2index:定义默认资源

3try_files:按次序尝试文件是否存在,第一个存在的用于响应用户的请求;

4keepalive_requests:一次长连接上所允许请求的资源的最大数量默认为100

5send_timeout:向客户端改善大响应报文的超时时长;

6client_body_buffer_size:用于设置接收客户端请求报文body部分的缓冲区大小;默认为16k;超出此值时,其将被暂存到磁盘上由clien_body_temp_path指令所定义的位置;

7client_body_temp_path [level1 [level2 [level3]]]:设定用于存储客户端请求报文body部分的临时存储路径及子目录结构和数量;

8open_file_cache max=N [inactive=time]:开启Nginx的文件缓存功能

9open_file_cache_valid:缓存有效性的检查频率,默认为60S

10open_file_cache_min_uses:在open_file_cache指令的inactive参数指定的时长内,至少应该被命中多少次才可被归类为活动项;

11、基于IP访问控制的:allowdeny

12、基于用户访问控制的:auth_basicauth_basic_user_file

上面这些指令经常使用,而还有很多指令在这里没有列举出来,用到的时候可到官方网站了解(www.nginx.org)

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

(0)
人字拖人字拖
上一篇 2017-05-07 19:44
下一篇 2017-05-07 21:34

相关推荐

  • N26-第六周作业-邢岩

    马哥门徒-N26-邢岩      一直以来都用windows 的word来编辑文件,从今天开始,我又学会了新的编辑文件方式了,掩饰不住愉悦的心情!没错,就是vim 编辑器,一个神奇的编辑器!让我来详细介绍一下这个神器是如何使用的吧。     vim:vim其实就是(VI IMproved) vi增强…

    Linux干货 2017-02-26
  • Nginx 进阶 (ssl、fpm、rewrite、cache配置等)

    Nginx(与ssl结合配置https网站、rewrite,fastcgi配置详解) 前言 前面已经介绍过Nginx的一些基础概念,还有几个比较重要的模块:利用ssl给会话加密,利用rewrite功能灵活改写访问结果,以及利用fastcgi与php模块结合等等。 一、配置https网站 1、自建CA (1)生成私钥文件 mkdir -p /etc/pki/C…

    Linux干货 2016-12-26
  • shell编程数组及源码安装作业

    写一个脚本,定一个数组,数组中的元素是/var/log目录下所有以.log结尾的文件,要统计其下标为偶数的文件中的行数之和 [root@localhost sh.log]# cat declaresum.sh  #!/bin/bash #author:DYW #写一个脚本,定一个数组,数组中的元素是/var/log目录…

    Linux干货 2016-08-29
  • N22-第2周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 cd、pwd、ls、alias、cat、more、less、tail、cut、wc、touch、mv、cp、rm pwd:用户当前所在目录 [xuc@localhost ~]$ pwd /home/xuc cd:切换目录  cd  [/PATH…

    Linux干货 2016-08-22
  • LVM基本原理及使用

    LVM简介 LVM全称Logical Volume Manager(逻辑卷管理),是将几个物理分区(或硬盘)通过软件组合成一块看起来是独立大硬盘(VG),然后对这块大硬盘分割成可使用的逻辑卷(LV),最终能够挂载使用,以达到对磁盘空间进行弹性管理的目的。 LVM的基本原理 基本术语 dm(device mapper):将一个或多个底层块设备组织成一个逻辑设备…

    Linux干货 2016-04-17
  • Linxux运维基础小计

    常用cat、ls、touch、mkdir、cp、mv小结 ·cat连续的将文件的内容显示在银幕上 用法:cat[OPTION]…[FILE]… 参数 -A显示所有非正常的所有符号 -E显示行结束符 -T显示制表符 -v显示其他的非打印字符 -n对显示的行进行编号,与文件内容没有关系 -b:打印出行号(空白行不标行号) 直接输入cat命令表示等待用户的输入并打…

    2017-02-18