关于高性能http反向代理服务器nginx

1 前言
         nginx 是一个高性能的 http 和 反向代理服务器,何为高性能,就是 nginx 的并发能力强并且占用少量的内容,可以支持高达 5000 次的并发连接数。nginx 提供反向代理、负载均衡、动静分离、以及高可用等功能,下面主要介绍 nginx 的安装以及如何实现这些功能。

2 nginx 在 Linux 系统中的安装
         1.首先在 nginx 官网:http://nginx.org/ 下载需要版本,例如:nginx-1.12.2.tar.gz
         2.将 nginx-1.12.2.tar.gz 文件上传到 Linux 系统 usr 目录下
         3.nginx 安装前先需要添加相关依赖:执行命令:yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
         4.解压 nginx 文件:执行命令:tar -xzvf nginx-1.12.2.tar.gz
         5.执行命令:./configure
         6.执行命令:make && make install
         7.安装成功之后在usr下多出来一个文件夹local/nginx/sbin有启动脚本
         8.关闭防火墙:systemctl stop firewalld
          注:关闭防火墙只是为了方便测试,如果不想关闭防火墙,需要添          加 nginx 端口号才能访问 nginx 服务器
          命令:查看开放端口号:firewal-cmd --list-all
          设置开放端口号:firewall-cmd --add-service=http --permanent
                              sudo firewall-cmd --add-port/80/tcp --permanent
          重启防火墙:firewall-cmd --reload
         9.测试是否安装成功:在 usr/local/nginx/sbin 下执行:./nginx
关于高性能http反向代理服务器nginx_第1张图片
3 nginx 常用命令

         要使用 nginx 命令需要在nginx 的sbin目录下
         3.1 查看 nginx 的版本号
                  ./nginx -v
         3.2 启动 nginx
                  ./nginx
         3.3 关闭 nginx
                  ./nginx -s stop
         3.4 重新加载 nginx:当我们修改 nginx 的配置文件以后,可以使用重加载命令
                  ./nginx -s reload

4 nginx 的配置文件

         配置文件的路径:/usr/local/nginx/conf/nginx.conf
         配置文件由三部分组成
         4.1 全局块
         从配置文件开始到 events 块之前的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令:
         比如 worker_processes 1;work_processes 值越大,可以支持的并发处理量也越多
         4.2 events 块
         events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,比如
         worker_connection 1024;支持最大的连接数。
         4.3 http 块
         Nginx 服务器配置中最频繁的部分
         http 块也可以包括 http 全局块、server 块

5 nginx 功能总结

         5.1 正向代理:客户端想要访问互联网需要配置代理服务器,例如 访问外网时不能直接通过外网的地址进行访问,需要经过代理服务器去访问,客户端知道目标服务器的ip地址。

         反向代理:客户端不需要配置代理服务器,代理服务器中配置了多个目标服务器的ip地址,其实就是隐藏了目标服务器的地址,对客户端暴露的是代理服务器的ip地址,这时代理服务器和目标服务器可以看做是一台服务器,客户端只知道代理服务器的ip地址,通过这个ip地址就可以访问代理代理服务器,具体使用的目标服务器由代理服务器负责分配。

         5.2 负载均衡:原来的单系统架构是单一服务器从客户端接收请求然后调用数据库数据再响应客户端,架构简单,但是无法满足高并发、大流量的客户端访问,并发量特别大时可能导致整个系统崩溃,因此通过增加服务器的数量,将请求尽量平均分发到各个服务器上,达到负载均衡的目的,解决单系统高并发问题。

         5.3 动静分离:将动态请求和静态请求分别使用相应的服务器进行解析,例如访问静态资源时使用静态资源服务器,访问动态资源使用动态资源服务器,动静分离的方式目前主要分为两种;
         1.将静态资源独立成单独的域名放在独立的服务器上,这也是目前使用最多的方法;
         2.将静态资源和动态资源放在一起发布,使用 nginx 来分离。

         5.4 高可用:如果一个系统中只使用一台 nginx 服务器来实现反向代理,那么也不符合我们分布式的要求的,万一 nginx 服务器宕机了,整个系统还是会崩溃,所以使用多台 nginx 反向代理服务器,代理相同的目标服务器,同时需要借助 keepalived 进行监视 nginx 的状态,通过判断主 nginx 服务器的路由状态决定从 nginx 服务器使用启动,即达到高可用的目的。

你可能感兴趣的:(笔记,nginx,linux,java,分布式)