Nginx

Nginx
    1、概念
        Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
    2、反向代理
        (1)正向代理
            在客户端配置代理服务器,通过代理服务器进行互联网访问。
            比如:访问www.google.com,访问不了。需通过配置代理服务器,实现访问,这就是正向代理。
        (2)反向代理
            客户端对代理无感知的。客户端不需要任何配置就可以访问。只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,返回给客户端。此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器的地址,隐藏了真实服务器的ip地址。
    3、负载均衡
        单个服务器解决不了高并发,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
    4、动静分离
        为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低单个服务器的压力。
    5、安装
         官网经验安装或者docker安装
         (1)安装pcre依赖
             下载安装压缩文件放到linux系统
             解压压缩文件tar -zxvf XX
             进入解压在之后目录,执行./configure
             使用make && make install
             安装之后,使用命令,查看版本号:pcre-config --version
         (2)安装其他的依赖,一键安装
             yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
         (3)安装nginx
             下载nginx压缩文件,放到linux系统
             解压tar -zxvf XX
             进入解压在之后目录,执行./configure
             使用make && make install
             安装成功后,在 /usr/local/多出来一个文件夹nginx,在nginx中sbin启动脚本;
             启动nginx:cd /usr/local/nginx/sbin
                       ./nginx
                       ps -ef |grep nginx  #发现有nginx的进程

                       cd /usr/local/nginx/conf
                       vim nginx.conf  #查看nginx.conf中的server-name 及listen端口
                       在浏览器输入localhost:80,看到welcome to nginx
                               ps:linux默认80端口是不开放的,可能看不到nginx的欢迎界面
                                   (1)查看开放的端口号:
                                           firewall-cmd --list-all
                                    (2)设置开放的端口号
                                            firewall-cmd --add-service=http -permanent
                                            sudo firewall-cmd --add-port=80/tcp --permanent
                                    (3)重启防火墙
                                            firewall-cmd --reload
    6、nginx常用操作
        进入nginx目录 cd /usr/local/nginx/sbin
        查看nginx版本号     ./nginx -v
        启动nginx: ./nginx
        关闭nginx ./nginx -s stop
        重新加载        ./nginx -s reload
    7、nginx配置文件
        (1)nginx配置文件位置
            /usr/local/nginx/conf/nginx.conf
         (2)配置文件
             组成:
                 全局块
                     设置一些影响nginx服务器整日运行的配置指令
                         worker_processes 1    #并发处理量越多
                 events块
                     主要影响nginx服务器与用户的网络连接
                         worker_connections 1024  #支持的最大连接数
                 http块
                     nginx配置最频繁的部分
                     组成:
                         http全局块

                         server块

    8、反向代理
        实现效果: