Nginx WEB服务器最主要就是各种模块的工作,模块从结构上分为核心模块、基础模块和第三方模块,其中三类模块分别如下:
核心模块:HTTP模块、EVENT模块和MAIL模块等;
基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块;
第三方模块:HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块、Limit_req模块、Upstream check module等;
Nginx的模块从功能上分为如下三类。
Handlers(处理器模块):此类模块直接处理请求,并进行输出内容和修改headers信息等操作,Handlers处理器模块一般只能有一个;
Filters (过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后由Nginx输出;
Proxies (代理类模块):此类模块是Nginx的HTTP Upstream之类的模块,这些模块主要与后端一些服务比如FastCGI等进行交互,实现服务代理和负载均衡等功能。
Nginx由Nginx内核和模块组成,其中内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端的请求映射到一个location block,而location是Nginx配置中的一个指令,用于访问的URL匹配,而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。
1、安装nginx
yum install pcre-devel pcre -y
cd /usr/src
wget -c http://nginx.org/download/nginx-1.12.0.tar.gz
tar -xzf nginx-1.12.0.tar.gz
#进入解压目录,然后sed修改Nginx版本信息为JWS
cd nginx-1.12.0 ;
sed -i -e ‘s/1.12.0//g’ -e ‘s/nginx//JWS/g’ -e ‘s/”NGINX”/”JWS”/g’ src/core/nginx.h
#预编译Nginx
useradd www
./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module
make && make install
#检查nginx配置文件是否正确,然后启动nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx
2、升级nginx
wget http://www.nginx.org/download/nginx-1.14.0.tar.gz
tar -xvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_stub_status_module –with-http_ssl_module
make
#备份旧版本的nginx可执行文件,复制新版本的nginx这行文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cp nginx-1.14.0/objs/nginx /usr/local/nginx/sbin/
#测试新版本nginx是否正常
/usr/local/nginx/sbin/nginx -t
#平滑重启nginx
kill -QUIT `cat /usr/local/nginx/log/nginx.oldbin`
#验证nginx是否升级成功
/usr/local/nginx/sbin/nginx -V显示最新编译的版本信息即可。
下面关于Nginx的文章您也可能喜欢,不妨参考下:
CentOS 7下Nginx服务器的安装配置 http://www.info110.com/Linux/2017-04/142986.htm
CentOS上安装Nginx服务器实现虚拟主机和域名重定向 http://www.info110.com/Linux/2017-04/142642.htm
CentOS 6.8 安装LNMP环境(Linux+Nginx+MySQL+PHP) http://www.info110.com/Linux/2017-04/142880.htm
Linux下安装PHP环境并配置Nginx支持php-fpm模块 http://www.info110.com/Linux/2017-05/144333.htm
Nginx服务的SSL认证和htpasswd认证 http://www.info110.com/Linux/2017-04/142478.htm
Ubuntu 16.04上启用加密安全的Nginx Web服务器 http://www.info110.com/Linux/2017-07/145522.htm
Linux中安装配置Nginx及参数详解 http://www.info110.com/Linux/2017-05/143853.htm
Nginx日志过滤 使用ngx_log_if不记录特定日志 http://www.info110.com/Linux/2014-07/104686.htm
CentOS 7.2下Nginx+PHP+MySQL+Memcache缓存服务器安装配置 http://www.info110.com/Linux/2017-03/142168.htm
使用Nginx+Docker配置HTTPS负载均衡 http://www.info110.com/Linux/2018-06/152855.htm