Nginx反向代理的配置

简介

Nginx是一款强大的web服务器,本文会对Nginx反向代理,反向代理PHP及缓存做一下简要的介绍。

主机准备

现准备三台主机:www.linux15.io,www.test74.com,www.test168.com。其中linux15作为响应服务器接收用户请求,test74与test168作为后端服务器。

配置反向代理

直接访问www.test74.com:
在这里插入图片描述
现在配置反向代理,使得访问www.linux15.io的请求由www.test74.com来处理,最简单的反向代理配置可如下:

server {
    listen 80;
    server_name www.linux15.io;

    location / {
        proxy_pass www.test74.com;
    }
}

访问linux15.io,实际处理请求的是test74:
访问linux15.io,实际处理请求的是test74

配置带有缓存的反向代理

主配置文件/etc/nginx/nginx.conf添加如下配置(放在http模块中):

#指定缓存目录为 /data/nginx/cache,缓存层级为3级,名称为pcache,大小10M,最大2G.
proxy_cache_path /data/nginx/cache levels=1:1:1 keys_zone=pcache:10m max_size=2g;

/etc/nginx/conf.d/目录下的配置文件如下:

server { 
    listen 80;
    server_name www.linux15.io;
    
    proxy_cache pcache;
    proxy_cache_key $request_uri;
    proxy_cache_methods GET HEAD;
    proxy_cache_valid 200 302 10m;
    proxy_cache_valid 404      1m;
    #后端服务器错误时,可使用缓存返回旧的内容
    proxy_cache_use_stale http_502;
    
    location / {
        proxy_pass http://www.test74.com:80;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

访问linux15.io,可以看到生成的缓存文件如下:/data/nginx/cache/9/d/7/6666cd76f96956469e7be39d750cc7d9,/data/nginx/cache/9/d/7/与配置的levels=1:1:1对应,查看缓存文件中的内容:

# cat /data/nginx/cache/9/d/7/6666cd76f96956469e7be39d750cc7d9

在这里插入图片描述
直接修改缓存文件,再次访问www.linux15.io,会发现访问内容发生变化:在这里插入图片描述

反向代理PHP配置

集成PHP时,可使用spawn-fcgi或php-fpm,这里使用php-fpm。
首先在test74主机上安装php-fpm并启动服务,默认情况下php-fpm会监听9000端口:
在这里插入图片描述
test74主机上建立测试文件:
在这里插入图片描述
下面修改liux15.io上面的nginx配置:
修改/etc/nginx/nginx.conf,开启缓存功能:

fastcgi_cache_path /data/nginx/fcgicache levels=2:2:2 keys_zone=fcache:10m max_size=2g;

修改/etc/nginx/conf.d/下的配置文件:

server {
    listen 80;
    server_name www.linux15.io;
    index index.php index.html;

    location / {
        root /data/nginx/html;
    }

    location ~* \.php$ {
        fastcgi_pass www.test74.com:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME  /data/apps/$fastcgi_script_name;
        fastcgi_cache fcache;
        fastcgi_cache_key $request_uri;
        fastcgi_cache_valid 200 302 10m;
        fastcgi_cache_valid 301      1h;
        fastcgi_cache_valid any      1m;
    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值