nginx简介
一.什么是Nginx:
实现web服务、实现web代理功能;
二.nginx的优点:
模块化设计、较好的扩展性,高可靠性,支持热部署,支持事件驱动等;
高可靠:
master --> worker
低内存消耗:
10000个keep-alive模式下的connection,仅需要2.5MB的内存;
支持热部署:
不停机而更新配置文件、日志文件滚动、升级程序版本;
支持事件驱动、AIO、mmap;
三.nginx:
首先介绍下httpd的工作模式:
httpd: MPM
prefork, worker, event
prefork:主进程,生成多个子进程,每个子进程处理一个请求;
worker:主进程,生成多个子进程,每个子进程生成多个线程,每个线程响应一个请求;
event:主进程,生成多个子进程,每个子进程响应多个请求;
nginx基本功能:
静态资源的web服务器,能缓存打开的文件描述符;
http、smtp、pop3协议的反向代理服务器;
缓存加速、负载均衡;
支持FastCGI(fpm, LNMP), uWSGI(Python)等;
模块化(非DSO机制)、过滤器zip、SSI及图像的大小调整;
支持SSL;
扩展功能:
基于名称和IP的虚拟主机;
支持keepalive
支持平滑升级
定制访问日志、支持使用日志缓冲区提供日志存储性能;
支持url rewrite
支持路径别名
支持基于IP及用户的访问控制
支持速率限制,支持并发数限制
四.nginx安装:
安装方法:
源码:编译安装
制作好的程序包:rpm包
编译安装:
# useradd -r nginx
# ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi
# make && make install
# mkdir -pv /var/tmp/nginx/{client,proxy,fastcgi,uwsgi}
配置文件:
main配置段:全局配置段
event{}配置段:定义event模型工作特性
http {}配置段: 定义http协议相关的配置
五.nginx常用模块
缓存模块、fastcgi模块、反向代理模块;