• CentOS 7 安装配置 nginx


    CentOS 7.6.1810 安装配置 nginx 1.16.0

    1、安装nginx依赖包

    yum install -y pcre pcre-devel
    yum install -y openssl openssl-devel
    yum install -y zlib zlib-devel
    yum install -y gcc gcc-c++

    2、创建目录并进入

    mkdir -p /usr/local/nginx && cd /usr/local/nginx

    3、下载t安装包

    wget http://nginx.org/download/nginx-1.16.0.tar.gz

    4、解压安装包

    /usr/bin/tar -zxvf nginx-1.16.0.tar.gz

    5、编译安装nignx 1.16.0

    cd nginx-1.16.0 && ./configure --with-http_ssl_module
    make && make install

    6、设置软连接,启动并测试配置文件是否成功

    ln -s /usr/local/nginx/sbin/nginx /sbin/ && nginx && nginx -t

    7、开启防火墙端口和http协议

    firewall-cmd --add-port=443/tcp
    firewall-cmd --add-port=80/tcp
    firewall-cmd --add-service=http

    8、或者直接关闭防火墙

    systemctl stop firewalld
    service iptables stop

    9、其它常用指令

    /usr/local/nginx/sbin/nginx -s reload  重启nginx
    /usr/local/nginx/sbin/nginx -s stop    停止nginx
    /usr/local/nginx/sbin/nginx            启动ningx
    netstat -tunlp                         查看端口占用(80443ps -ef |grep nginx                     查看ningx进程
    kill -QUIT ‘nginx主进程号’              停止进程
    kill TERM nginx主进程号                 快速停止
    kill -9 进程号                          强制停止
    kill -HUP nginx主进程号                 平滑重启

    10、编译时创建用户

    groupadd nginx                      # 创建nginx组
    useradd nginx -g nginx -s /sbin/nologin -M     # 添加nginx用户并加入nginx组
    --user=nginx                        # 编译时用户参数 
    --group=nginx                       # 编译时组参数
    vim /usr/local/nginx/conf/nginx.conf         # 编译安装完成以后,修改nginx.conf
    user nginx nginx;

    11、其它参考资料

    nginx负载均衡
    nginx负载均衡策略

    (1)轮询:轮流处理请求,每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器宕掉,自动剔除,剩下的继续轮询。
    upstream myServer {
    server 192.168.1.1:9090 down; //down            表示此节点不参与负载
    server 192.168.1.1:6060 fail_timeout=10s max_fails=2;      10S内连接失败2次就认为这个服务器工作不正常
    server 192.168.1.1:7070 backup;               当其他所有的非backup机器宕机时,才会请求backup机器
    }

    down 表示服务器永久停机,不参与负载
    bakcup 表示服务器为备用服务器,当其他服务器全部停机时,请求才会发送到这里
    fail_time 服务器会被认为停机的时长,默认为10s
    max_fails 允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
    fail_timeout fail_timeout与max_fails要关联使用,一台服务器在fail_timeout内出现了max_fails次失败,则认为这台服务器已经挂掉,然后在fail_timeout时间后会尝试重新连接。
    nginx负载均衡的默认策略为轮询方式,在轮询中,如果服务器donw了,会自动剔除该服务器。

    (2)权重:通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。
    upstream myServer {
    server localhost:8080???weight=2;?
    server localhost:8082???backup;??
    server localhost:8083???max_fails=3 fail_timeout=20s;?
    }
    权重方式可以与ip_hash和 least_conn结合使用。

    (3)IP地址哈希(ip_hash):每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。
    upstream myServer {
    ip_hash;
    server localhost:8080 weight=2;
    server localhost:8081;
    }

    (4)最少连接(least_conn):web请求会被转发到连接数较少的服务器上,适合请求处理时间长短不一造成服务器过载的情况
    upstream myServer {
    least_conn;
    server localhost:8080 weight=2;
    server localhost:8081;
    server localhost:8082 backup;
    server localhost:8083 max_fails=3 fail_timeout=20s;??
    }

    (5)最短响应时间(fair):按照服务器端的响应时间来分配请求,响应时间短的优先分配。
    upstream myServer {
    server localhost:8080;
    server localhost:8081;
    server localhost:8082;
    server localhost:8083;
    fair;
    }


    (6)URL地址哈希(url_hash):按访问的url进行分配,使每个url定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求,可能会到达不同的服务器上,造成不必要的多次下载。使用url_hash后同一url每次到达一台服务器,可以缓存资源,不会造成多次下载。
    upstream myServer {
    hash $request_uri;
    server localhost:8080;
    server localhost:8081;
    server localhost:8082;
    server localhost:8083;
    }

    【注】
    Nginx proxy_pass后的url加不加/的区别
    在nginx中配置proxy_pass时,若url中端口号后无内容,当在后面的url加上了/相当于是绝对根路径。则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。若端口号后有内容,则无论后面是否有/,都不会把location中匹配的路径部分代理走。

    官网操作指南

    编译参数参考一
    编译参数参考二
    编译参数参考三

    运动可以增加体力;读书可以增加知识; 自古只有天才的学生,没有天才的老师; 猴子不上树是看不见红屁股的, 人不做事情是看不出能力的。 时间花在那儿,擅长就在那儿。 钱花完了可以再赚,时间花了便一去不复返。
  • 相关阅读:
    7.JavaScript-Promise的并行和串行
    6.Javascript如何处理循环的异步操作
    5.Javascript闭包得实现原理和作用
    4.Javascript中实现继承的几种方法及其优缺点
    3.Javascript实现instanceof
    BEF
    ant-vue Table组件selectedRows翻页后不保留上一页已选
    js 构造函数、继承
    Vue全局注册组件
    react迷惑的点(一)
  • 原文地址:https://www.cnblogs.com/shuter/p/11237719.html
Copyright © 2020-2023  润新知