Nginx——安装
Nginx介绍
特性:
- 模块化设计,较好的扩展性
- 高可靠性
- 支持热部署:不停机更新配置文件,升级版本,更换日志文件
- 低内存消耗:10000个keep-alive连接模式下的非活动连接,仅需2.5M内存
- event-driven,aio,mmap,sendfile
基本功能:
- 静态资源的web服务器
- http协议反向代理服务器
- pop3/imap4协议反向代理服务器
- FastCGI(LNMP),uWSGI(python)等协议
- 模块化(非DSO),如zip,SSL模块
nginx架构
nginx的程序架构
web服务相关的功能:
- 虚拟主机(server)
- 支持 keep-alive 和管道连接
- 访问日志(支持基于日志缓冲提高其性能)
- url rewirte
- 路径别名
- 基于IP及用户的访问控制
- 支持速率限制及并发数限制
- 重新配置和在线升级而无须中断客户的工作进程
- Memcached 的 GET 接口
nginx的程序架构:
master/worker结构
一个master进程:
- 负载加载和分析配置文件、管理worker进程、平滑升级
一个或多个worker进程
- 处理并响应用户请求
缓存相关的进程:
- cache loader:载入缓存对象
- cache manager:管理缓存对象
nginx的功用
- 静态的web资源服务器
- html,图片,js,css,txt等静态资源
- 结合FastCGI/uWSGI/SCGI等协议反向代理动态资源请求
- http/https协议的反向代理
- imap4/pop3协议的反向代理
- tcp/udp协议的请求转发(反向代理)
nginx的安装
官方:
http://nginx.org/packages/centos/7/x86_64/RPMS、
Fedora-EPEL:
https://mirrors.aliyun.com/epel/7/x86_64/
编译安装:
1 #yum install pcre-devel openssl-devel zlib-devel 2 #useradd -r nginx 3 #./configure --prefix=/usr/local/nginx \ #安装路径 4 --conf-path=/etc/nginx/nginx.conf \ #主配置文件安装位置 5 --error-log-path=/var/log/nginx/error.log \ #错误日志文件安装位置 6 --http-log-path=/var/log/nginx/access.log \ #访问日志文件安装位置 7 --pid-path=/var/run/nginx.pid \ #指明pid文件安装位置 8 --lock-path=/var/run/nginx.lock \ #锁文件安装位置 9 --user=nginx \ #指明以那个身份运行worker进程,主控master进程一般由root运行 10 --group=nginx \ 11 --with-http_ssl_module \ #表示把指定模块编译进来 12 --with-http_v2_module \ 13 --with-http_dav_module \ 14 --with-http_stub_status_module \ 15 --with-threads --with-file-aio 16 #make && make install
编译安装选项
--prefix=/etc/nginx 安装路径 --sbin-path=/usr/sbin/nginx 指明nginx程序文件安装路径 --conf-path=/etc/nginx/nginx.conf 主配置文件安装位置 --error-log-path=/var/log/nginx/error.log 错误日志文件安装位置 --http-log-path=/var/log/nginx/access.log 访问日志文件安装位置 --pid-path=/var/run/nginx.pid 指明pid文件安装位置 --lock-path=/var/run/nginx.lock 锁文件安装位置 --http-client-body-temp-path=/var/cache/nginx/client_temp 客户端body部分的临时文件存放路径,服务器允许客户端使用put方法提交大数据时,临时存放的磁盘路径 --http-proxy-temp-path=/var/cache/nginx/proxy_temp 作为代理服务器,服务器响应报文的临时文件存放路径 --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 作为fastcgi代理服务器,服务器响应报文的临时文件存放路径 --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 作为uwsgi代理服务器,服务器响应报文的临时文件存放路径 --http-scgi-temp-path=/var/cache/nginx/scgi_temp 作为scgi反代服务器,服务器响应报文的临时文件存放路径 --user=nginx 指明以那个身份运行worker进程,主控master进程一般由root运行 --group=nginx --with-http_ssl_module 表示把指定模块编译进来