美文网首页nginx 程序员开发
nginx基本配置、负载均衡、常用操作

nginx基本配置、负载均衡、常用操作

作者: 乐猿 | 来源:发表于2016-06-09 23:32 被阅读246次

    整理了nginx的相关资料,包括

    • 基本配置
    • 负载均衡
    • 常用操作命令
    基本配置

    nginx.conf,有注释
    http://www.jianshu.com/p/d1ec1f38d80e
    总结一下:

    • 整个配置文件的结构就是
    worker_processes 1;
    events { 
        worker_connections 1024;
    }
    http {
        upstream xxx {
        }
        server {
        } 
        server {
        }
    }
    
    • 一台服务器有多人使用的话,使用一个配置文件不太好,可以改成下面这样的结构
    worker_processes 1;
    events { 
        worker_connections 1024;
    }
    http {
        include /your_path/your_path/*.conf
    }
    
    之后在 /your_path/you_path/ 分别建立不同项目的配置文件,如 project1.conf,其内容是:
    upstream xxx { 
    } 
    server { 
    } 
    
    • 使用不同的Web Server时,server模块的写法不一样,需要参考对应的官方文档,flask+gunicorn的写法与前面文档一致,如果是django+uwsgi的话,写法会是
    upstream django {
        server 127.0.0.1:8000;
    }
    server {
        listen 80;
        server_name xxx.com;
        ...
        # 不同点在这里
        location / {
            uwsgi_pass: django;
            include /yourpath/uwsgi_params;
        }
    }
    
    负载均衡

    有些服务需要部署于多台服务器,以使处理速度更快,其中一种简单的实现方式,就是配置nginx,实现请求的转发。配置的方法在上面基本配置的文档中已有,在此摘出来再看一下

    #首先定义upstream
    upstream upstream_name { 
        #upstream的负载均衡,weight是权重,可以根据机器配置定义权重
        #weight参数表示权值,权值越高被分配到的几率越大。 
        server 192.16.10.23:8080 weight=3; 
        server 192.16.10.23:7070 weight=4; 
        server 192.16.10.43:7070 weight=3; 
    }
    
    #server的配置 
    server { 
        #监听端口 
        listen 80; 
        #域名可以有多个,用空格隔开 
        server_name www.yourwebsite.com yourwebsite.com; 
    
        #对 "/" 启用反向代理,用户访问我们的网站时,就会被分发到upstream中的服务器处理
        location / { 
            proxy_pass http://upstream_name; 
            proxy_redirect off; 
            proxy_set_header X-Real-IP $remote_addr; 
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
            proxy_set_header Host $host; 
        }
    }
    
    常用操作命令
    查看版本信息
    cd */nginx/sbin
    ./nginx -v
    
    启动nginx
    cd /usr/local/nginx/sbin/
    sudo ./nginx
    也可以指定配置文件
    sudo ./nginx -c /usr/local/nginx/conf/nginx.conf
    
    查看进程
    ps -ef | grep nginx
    
    kill进程
    
    从容停止
    kill -QUIT PID(进程号)
    
    快速停止
    kill -TERM PID
    kili -INT PID
    
    强制停止
    pkill -g nginx
    
    验证配置文件是否正确
    cd /usr/local/nginx/sbin/
    ./nginx -t
    
    nginx 重启
    方法一:
    cd /usr/local/nginx/sbin/
    ./nginx -s reload
    方法二:
    kill -HUP PID
    
    验证配置文件.png

    相关文章

      网友评论

        本文标题:nginx基本配置、负载均衡、常用操作

        本文链接:https://www.haomeiwen.com/subject/zfcsdttx.html