1.Nginx简介

1.Nginx简介:
    Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
    其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好
    Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考研,有报告表明能够支持高达50000个并发连接数
    
2.反向代理
    2.1 正向代理:在浏览器中需要配置代理服务器,通过代理服务器进行互联网访问

 2.2 反向代理:客户端对代理无感知的,因为客户端不需要任何配置就可以访问,我们只需要把请求发送到反向代理服务器,
    由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是
    代理服务器的地址,隐藏了真实服务器的地址

3.负载均衡
 
4.动静分离:
    为了加快网站的解析速度,可以把动态页面和静态页面由不通的服务器来解析,加快解析速度。降低原来的单个服务器压力

1.Nginx的安装

1.先安装pcre依赖
    1.1 上传pcre压缩包,并解压(pcre包下载位置:https://sourceforge.net/projects/pcre/files/pcre/)
    1.2 进入pcre的解压目录。执行./configure
    1.3 执行:
            [root@kd_ccse_001 pcre-8.35]# make && make install
    1.4 查看版本号:
        [root@kd_ccse_001 pcre-8.35]# pcre-config --version
        8.35
        
2.安装openssl
3.安装zlib
    使用yum命令安装上述两种依赖:yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

4.Nginx安装
    1.上传解压文件
    2.执行命令:
        ./configure
    3.执行命令:
        make && make install
   4.安装成功后,会在/usr/local路径下多出一个nginx文件夹,在ngix下有/sbin/里面包含了启动脚本
   5.启动命令:
        1.# pwd
            /usr/local/nginx/sbin
        2.启动:
             ./nginx 
        3.[root@bogon sbin]# ps -ef|grep nginx
            root     128392      1  0 09:41 ?        00:00:00 nginx: master process ./nginx
            nobody   128393 128392  0 09:41 ?        00:00:00 nginx: worker process
            root     128407 124001  0 09:41 pts/1    00:00:00 grep --color=auto nginx
    6.测试访问:
        默认监听的是80端口:
            http://192.168.2.129/80

2.nginx操作的常用命令

安装nginx后,在/usr/local/nginx/sbin路径上有nginx的脚本
nginx的配置文件:/usr/local/nginx/conf/nginx.conf
1.查看nginx版本
    [root@bogon sbin]# ./nginx -v
        nginx version: nginx/1.9.9
2.停止nginx:
    [root@bogon sbin]# ./nginx -s stop
3.启动nginx:
    [root@bogon sbin]# ./nginx
4.重新加载nginx文件:更改了配置文件,不用重启,重新加载
    [root@bogon sbin]# ./nginx -s reload

3.Nginx配置文件详解

nginx的配置文件分为三部分:
    1.全局块:
        从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令,主要包括了配置运行Nginx服务器的用户组、允许生成的worker process数
        进程PID存放路径、日志存放路径和类型以及配置文件的引入等。
        例如:
            #user  nobody;
            worker_processes  1;
            #error_log  logs/error.log;
            #error_log  logs/error.log  notice;
            #error_log  logs/error.log  info;
            #pid        logs/nginx.pid;
        其中的: worker_processes  1;这是Nginx服务器并发处理服务的关键配置,worker_processes值越大,可以支持的并发处理量就越大,但是会受到硬件和软件等设备的制约
        
    2.event块     
        主要影响Nginx服务器和用户的网络连接,常用的设置包含了是否开启对多 work process下的网络连接进行序列化,是否允许同时接受多个网络连接,选取那种时间驱动模型来处理连接请求,
        每个Word process同时支持的最大连接数等
        这部分对nginx的性能影响比较大,在实际中应该灵活配置
        例如:nginx的每个work process支持的最大连接数位1024
            events {
                worker_connections  1024;
            }

    3.http块:
        这算是nginx服务器配置中最频繁的部分,代理,缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
        需要注意的是:http块可以包含http全局块、server块
        3.1 http全局块
            http全局块配置的指令包含文件引入,MIME-TYPE定义,日志自定义,连接超时时间,单链接请求数上限等
        3.2 server块:
            这块和虚拟主机有密切关系,虚拟主机从用户角度栏,和一台独立的硬件主机是完全一致的,该技术的产生是为了节省互联网服务硬件成本
                每个http块可以包含多个server块,而每个server块就相当于一个虚拟机
                而每个server块也分为了全局server块,以及可以同时包含多个location块
            1.全局server块:
                最常见的配置是虚拟机主机的监听配置和本虚拟主机的名称或者IP配置
            2.lication块:
                一个server块可以配置多个location块。
                这块的主要作用是基于nginx服务器接收到的请求字符串(例如server_name/uri-string),对虚拟主机名称(也可以是IP别名)之外的字符串(例如前面的/uri-string)进行匹配,
                对特定的请求进行处理。地址定向,数据缓存和应答控制等功能,还有很多第三方模块的配置也在这里进行

 

posted @ 2022-05-26 19:46  努力的达子  阅读(202)  评论(0编辑  收藏  举报