学习笔记:Nginx

介绍

  • 本文主要记录在学习 Nginx 时的一些笔记

一、基本概念

1.Nginx

  • Nginx 是一个高性能的 HTTP 和反向代理的 web 服务器,专门为性能优化而开发,且支持热部署
  • 特点:占有内存少,并发能力强

2.反向代理

  • 对外暴露的是反向代理服务器,隐藏了真实的服务器
  • 区别于正向:正向相当于把代理设置在了用户一端,而反向相当于把代理设置在了服务器一端
    Nginx01.png

3.负载均衡

  • 适合于并发请求较大的时候,相当于将客户端的请求分发给各个服务器上
    Nginx02.png

4.动静分离

  • 为了加快网站的解析速度,将动态资源和静态资源分离开来,分别由不同的服务器来解析,减少服务器的压力
  • 静态资源:html、css、js
    动态资源:jsp、servlet

二、Nginx 的安装

Nginx 可以安装在 windows 中,也可以安装在 linux 中,一般是安装在 linux 中,因为大多数的服务器都是运行在 linux 系统中的。

1.安装前的准备

2.安装命令

  • 上面的依赖包可以通过 wget 的命令进行下载,然后解压文件, 使用 ./configure 命令检查文件,最后通过 make && make install 命令进行安装
  • 也可以通过 yum -y install make zlib zlib-devel pcre-devel gcc-c++ libtool openssl openssl-devel 一键安装依赖。
  • 最后再安装 Nginx(解压、检查、安装)。安装完以后在 /usr/local/ 中会有 nginx 的文件夹。

3.测试 Nginx

  • 进入 /usr/local/nginx/sbin 中,执行 ./nginx 回车
  • /usr/local/nginx/conf/nginx.conf 中可以看到,nginx 默认监听80端口,所以可以通过 ip 地址+端口号来访问,以此检验 nginx 是否成功启动。
  • 默认是访问不到的,需要在防火墙中添加规则或者关闭防火墙才可以访问到。
    1
    2
    3
    4
    5
    6
    7
    /*查看开放的端口号*/
    firewall-cmd --list-all
    /*设置开放的端口号*/
    firewall-cmd --add-service=http --permanent
    sudo firewall-cmd --add-port=80/tcp --permanent
    /*重启防火墙*/
    firewall-cmd --reload

4.Nginx 常用命令

使用 nginx 操作命令时,必须进入 /usr/local/nginx/sbin 该目录中。

  • 查看 nginx 版本号: ./nginx -v
  • 启动 nginx: ./nginx
  • 关闭 nginx: ./nginx -s stop
  • 重新加载 nginx: ./nginx -s reload

三、Nginx 的配置文件

1.文件位置

  • /usr/local/nginx/sbin 路径中。

2.组成部分

  • 全局块:主要设置一些影响 nginx 服务器整体运行的配置指令
  • events 块:主要影响 nginx 服务器与用户的网络连接
  • http 块:配置代理、缓存和日志定义等绝大多数功能和第三方模块
  • http 块中包括:http 全局块和 server 块
  • server 块中包括:全局 server 块和 location 块