Nginx简介及配置实战

目录

一、简介

二、应用场景

三、nginx安装

四、Nginx常用命令

五、默认配置文件说明

六、反向代理配置实例

七、负载均衡配置实例


一、简介

Nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,目前应用于各种网站应用。Nginx转为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受起高负载的考验,有报告表明能支持高达50000个并发数。

二、应用场景

1、反向代理

 何为反向代理?说起反向代理,那必然有正向代理,通过对两者的描述,便能知道正向代理和反向代理有什么区别。

正向代理:客户对于访问的网络资源的地址是清楚的,代理服务器通过对请求的转发,从而请求到资源服务器。

Nginx简介及配置实战_第1张图片

       反向代理:通过代理服务器隐藏资源服务器的地址,用户访问代理服务器,代理服务器将请求转发到实际的资源服务器上。对于用户来说是无感知的。

Nginx简介及配置实战_第2张图片

         为什么要使用反向代理:

                 (1)隐藏真实资源服务器地址,防止被恶意攻击。

                 (2)为后续的负载均衡和动静分离提供实现。

2、负载均衡

      最初的服务大都是单体应用,由一台服务器提供服务。但随着业务量的提升,访问量和数据量的飞速增长,单机应用不能负载业务的访问量,这时,集群便出现了。我们通过增加服务器的数量,将请求从原来的一台服务器分发到多台服务器,将负载分担到不同的服务器,这就是我们所说的负载均衡。

3、动静分离

      在理解负载均衡后,动静分离便更加容易理解。通过将静态资源的访问请求和需要业务计算的请求分离开,一方面可加快静态资源的的访问速度,另一方面可以减轻服务器的访问压力。

三、nginx安装

1、安装包下载:Nginx官网

2、安装pcre依赖:

     (1)下载安装包:wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

     (2)解压安装包:tar -xvf prce-8.37.tar.gz

     (3)进入安装包,./configure完成后,执行make,最后执行make install

3、安装openssl、zlib、gcc依赖:yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

4、安装nginx。

     (1)解压:tar -xvf ***

     (2)./configure

     (3)make && make install

5、启动nginx

       进入/usr/local/nginx/sbin/nginx 启动服务。

四、Nginx常用命令

1、查看nginx版本号

     ./nginx -v

2、启动nginx

     ./nginx

3、停止nginx

     ./nginx -s stop

4、重启nginx

     ./nginx -s reload

五、默认配置文件说明

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        location = /50x.html {
            root   html;
        }
    }

}
                                                                      

默认配置文件有三部分:

1、全局块:配置服务器整体运行的配置指令

      worker_processes   1;处理并发数的配置

2、events块:影响Nginx服务器与用户的网络连接

      worker_connections  1024;支持最大连接数为 1024

3、http块:

     配置最为频繁的部分,代理、缓存和日志定义等绝大数功能和第三方模块的配置都在这块。

六、反向代理配置实例

1、实现效果

     使用nginx反向代理,根据访问的路径跳转到不同端口的服务中。

     访问localhost:8800/demo001,跳转到端口8090的服务,

     访问localhost:8800/demo002,跳转到端口8091的服务。

2、具体配置

     1)启动端口为8090,、8091两个服务。

     2)在nginx的配置文件server块中配置如下:

server {
    listen    8800;
    server_name    localhost;

    location ~ /demo001/ {
        proxy_pass http://localhost:8090;    
    }  

    location ~ /demo002/ {
        proxy_pass http://localhost:8091;
    }
}

      3)重启nginx,测试。

七、负载均衡配置实例

1、实现效果

     访问localhost/hello,根据负载请求策略将请求分摊到端口为8090和8091的服务中。

2、具体配置

     1)启动端口为8090和8091的服务。

     2)在http块中,配置如下:

upstream myserver {
    server localhost:8090;
    server localhost:8091;
}

     3)在配置server块,配置如下:

server {
    listen         80;
    server_name    localhost;

    location / {
        proxy_pass             http://myserver;
        proxy_connect_timeout  10;
    }
}

      4)重启nginx,测试。

3、负载均衡策略:

    1)轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果服务down掉,能自动剔除。

    2)weight(权重):weight代表权重默认为1,权重越高的服务器被分配的请求越多。

    3)ip_hash:每个请求按访问 ip 的hash结果分配,这样每个用户固定访问一个后端服务器。

    4)fair(第三方):按后端服务器的响应时间来分配请求,响应时间越短的有限分配。

你可能感兴趣的:(web服务器)