centos7.4 搭建nginx反向缓存代理

nginx可以实现基于硬盘缓存的反向代理服务
通过proxy_cache和fastcgi_cache两个功能模块完成配置

-----

本例:
nginx反向代理服务器192.168.80.81
web服务器192.168.80.82
win7客户机 192.168.80.79

-----
### web服务器192.168.80.82 配置:
安装简单的httpd,提供web服务即可

-----
### nginx反向代理服务器192.168.80.81配置:
1.上传反向代理插件、软件和解压:
tar xzvf ngx_cache_purge-2.3.tar.gz -C /opt/
tar xzvf pcre-8.41.tar.bz2 -C /opt/
tar xzvf nginx-1.13.5.tar.gz -C /opt/
yum install -y zlib-devel

2.编译安装nginx
cd /opt/nginx-1.13.5

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-pcre=/opt/pcre-8.41 \
--add-module=/opt/ngx_cache_purge-2.3

make && make intall

useradd -M nginx

cd /usr/local/nginx/conf

vi nginx.conf

清除原内容,插入以下:
user  nginx nginx;
worker_processes  1;
error_log  logs/error.log  crit;
worker_rlimit_nofile 65535;
events {
        use epoll;
    worker_connections  65535;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
        charset utf-8;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  # '$status $body_bytes_sent "$http_referer" '
  #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
        tcp_nodelay on;
        client_body_buffer_size 512k;
        proxy_connect_timeout 5;
        proxy_read_timeout 60;
        proxy_send_timeout 5;
        proxy_buffer_size 16k;
        proxy_buffers 4 64k;
        proxy_busy_buffers_size  128k;
        proxy_temp_file_write_size 128k;
        proxy_temp_path /var/cache/nginx/cache_temp;
        proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
        upstream backend_server{
                server 192.168.80.185:80 weight=1 max_fails=2 fail_timeout=30s;
}
    #gzip  on;
    server {
        listen       80;
        server_name  test 192.168.80.81;
         index  index.html index.htm;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
                proxy_next_upstream http_502 http_504 error timeout invalid_header;
                proxy_cache cache_one;
                proxy_cache_valid 200 304 12h;
                proxy_cache_key $host$uri$is_args$args;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://backend_server;
                expires 1d;
        }
        location ~/purge(/.*) {
                        allow 127.0.0.1;
                        allow 192.168.80.0/24;
                        deny all;
                        proxy_cache_purge cache_one $host$1$is_args$args;
                }
                location ~\.(php|jsp|cgi)?$ {
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://backend_server;
        }
             access_log off;
}
}

3.启动nginx
创建缓存目录
mkdir -p /var/cache/nginx/cache_temp
mkdir /var/cache/nginx/proxy_cache

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
nginx -t   检查配置文件
nginx   
netstat -anpt | grep nginx

service firewalld stop
setenforce 0



测试

验证代理:win7客户机80.79访问nginx反向代理服务器地址80.81
可以看到web服务器80.82内容

验证缓存:在nginx反向代理服务器192.168.80.81上

ls /var/cache/nginx/proxy_cache  //使TAB键向后补全文件夹,可以验证1位文件夹名下的两位文件夹名下的缓存文件

http://192.168.80.81/purge/                        //用来清除缓存。

ls /var/cache/nginx/proxy_cache/              //使TAB键向后补就补不全了

原文地址:http://blog.51cto.com/13469709/2092947

时间: 2024-10-02 09:48:42

centos7.4 搭建nginx反向缓存代理的相关文章

CentOS7下搭建nginx反向代理服务器使得外网可以二级域名访问内网应用

创建nginx的本地yum源 [[email protected] ~]# yum list |grep nginx No package nginx available. [[email protected] ~]# //给跪了,什么鬼,怎么没有nginx的rpm?算了,直接自己手动配一个官网repo吧 [[email protected] ~]# //访问nginx官网,进入dowload页面,翻到底部的Pre-Build Package,选stable version ----------

搭建nginx反向代理用做内网域名转发

基于域名的7层转发的实现(NAT+反向代理) 在实际办公网中,因为出口IP只有一个,要实现对外提供服务的话就必须得做端口映射,如果有多个服务要对外开放的话,这只能通过映射不同端口来区分,这在实际使用过程中非常的痛苦(记忆困难.一一对应关系也没有规律.访问的时候还得加端口),这个痛苦的问题用表格的形式来形象的描述如下: Public IP Public Port Number Internal IP Internal Port Number Note 1.1.1.1 80 192.168.1.10

RHEL6.4 搭建Nginx反向代理服务器

实验需求:使用nginx搭建反向代理服务器,把用户的请求分发给后端的web服务器组192.168.100.1和192.168.100.2 内网web服务器192.168.100.1          内网接口eth0(192.168.1.254) ----------- nginx反向代理服务器------------ 公网客户端1.1.1.1 内网web服务器192.168.100.2           公网接口eth1(1.1.1.254) 一.部署内网的网站服务器192.168.100.

在Centos7上搭建Nginx+rtmp服务器

在VPS服务器上配置一个直播环境,在iOS客户端实现推流到直播服务器,通过VLC播放器实现拉取服务器上的流观看直播. 效果图 Demo_01 Centos7上搭建Nginx+rtmp服务器 今天第一次在Centos7上搭建Nginx+rtmp服务器,以前在Mac上成功搭建,所以今天想在Centos7上试一试,在此记录一下,过程还是比较顺利. (1)准备需要的模块及工具(nginx-rtmp-module,openssl和git) 1.使用yum安装git [root~]# yum -y inst

搭建Nginx反向代理做内网域名转发

由于公司内网有多台服务器的 http 服务要映射到公司外网静态 IP,如果用路由的端口映射来做,就只能一台内网服务器的 80 端口映射到外网 80 端口,其他服务器的 80 端口只能映射到外网的非 80 端口.非 80 端口的映射在访问的时候要域名加上端口,比较麻烦. 我们可以在内网搭建一个Nginx反向代理服务器,将Nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到Nginx反向代理服务器,利用Nginx反向代理将不同域名的请求转发到内网不

在Linux系统下使用Docker以及Weave搭建Nginx反向代理

Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且简单

如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且简单

centos6.5搭建nginx反向代理Apache服务并实现动静分离

Nginx反向代理配置步骤: 一.规划网络拓扑 二.配置Apache服务器 三.配置nginx服务器 四.进行测试   一.规划网络拓扑 二.配置Apache服务器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 安装Apache服务 [[email protected] ~]# yum -y install httpd php 注:由于我们的Apache服务器要负责动态页面的处理,所以要安装PHP.   编辑A

搭建Nginx 反向代理服务器

一.什么是反向代理: 反向代理(Reverse Proxy)是指把Nginx服务器放在互联网接口,负责接收处理用户客户端的请求,然后把请求发往后端的Web server上,返回给用户的数据也要先经过Nginx服务器在发给用户,Nginx可以实现负载均衡和缓存的功能,从而减轻服务器的访问压力. 二.示例图: 三.Nginx服务器配置: 编译安装: 1.tar xvf nginx-1.4.7.tar.gz 2.cd nginx-1.4.7 3../configure   --prefix=/usr