Nginx安装与升级(2)

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显示最新编译的版本信息即可。 

3、 Nginx虚拟主机实战

在真实的企业服务器环境中,为了充分利用服务器的资源,单台Nginx WEB服务器同时会配置N个网站,也可称之为配置N个虚拟域名的主机,即多个域名对应同一个80端口。

在Nginx.conf中加入server代码,Nginx虚拟主机完整代码如下:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
#virtual hosts config 2017/5/18
server {
        listen       80;
        server_name  www.jf1.com;
        access_log  logs/jf1.access.log;
        location / {
            root   html/jf1;
            index  index.html index.htm;
        }
}
server {
        listen       80;
        server_name  www.jf2.com;
        access_log  logs/jf2.access.log;
        location / {
            root   html/jf2;
            index  index.html index.htm;
        }

 }
}
posted @ 2021-03-08 14:13  hzy_叶子  阅读(73)  评论(0编辑  收藏  举报