linux离线安装nginx步骤及nginx使用场景

  • linux离线安装nginx
  • 安装gcc环境
  • 安装linux
  • nginx应用场景
  • 场景一:一台tomcat服务器对外提供服务
  • 场景二:多台tomcat服务器对外提供服务
  • 负载均衡(LoadBalance)
  • 正向代理与反向代理
  • 正向代理用途
  • 反向代理用途
  • 负载均衡算法


linux离线安装nginx

安装gcc环境

  • 下载gcc所需安装包
    链接: https://pan.baidu.com/s/1kQzmyI_qwpxEvyMy7KgXag 提取码: ggv3
  • 上传到对应目录并解压缩
tar -zxvf gcc.tar.gz
rpm -Uvh  *.rpm  --nodeps  --force
  • 验证 gcc -v 和 g++ -v

安装linux

  • 下载nginx安装包
http://nginx.org/download/nginx-1.18.0.tar.gz
https://www.openssl.org/source/openssl-1.1.0e.tar.gz
https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download || http://pcre.org/
http://www.zlib.net/zlib-1.2.11.tar.gz
  • 安装pcre
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.37/
./configure
make && make install
  • 安装zlib
cd zlib-1.2.11/
./configure
make && make install
  • 安装openssl
tar -zxvf openssl-1.1.0e.tar.gz
cd openssl-1.1.0e/
./config
make && make install
  • 安装nginx
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../3/pcre-8.37 --with-zlib=../3/zlib-1.2.11 --with-openssl=../3/openssl-1.1.0e
make && make install

# 启动nginx
cd /usr/local/nginx/sbin
./nginx

nginx应用场景

场景一:一台tomcat服务器对外提供服务

  • 特点
  • 访问量小,并发小
  • 资源有限
  • 成本低
    因此较为适合中小型企业
  • 缺点
  • 单点故障问题:当该服务器故障时,客户端无法获取服务
    解决方法:使用集群
  • 无法应对高并发
  • 升级方法
  • 垂直扩展:升级cpu和内存等硬件设施
  • 水平扩展:多个服务器共同运行

场景二:多台tomcat服务器对外提供服务

  • 特点
  • 可应对高并发问题
  • 没有单点故障
  • 横向扩展方便

负载均衡(LoadBalance)

  • LVS(Linux Virtual Server): 虚拟的服务器集群系统
    对cpu和内存的消耗低,可靠性高,支持热备
    处于七层网络模型的第四层
  • Apache HTTP Server
    处理请求异步阻塞
    是模块插拔式的
  • Nginx
    轻量级高性能的HTTP和反向代理服务器,占有内存少,并发能力强
    处理请求异步非阻塞,性能较高,配合lua脚本使用
    处于七层网络模型的第七层

正向代理与反向代理

正向代理用途

  1. 访问原来无法访问的资源(如google等)
  2. 做缓存, 加速访问资源
  3. 对客户端访问授权,上网进行认证
  4. 可以记录用户访问记录
    客户端(A、B、C…) 《—正向代理服务器 《===》google.com
    客户端和正向代理服务器在同一局域网内

反向代理用途

对于客户端而言并不知道要访问的是什么资源

  1. 普通Web代理服务器不支持外部对内部网络的访问请求
  2. 保证内网安全,可以使用反向代理提供WAF功能,阻击WAF攻击
  3. 负载均衡,通过反向代理服务器优化网站负载
  4. 缓存静态内容,当静态内容发生变化时通过内部通知机制通知反向代理服务器缓存失效

负载均衡算法

  1. 加权随机:按权重随机请求后端服务器
  2. 加权轮询:配置高-负载低的服务器权重高
  3. 轮询:请求按顺序轮流分配
  4. 源地址哈希:根据客户端IP地址散列求出hashcode,求模得到一个服务器序号
  5. 最小链接:动态选取当前连接数最小的一台服务器处理请求