Nginx相关笔记

1、Nginx的简介

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

Nginx专门为性能优化而开发。性能是其最重要的考量,实现上非常注重效率,能经受起高负载的考验,有报告表明能支持高达50000个并发连接数

2、反向代理

(1)、正向代理

image-20210307181319739

(2)、反向代理

我们只需要将请求发送给反向代理服务器,由反向代理服务器去选择目标服务器。隐藏了正式服务器的地址

image-20210307184428933

3、负载均衡

单个服务器解决不了,我们增加服务器的数量。然后将请求分发到各个服务器上。将原先的请求由集中到单个服务器的情况改为将请求分发到多个服务器的情况。

image-20210308024729287

4、动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来一个服务器的压力

image-20210308025326638

5、nginx的安装

  1. 使用远程软件连接服务器
  2. 打开nginx的官网http://nginx.org/en/download.html
  3. nginx相关的依赖

image-20210308030754012

1、安装pcre

  1. 去pcre官网下载安装包http://www.pcre.org/
  2. 通过xftp将安装包放到usr/src下面
  3. tar -xvf 解压
  4. 进入解压的目录下,执行./configure
  5. 使用make && make install,对文件进行编译和安装
  6. 安装之后,使用命令查看版本号 pcre-config --version

2、安装openssl,安装zlib

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

3、安装nginx

  1. 将nginx压缩包放到src下
  2. 解压缩
  3. 使用./configure,make && make install
  4. 安装成功后,在usr后有一个nginx的文件夹,在nginx有sbin的脚本

6、nginx相关命令

  • 使用nginx的前提是进入/usr/local/sbin
  • 使用./nginx -v查看nginx的版本
./nginx -v

image-20210309164737455

  • 启动nginx (./nginx)
./nginx

image-20210309171149811

  • 关闭nginx ( ./nginx -s stop)
 ./nginx -s stop

image-20210309171051923

  • 重新加载nginx
./nginx -s reload

image-20210309171509835

7、nginx的配置文件

1、nginx的配置文件的位置

/usr/local/nginx/conf/nginx.conf

image-20210309171813259

2、nginx 的配置文件的组成

(1)nginx有三部分组成

  • 第一部分:全局块

从配置文件开始到events之间的内容,主要会设置一些影响nginx 服务器整体运行的配置指令,主要包括配置运行nginx服务器的用户(组)、允许生成的worker process数,进程PID存放的路径、日志存放路径和类型以及配置文件的引入等。

image-20210309172532152

worker-process的值越大,表示处理的并发量越多

  • 第二部分:events块

events块涉及到的指令主要影响nginx服务器与用户之间的网络连接,常用的设置包括是否开启对多work process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取那种事件驱动模型来处理请求,每个word processke可以同时支持的最大连接数等。

例如 worker_connections 1024; 支持最大的连接数为1024

image-20210309174630207

  • 第三部分:http块

nginx服务器配置最频繁的地方,代理,缓存和日志定义等绝大数功能和第三方模块的定义在这里

http块包括http全局块和server块

8、nginx的配置实例1——反向代理

1、实现效果

​ 打开浏览器,在网址栏输入www.123.com,跳转到服务器的博客主页面

2、准备工作

​ 博客(tomcat服务器一样)可以在windows浏览器中通过ip地址和域名访问

image-20210310025028289

3、具体配置

​ (1)对域名进行解析

​ (2)在nginx进行请求转发的配置(反向代理配置)

image-20210310030536201

4、最终测试

Q.E.D.