• Nginx


    1.简介

    nginx由俄罗斯的程序员开发BSD协议下发型,是一个轻量级的web服务器/反向代理服务器及电子邮件代理服务器

    GPL开源协议,可修改必须开源

    BSD开源协议,可商用

    2.编译安装

    安装准备:nginx依赖于prce库,要先安装

    #yum install pcre pcre-devel

    #cd /usr/local/src/

    #wget http://nginx.org/download/nginx-1.4.2.tar.gz

    #tar zxvf nginx-1.4.2.tar.gz

    #cd nginx-1.4.2

    #./configure --prefix=/usr/local/nginx

    #make && install

    删掉进程:pkill -9 nginx

    查看进程:ps aux|grep nginx

    启动nginx:nginx/sbin/nginx

    3.控制命令

    nginx -t 

    -----测试配置是否正确

    nginx -s reload

    -----加载最新配置

    nginx -s stop

    -----作用立即停止

    nginx -s quit

    -----优雅停止

    nginx -s reopen

    -----重新打开日志

    -----mv access.log access_bak.log

    -----新建access.log 访问日志文件

    -----./sbin/nginx -s reopen 才可以将日志写入新access.log

    4.全局段配置

    worker_processes 工作进程(设置原则:CPU数量*核数)

    events 事件

    http{server} (每一个server就是一个虚拟主机)

    5.server段配置虚拟主机

    5.1)nging.conf配置虚拟主机:

    server{

      listen 80; #监听80端口

      server_name dddai.com; #监听域名,如有多个,空格隔开

      location /{

        root html/ddd; #根目录定位

        index index.php index.html; #默认索引页

      }

      location ~ .php${

        root      html/ddd;

        fastcgi_pass  127.0.0.1:9000;

        fastcgi_index  index.php;

        fastcgi_param   SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;

        include       fastcgi_params;

      }

    }

    5.2)重启./nginx -s reload

    5.3)本地访问:

    添加hosts:192.168.2.251 ddd.com

    浏览器访问:ddd.com

    6.日志管理

    6.1)自定义日志格式simple

    log_format simpile '$remote_addr "$request"';

    6.1)设置

    server{

      access_log  logs/dddai.log  simple;

    }

    7.Nginx反向代理并在日志中获取用户IP

    7.1)

    cd /usr/local/nginx/html/

    wget 图片地址

    7.2)配置图片反向代理:

    location ~ .(jpep|jpg|png|gif)${   #~正则表达式

      proxy_pass http://192.168.2.42:80;

    }

    7.3)代理服务器通过设置头信息字段,把用户IP传到后台服务器去

    location ~ .(jpep|jpg|png|gif)${ 

      proxy_pass http://192.168.2.42:80;

      proxy_set_header X-Forwarded-For $remote_addr;  #$remote_add用户地址

      proxy_pass IP:port;

    }

    8.Nginx集群与负载均衡

    反向代理+负载均衡

    在nginx中做集群与负载均衡,步骤都是一样的Upstream{}模块,把多台服务器加入到一个组

    然后memcached_pass,fastcgi_pass,proxy_pass ==> upstream 组

    具体配置步骤:

    8.1)配置upstream

    upstream imageserver{  #声明服务器组名为imageserver

      server 192.168.1.204:8080 weight=1 max_fails=2 fail_timeout=30s;   #weight权重,max_fails联系30秒失败2次则不再访问

      server 192.168.1.204:8081 weight=1 max_fails=2 fail_timeout=30s;

    }

    8.2)下游调用

    location ~ .(jpg|jpeg|png|gif)$ {

      proxy_set_header X-Forwarded-For $remote_addr:

      proxy_pass http://imageserver;  #转交到imageserver

    }

    默认的负载均衡的算法:

    设置计数器轮流请求N台服务器

    可以安装第三方模式,来利用不同参数把请求均衡到不同服务器去

    如基于cookie值区别用户做负载均衡(nginx sticky 模块)

    或基于URI利用一致性哈希算法均衡(NginxHttpUpstreamConsistentHash模块)

    或基于IP做负载均衡等

  • 相关阅读:
    再逛开心网
    WAPM
    win2003安装flash cs4
    [AS3][物体的运动]
    转sql产生百万记录
    KeyedList
    timer 焦点
    sql优化
    灰色
    参数
  • 原文地址:https://www.cnblogs.com/cevinchen/p/8904201.html
Copyright © 2020-2023  润新知