简介
nginx是一个高性能的HTTP和反向代理服务器软件。可以运行在UNIX、Linux、Mac OS、Windows等操作系统中。
组成与原理
nginx由内核和模块组成,其中内核完成的工作,仅仅通过查找配置文件将客户的请求映射到一个location block,而在这个location中所配置的每个命令将会启动不通的模块去完成相应的工作。
nginx的模块从结构上分为核心模块、基础模块和第三方模块,其中HTTP模块、EVENT模块和MAIL模块属于核心模块,HTTP Access模块、HTTP Proxy模块和HTTP Rewrite模块属于基本模块,Notice模块和HTTP Access Key模块属于第三方模块。
从功能上分为三类:
handles:处理器模块,直接处理请求,并进行输出内容和修改headers信息操作,该模块一般只能有一个
filters:过滤器模块,主要对其他处理器模块的输出内容进行修改操作,最后由nginx输出
proxies:代理模块,主要与后端一些服务比如cgi等操作交互,实现服务代理和负载均衡等功能。
安装
1.直接apt安装
apt install nginx
2.编译安装
首先安装必要软件包
apt-get install build-essential libtool gcc automake autoconf make
编译安装pcre库
root@c4600e1614fd:~/tmp/pcre2-10.33# ./configure
root@c4600e1614fd:~/tmp/pcre2-10.33# make && make install
安装zlib
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install
安装openssl
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar zxf openssl-1.1.1d.tar.gz
cd openssl-1.1.1d
./config
make && make install
安装nginx
tar zxf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre2-10.33 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/src/openssl-1.1.1d
make && make install
网友评论