目录
简介
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负债的考研,有报告表名能支持高达 50,000 个并发连接数。
安装
1.官网下载 nginx-1.2.9.tar.gz:http://nginx.org/en/download.html
2.安装 nginx 依赖:pcre-8.3.7.tar.gz、openssl-1.0.1t.tar.gz、zlib-1.2.8.tar.gz
yum -y install make zlib zlib-devel gcc-cc++ libtool openssl oppenssl-devel
3.安装 nginx
yum -y install nginx
常用命令
使用 nginx 操作命令的前提条件:进入 nginx 的安装目录 /usr/local/nginx/sbin
# 查看版本号
nginx -v
# 启动
nginx start
# 关闭
nginx -s stop
# 重新加载
nginx -s reload
配置文件 nginx.conf
配置文件地址:/usr/local/nginx/conf/nginx.conf
1. 全局快
从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。
worker_processes 1;
如上,这是 nginx 服务器处理服务的关键配置,worker_processes值越大,可以支持的并发处理量也越多但是会受到硬件、软件等设备的制约。
2. events 块
events 块涉及指令主要影响 nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等。
events {
worker_connections 1024; # 支持的最大连接数
}
如上,表示 work process 支持的最大连接数为 1024。这部分配置对 nginx 的性能影响大,在实际中应该灵活配置。
3. http 块
http 块是 nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。http 块包括 http 全局快、server 块
3.1 http 全局块
http 全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。
3.2 server 块
server 块和虚拟机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。
每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。
每个 server 块也分为全局 server 块 和 location 块。
全局 server 块
最常见的配置是本虚拟主机的监听配置和本虚拟主机的名称或IP配置。
location 块
一个 server 块可以配置多个 location 块。
location 块的主要作用是基于 nginx 服务器接收到的请求字符串(例如 sever_name / uri-string),对虚拟主机名称(也可以是IP别名)之外的字符串(例如 前面的uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。
正向代理
基本概念
Nginx不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。
正向代理:如果局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问。
反向代理
基本概念
Nginx不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。
正向代理:如果局域网外的 I