• nginx配置负载均衡


    title: nginx配置负载均衡
    date: 2016-04-19
    categories: nginx
    tags: ngixn

    1 nginx 负载均衡和反向代理

    nginx是一种提供负载均衡和反向代理的服务器,另一种服务器Apache也提供了这个功能。tomcat jetty是叫做应用服务,负责应用程序的部署,而nginx和apache 主要作为网络服务器,负责负载均衡和反向代理。

    负载均衡 :同时有n个用户访问服务器时,为了减轻服务器压力,将用户分别引入到分布式集群中的各个服务器,从而分担各个服务器的压力。

    反向代理 :介绍反向代理之前先说一下正向代理

    正向代理 : 用户a向服务器A访问资源,但由于某种原因用户a不能直接访问服务器A,且恰好a可以访问的服务器B,且B可以访问服务器A,则用户a可以通过服务器B访问服务器A,这就是正向代理,其中B就是代理服务器。

    反向代理 : 通过第三方服务器(比如nginx)访问服务器集群中的内容(为了保证状态一致性,服务器中的各个机器上内容一样),这个第三方服务器就叫做反向代理。

    在正向代理中,用户明确知道数据在哪里,即有一条明确的到达资源的路径,而在反向代理中,用户不确定所要获得的资源到底来自那一台服务器,只知道到达第三方的路径。

    nginx就是一款通过反向代理 实现负载均衡服务器(Apache服务器提供了类似的功能),用户首先访问nginx,然后nginx从服务器集群中选择一台压力较小的服务器,然后将访问指向该机器。若服务器集群中某台机器宕机,则将该服务器从待选列表中删除。

    为保证负载均衡内容的一致性,集群中各个机器上的内容是一样的,故Api可以部署在多个不同的机器上,通常后台会有多个tomcat作为应用服务器,而将nginx作为反向代理来实现负载均衡。

    与Apach相比,nginx支持高并发,内存消耗低,部署简单。

    2 nginx安装

    以在centos/ubuntu 上安装nginx为例 :

    cd /home
    mkdir nginx # nginx安装目录
    
    tar -zxvf nginx-x.x.x.tar.gz
    ./configure 
    这里可能会报找不到 pcre  zlibdeng
    建议先安装 gcc   zlib pcre
    
    sudo apt-get install -y pcre pcre-devel openssl openssl-devel
    sudo apt-get install -y gcc gcc-c++ autoconf automake
    sudo apt-get install -y zlib zlib-devel 
    
    安装完上面的包后 然后configure
    make
    make install 
    

    安装完测试 :

    cd  /usr/local
    ls  在该目录下发现多了一个nginx目录则说明安装成功
    进入该目录 ,下面有4个目录 : 
    conf : 配置文件
    html :首页
    logs :日志
    sbin :命令行工具 ,该目录下的 nginx命令可以启动nginx
    

    启动 nginx

    /usr/local/nginx/sbin/nginx -t # 验证配置文件是否正确
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    # 启动并加载配置文件
    加载这个默认的配置文件也可以 也可以直接运行nginx命令 ./nginx
    
    当修改l这个默认的配置文件后 不用重启,只需要 :
    
    ./nginx -t
    ./nginx -s reload 
    

    3 nginx 常用命令

    3.1 启动

    启动格式

    ./nginx -c nginx配置文件地址 (默认在conf/nginx.conf)
    

    3.2 停止

    方式1 从容停止 : 安全地停止

    kill -QUIT nginx进程号
    

    查看nginx进程号 :ps -ef |grep nginx
    master process:主进程号,只需要停止该进程号即可。

    方式2 :快速停止

    kill -TERM nginx进程号
    或者
    
    kill -INT nginx进程号
    

    方式3 :强制停止

    killall -9 nginx
    或者 
    pkill -9 nginx
    

    3.3 重启

    当修改了配置文件时,需要重启nginx才能生效。

    验证配置文件

    ./nginx -t 
    或者 
    ./nginx -t -c nginx配置文件地址
    

    重启:

    ./nginx -s reload 
    
    或者
    
    kill -HUP nginx主进程号 
    

    -HUP : 发送信号重启

    4 nginx信号控制

    在nginx服务器中,通常都是通多对其发送一些控制信号进行控制,下面是一些常见的控制信号 :

    HUP :重启
    QUIT/INT : 从容关闭
    TERM:快速关闭
    USRI:切换日志文件
    USR2:平滑升级(在不影响旧进程的情况下升级nginx)
    WINCH:从容关闭工作进程

  • 相关阅读:
    Gartner:安全软件在经济危机中独善其身 狼人:
    美军正式成立网络战司令部 保护美军网络 狼人:
    警惕“搜房网”“凯业房园”等网站被挂马 狼人:
    Gartner:08年全球杀毒软件市场份额排名 微软第七 狼人:
    专访梭子鱼:以“立体交付”保障Web应用安全 狼人:
    安全专家称Opera Unite或成黑客“好友” 狼人:
    微软正式提供免费杀毒软件下载 仅限7.5万份 狼人:
    电信故障引发全国多地上网难 京沪等地受影响 狼人:
    中国拟修订保守国家秘密法 严防通过互联网泄密 狼人:
    Google推反恶意广告网站 防护恶意软件威胁 狼人:
  • 原文地址:https://www.cnblogs.com/baixl/p/5419167.html
Copyright © 2020-2023  润新知