美文网首页
Nginx 配置(二)

Nginx 配置(二)

作者: fangfc | 来源:发表于2018-12-14 04:03 被阅读0次

1. Nginx 负载均衡

1.1 概述

  • Nginx 作为代理服务器角色, 有正向代理和反向代理 两种.
  • 正向代理
    • 一般用于代理局域网络 内的服务器访问外网的站点, 代理的对象是客户端, 目的是访[图片上传中...(001.png-8d30e2-1544731366941-0)]
      问外网资源.
  • 反向代理
    • 反向代理一般是为 让对互联网上对自己的访问, 代理到内网资源, 由内网资源提供服务.
    • 常用与 负载均衡, 静态资源缓存服务器

1.2 nginx 反向代理指令

  • 语法: proxy_pass

  • 作用:

    • 用于代理服务器协议和地址以及映射位置可以选URI, 作为协议, 可以指定 http 或 https 作为地址指定为域名 或者IP 地址, 可选端口
    • 可以指定URI, 如果指定了URI, 那么请求传递到服务器时会将请求URI
  • 示例:

upstream host1cc {
    server 192.168.10.11;
    server 192.168.10.12;
}
server {
    listen 80; 
    server_name     host1.cc;
    location ~ .*$ {
        proxy_pass  http://host1cc;
        proxy_set_header Host   $host;
        proxy_set_header X-Forwarded-For    $remote_addr;
        proxy_set_header X-Real-IP          $remote_addr;
    }   
}  
  • 测试
001.png 002.png

2. nginx 配合 php-fpm

  1. cgi 概念
  • CGI (Common Gateway Interface)

    • 通用网关接口 是HTTP Server和一个独立应用程序进程之间 通信的协议, Web 服务器能够将用户提交的的信息通过 CGI 交给程序处理, 由应用程序处理后, 返回给web程序, 再由web 返回给客户端.
    • 一般web 服务器只提供简单的静态文件处理(如html, jpg, text), 如果有动态请求(如 php, python.. ) 会fork 出来一个新的CGI 程序, 动态脚本请求交给CGI 处理, 不过启动CGI 程序 比较消耗性能, 需要 读取配置文件, 加载扩展等等, 当本次请求处理结束后, 该CGI 程序会被销毁.
  • FastCGI

    • 快速的 CGI, 由于CGI 每次处理请求都会创建和销毁 比较消耗性能, FastCGI 就可以解决该问题,
    • FastCGI 会有一个常驻的程序, 用于一次读取配置文件 加载CGI 程序需要的东西, 每当有新请求时启动CGI 就不会消耗过多性能, 配置也不会反复加载, 并且可以在请求处理结束后, 保留进程作为下次使用.
  • php-fpm

    • FastCGI process Manager 就是php的 fastCGI 管理器的简称.
    • 对于php 的FastCGI 进程管理器.
    • 当fastcgi 配置文件有变动时, 可以平滑重启, 不影响已启动的 CGI, 而是在启动新的CGI 时, 使用新的配置, 旧的CGI 运行结束后会被关闭.
  1. 启动php-fpm
[root@node10009 php7]# /opt/app/php7/sbin/php-fpm -t
[14-Dec-2018 03:45:38] NOTICE: configuration file /opt/app/php7/etc/php-fpm.conf test is successful
[root@node10009 php7]# /opt/app/php7/sbin/php-fpm 
[root@node10009 php7]# ss -tan | grep 9000
LISTEN     0      128    127.0.0.1:9000                     *:*                  
[root@node10009 php7]# 
  1. nginx 配置 php-fpm
server {
    listen 82; 
    server_name     host2.cc;
    root            /opt/case/wwwroot/host2;
    index           index.html;
    charset         utf8;
    access_log      logs/host2.access.log;
    location ~ .*\.php$ {
        root            /opt/case/wwwroot/host2;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME     /opt/case/wwwroot/host2/$fastcgi_script_name;
        include         fastcgi_params;
    }   
}
  • 测试
003.png

END

相关文章

网友评论

      本文标题:Nginx 配置(二)

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