1.什么是Nginx

nginx是一个高性能的反向代理服务器。正向代理代理的是客户端,反向代理代理的是服务端。

2.Tomcat、Nginx

nginx是静态web服务器, tomcat是jsp/servlet服务器。

3.安装Nginx

1. 下载tar包

2. tar -zxvf nginx.tar.gz

3. ./confifigure [--prefifix(安装目录)]

4. make && make install

4.启动和停止

配置文件nginx.conf由三部分构成,分别是Main,event,http模块。

启动

sbin/nginx [-c nginx.config(可省略,默认加载/etc/nginx/nginx.config)]

停止

sbin/nginx -s stop

优雅关闭

nginx -s quit [-c nginx.conf(如果启动的时候不是默认路径的配置文件,则关闭的时候也需要把这个参数带上)]

重新加载配置文件

nginx -s reload [-c nginx.conf]

5.虚拟主机配置

--基于ip的虚拟主机(不常用)

 Nginx入门知识

 --基于端口号的虚拟主机

 Nginx入门知识

 --基于域名的虚拟主机

 Nginx入门知识

6.location

--配置语法

location [= | ~* | ^~ ] /uri/ {...}

--配置规则

location = /uri 精准匹配

location ^~ /uri 前缀匹配

location ~ /uri

location / 通用匹配

--规则的优先级

Nginx入门知识

 1. 精准匹配是优先级最高

2. 普通匹配(最长的匹配)

3. 正则匹配

--实际使用建议

 Nginx入门知识

7.Nginx模块

--模块分类

1. 核心模块 ngx_http_core_module

2. 标准模块 http模块

3. 第三方模块

--ngx_http_core_module

server{

listen port;

server_name xxx;

location / {

root ...

}

}

location 实现uri到文件系统路径的映射.

--ngx_http_access_module

实现基于ip的访问控制功能.

1、allow address | CIDR | unix: | all;

2、deny address | CIDR | unix: | all;

它表示,允许/拒绝某个ip或者一个ip段访问.如果指定unix:,那将允许socket的访问.对于访问过来的ip,nginx会自上而下检查,一旦匹配,将生效,条件严格的置前。

8.如何添加第三方模块

原来所安装的配置,你必在重新安装新模块的时候,加上。

--安装方法

./configure --prefix=/安装目录 --add-module = /第三方模块的目录

例如:

./configure --prefix=/data/program/nginx --with-http_stub_status_module --with-http_random_index_module

cp objs/nginx $nginx_home/sbin/nginx

--http_stub_status_module

监控nginx客户端的运行状态

配置:

Nginx入门知识

打开浏览器访问:

Nginx入门知识

Active connections:当前状态,活动状态的连接数

accepts:统计总值,已经接受的客户端请求的总数

handled:统计总值,已经处理完成的客户端请求的总数

requests:统计总值,客户端发来的总的请求数

Reading:当前状态,正在读取客户端请求报文首部的连接的连接数

Writing:当前状态,正在向客户端发送响应报文过程中的连接数

Waiting:当前状态,正在等待客户端发出请求的空闲连接数

--http_random_index_module

随机显示主页模块

一般情况下,一个站点默认首页都是定义好的index.html、index.shtml等等,如果想站点下有很多页面想随机展示给

用户浏览,那得程序上实现,很麻烦,使用nginx的random index即可简单实现这个功能,凡是以/结尾的请求,都会随机

展示当前目录下的文件作为首页。

1. 添加random_index on 配置,默认是关闭的

Nginx入门知识

2. 在html目录下创建多个html页面,多次访问虚拟主机首页,即可实现随机主页。

 

相关文章: