欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Nginx学习笔记

程序员文章站 2022-05-17 15:40:24
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! Nginx学习笔记 课程目标 理解反向代理,负载均衡的概念 . 掌握Nginx在Linux下的安装 , 配置 掌握在项目中使用Nginx反向代理实现负载均衡 了解Nginx负载均衡的常用配置方案 ......

狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! 

nginx学习笔记

课程目标

  • 理解反向代理,负载均衡的概念 .
  • 掌握nginx在linux下的安装 , 配置
  • 掌握在项目中使用nginx反向代理实现负载均衡
  • 了解nginx负载均衡的常用配置方案

 反向代理

  • 正向代理
    • 客户端------代理客户端------原始服务器
    • 客户端必须要进行一些特别的设置
    • Nginx学习笔记
    • 问题 : 单个服务器处理客户端请求能力有限 , 当用户请求蜂拥而入时 , 会造成服务器忙不过来的局面 , 那如何解决?
    • 解决方案 : 使用多个服务器来共同分担成千上万的用户请求 , 他们提供相同服务 , 对于用户而言 , 根本感觉不到任何差别
  • 反向代理
    • 客户端------代理服务器-----原始服务器
    • 客户端不需要进行任何特别的设置
    • Nginx学习笔记

nginx概念

  • nginx 是轻量级 , 高性能的web服务器 / 反向代理服务器
  • 实现负载均衡
  • 负载均衡( load balance )
    • 将请求/数据 [均匀] 分摊到多个操作单元上执行'
    • 核心 : 均衡的分摊压力
    • Nginx学习笔记

安装配置

  • nginx安装包 ( windows版 , linux 版 )
  • 安装环境准备
    • 服务器 centos 7  64位
    • 安装包 : nginx-1.12.0.tar.gz
    • 下载地址 : http://nginx.org/en/download.html
    • 安装c++编译环境 ( yum install gcc-c++ )
  • 安装配置步骤
    • 安装模块依赖库
      • pcre库 ( rewrite )
        • yum install pcre*
        • pcre-8.32.tar.gz ( 下载地址: http://www.pcre.org/ )
      • openssl库 ( ssl )
        • yum install openssl*
        • openssl-fips-2.0.16.tar.gz ( 下载地址: http://www.openssl.org/ )
      • zlib库 ( gzip )
        • yum install zlib*
        • zlib-1.2.11.tar.gz ( 下载地址 : http://www.zlib.net/ )
    • 安装 nginx
      • ./configure
      • make
      • make install
    • 开放80端口
      • /ect/sysconfig/iptables
    • #查看gcc是否安装
      rpm -qa|grep gcc*
      
      #连接上服务器,把资源都导入,安装环境开始
      #......此处省略重复安装环境步骤
      
      #配置文件开80端口,重启iptables
      vim /ect/sysconfig/iptables
      service iptables restart

      启动nginx

      • usr/local/nginx/sbin/nginx
    • 访问nginx
      • http://服务器ip 
      • 如果访问成功出现welcome nginx就成功了!
  • nginx常用命令
    • 启动 : usr/local/nginx/sbin/nginx
    • 停止 : usr/local/nginx/sbin/nginx -s stop
    • 重启 : usr/local/nginx/sbin/nginx -s reload
    • 检查配置文件 ( nginx.config ) 是否合法 : usr/local/nginx/sbin/nginx -t
  • 注意 :
    • libpcre.so.1 动态库找不到的处理方案 :
      #查找libpcre.so.1库在哪
      whereis libpcre.so.1
      
      #软连接过去
      ln -s /usr/local/lib/libpcre.so.1 /lib64/libpcre.so.1

      #查看是否启动成功
      ps -ef|grep nginx
       

nginx.conf 配置文件

  • /usr/local/nginx/conf/nginx.conf
    • nginx服务器的基础配置
  • 文件结构
    • 全局块
    • events块
    • http块
      • 嵌套多个server
      • 配置反向代理功能提供负载均衡支持
    • server块
      • 配置虚拟主机的相关参数
    • location块
      • 请求url过滤 , 正则匹配
    • Nginx学习笔记

项目实现负载均衡

  • 构建反向代理
    • nginx只处理静态台不处理动态内容,动态内容交给后台tomcat处理
    • Nginx学习笔记
    • Nginx学习笔记
  • 实现负载均衡
    • 轮询
    • Nginx学习笔记
    • 热备
      • bcakup
      • Nginx学习笔记
    • 权重
      • weight
      • Nginx学习笔记
    • ip地址hash
      • ip_hash
      • 解决tomcat之间session共享
      • Nginx学习笔记