一文搞懂Nginx(上)
作者:mmseoamin日期:2024-04-01

什么是Nginx?

是一个高性能的HTTP和反向代理web服务器,我们常用的功能有HTTP代理、负载均衡、动静分离、高可用集群,目前阶段我使用得比较多是就是代理和负载均衡,官方数据测试表明能够支持高达 50,000 个并发连接数的响应。占用的内存也特别的少。

优点:

  • 1、负载均衡(可以减轻单台服务器的压力)
  • 2、反向代理(隐藏企业真实的ip地址)
  • 3、搭建虚拟服务器
  • 4、用做静态服务器(实现动静分离)
  • 5、nginx性能高、体积小、能支撑的并发量很高
  • 6、ddos攻击可以使用nginx解决
  • 7、解决ajax跨域问题

    1.Nginx的作用

    Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。

    1.1 正向代理

    正向代理是代理客户端,需要在客户端进行配置,我们访问的还是真实的服务器地址(我们经常说的梯、子就是典型的正向代理)。

    一文搞懂Nginx(上),第1张

    1.2 反向代理

    反向代理是代理服务端,客户端不需要任何配置,客户端只需要将请求发送给反向代理服务器即可,代理服务器将请求分发给真实的服务器,获取数据后将数据转发给你。客户端是无感知的,也不需要进行任何的配置。

    一文搞懂Nginx(上),第2张

    1.3 区别与总结

    正向代理和反向代理最根本的区别在于代理的对象不同,正向代理的是客户端,反向代理的是服务端。

    • 正向代理代理的是客户端,需要为每一个客户端都做一个代理服务器,客户端访问的路径是目标服务器

    • 反向代理代理的是服务端,客户端不需要做任何的配置,访问的路径是代理服务器,由代理服务器将请求转发到真实服务器

      2. Nginx的基本命令

        cd /usr/local/nginx/sbin/
        ./nginx 启动
        ./nginx -s stop 停止
        ./nginx -s quit 安全退出
        ./nginx -s reload 重新加载配置文件
        ps aux|grep nginx 查看nginx进程
      

      3. Nginx的安装

      下载地址: nginx.org/en/download…

      一文搞懂Nginx(上),第3张

      3.1 Windows下安装Nginx

      3.1.1 下载并解压
      • 下载好Nginx后解压到纯英文路径的目录下。
      • 一文搞懂Nginx(上),第4张
        3.1.2 启动与关闭
        • 启动Nginx 打开cmd命令窗口,切换到nginx解压目录下,输入令 nginx ,回车即可

          一文搞懂Nginx(上),第5张

          • 关闭Nginx 注意,我们关闭cmd窗口Nginx不会被关闭。

            输入Nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)

            一文搞懂Nginx(上),第6张

            3.2.2 插件安装

            1、安装gcc

            安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

            yum install gcc-c++
            

            2、PCRE pcre-devel 安装

            PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

            yum install -y pcre pcre-devel
            

            3、zlib 安装

            zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

            yum install -y zlib zlib-devel
            

            4、OpenSSL 安装

            OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

            nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

            yum install -y openssl openssl-devel
            
            3.3.3 配置nginx

            使用默认配置,在压缩完的nginx的目录下执行【下个章节详细讲解nginx的配置】

            cd nginx-1.20.2   切换到压缩好的nginx文件夹
            ./configure
            make
            make install
            
            3.3.4 启动与关闭