Nginx 学习笔记(一)

Nginx 学习笔记(一)

@Created By 慕容 2020-07-24 初见

大家好,最近在B站上学习了Nginx相关的知识,在这里记录一下,以备后面查看,一些知识点的理论都是摘抄自“百度百科”,文章中有不对的地方,还请大家指正,谢谢!!!

Nginx 介绍

  • Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的。
  • Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,有数据表明能够支持高达 50,000 个并发连接数的响应。

Nginx 特点

反向代理(Reverse Proxy )

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
反向代理,指代表外部网络用户向内部服务器发出请求,即接收来自Internet上用户的连接请求,并将这些请求转发给内部网络上的服务器,然后将从内部服务器上得到的响应返回给Internet上请求连接的客户:执行反向代理服务的服务器称为反向代理服务器,反向代理服务器对外部用户表现为一个服务器。
针对Nginx:用户(客户端)–> Nginx(代理) --> 目标服务器(tomcat或其他)

负载均衡(Load Balance)

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
针对Nginx:用户(客户端)–> Nginx(代理) --> 多个目标服务器(一样的服务,可以均衡请求)

动静分离(Dynamic Static Separation)

在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。
针对Nginx:一般是前端的静态资源存放在静态资源服务器,后端服务存放在后端API服务器,Nginx分别代理。

高可用(High Availability)

为了屏蔽负载均衡服务器的失效,需要建立一个备份机。主服务器和备份机上都运行High Availability监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并继续提供服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主管理器就开始再次进行集群管理的工作了。为在主服务器失效的情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步与备份,保持二者系统的基本一致.
针对Nginx:分别在两个服务器(主备机)上建立Nginx相同的服务,其中主机宕机,会自动切换到备机上。

Nginx的安装(Linux)

  1. 准备工作

    • 使用VMware虚拟机,采用CentOS镜像搭建Linux系统,安装VMware+CentOS7,本文所用CentOS707的IP为192.168.0.112,可参考:VMware虚拟机与Linux Centos7下载及安装教程

    • 使用工具Xshell6+ Xftp6进行Linux系统的连接操作和上传下载文件,安装Xshell6+Xftp6(个人版、学生版),可参考:Linux安装和使用Xftp6和Xshell6教程

    • 下载pcre(正则表达式库,Perl)解压包(tar.gz文件),本文以8.44版本为例,下载地址:请自己选择版本,建议使用最新版本
      Nginx 学习笔记(一)_第1张图片

    • 下载nginx(代理服务器)解压包(tar.gz文件),本文以1.19.1版本为例,下载地址:请自己选择对应,建议使用最新版本
      Nginx 学习笔记(一)_第2张图片

  2. 开始进行Nginx安装

    • 安装gcc依赖(方便./configure执行成功)

      • yum -y install gcc
      • yum -y install gcc-c++
        Nginx 学习笔记(一)_第3张图片
    • 安装pcre依赖

      • 利用Xftp6将pcre解压文件上传到Linux系统的/usr/src目录中;
      • 执行命令进行解压:tar -zxvf pcre-8.44.tar.gz
      • 进入到pcre目录(/usr/src/pcre-8.44)下, 执行命令进行pcre编译配置:./configure
      • 待上一命令执行完毕,再执行命令进行pcre安装:make && make install
        Nginx 学习笔记(一)_第4张图片
    • 安装 openssl **、**zlib 等依赖

      • yum -y install make zlib zlib-devel libtool openssl openssl-devel
    • 安装Nginx

      • 利用Xftp6将nginx解压文件上传到Linux系统的/usr/src目录中;
      • 执行命令进行解压:tar -zxvf nginx-1.19.1.tar.gz
      • 进入到pcre目录(/usr/src/nginx-1.19.1)下, 执行命令进行nginx编译配置:./configure
      • 待上一命令执行完毕,再执行命令进行nginx安装:make && make install
      • 安装完毕后,会在/usr/local/目录下生成一个nginx目录,以后就是在这里启动和操作nginx
  3. 启动Nginx,并使用浏览器查看

    • 进入到/usr/local/nginx/sbin下,执行命令启动Nginx:./nginx

    • 执行命令查看nginx是否启动成功:ps -ef | grep nginx
      Nginx 学习笔记(一)_第5张图片

    • 在防火墙中添加80端口的出入规则例外(开放80端口)

      • 执行命令查看防火墙信息:firewall-cmd --list-all
        Nginx 学习笔记(一)_第6张图片

      • 执行命令开放80端口:
        firewall-cmd --add-service=http --permanent
        firewall-cmd --add-port=80/tcp --permanent

      • 重启防火墙: firewall-cmd --reload

    • 在浏览器中输入Linux系统的IP:192.168.0.112, 即可看到Nginx页面
      Nginx 学习笔记(一)_第7张图片

Nginx命令大全

 nginx -s reopen	#重启Nginx
 nginx -s reload	#重新加载Nginx配置文件,然后以优雅的方式重启Nginx
 nginx -s stop #强制停止Nginx服务
 nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)
 nginx -t #检测配置文件是否有语法错误,然后退出
 nginx -?,-h #打开帮助信息
 nginx -v #显示版本信息并退出
 nginx -V #显示版本和配置选项信息,然后退出
 nginx -t #检测配置文件是否有语法错误,然后退出
 nginx -T #检测配置文件是否有语法错误,转储并退出
 nginx -q #在检测配置文件期间屏蔽非错误信息
 nginx -p prefix #设置前缀路径(默认是:/usr/share/nginx/)
 nginx -c filename #设置配置文件(默认是:/etc/nginx/nginx.conf)
 nginx -g directives #设置配置文件外的全局指令
 killall nginx #杀死所有nginx进程

你可能感兴趣的:(Nginx,nginx,linux)