nginx缓存以及简单博客搭建

nginx缓存服务器

[root@nginx ~]# vim /etc/nginx/nginx.conf
    upstream test{
        server 192.168.10.21;
    }
    proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=test:20m max_size=1g;
    server {       
        listen       80;       
        server_name  localhost;       
        #charset koi8-r;       
        #access_log  logs/host.access.log  main;       
        location / {               
           proxy_pass http://test;
           proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
           proxy_set_header X-real-ip    $remote_addr;
           proxy_cache test;
           proxy_cache_valid 200 10m;     
        }
    }

2.指令说明
proxy_cache_path
语法:proxy_cache_path path [levels=number] keys_zone=zone_name:zone_size [inactive=time] [max_size=size];
默认值:None
使用字段:http
指令指定缓存的路径和一些其他参数,缓存的数据存储在文件中,并且使用代理url的哈希值作为关键字与文件名。levels参数指定缓存的子目录数,例如:
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;
文件名类似于:/data/nginx/cache/c/29/b7f54b2df7773722d382f4809d65029c
levels指定目录结构,可以使用任意的1位或2位数字作为目录结构,如 X, X:X,或X:X:X 例如: “2”, “2:2”, “1:1:2“,但是最多只能是三级目录。
所有活动的key和元数据存储在共享的内存池中,这个区域用keys_zone参数指定。one指的是共享池的名称,10m指的是共享池的大小。
注意每一个定义的内存池必须是不重复的路径,例如:
proxy_cache_path /data/nginx/cache/one levels=1 keys_zone=one:10m;
proxy_cache_path /data/nginx/cache/two levels=2:2 keys_zone=two:100m;
proxy_cache_path /data/nginx/cache/three levels=1:1:2 keys_zone=three:1000m;
如果在inactive参数指定的时间内缓存的数据没有被请求则被删除,默认inactive为10分钟。一个名为cache manager的进程控制磁盘的缓存大小,它被用来删除不活动的缓存和控制缓存大小,这些都在max_size参数中定义,当目前缓存的值超出max_size指定的值之后,超过其大小后最少使用数据(LRU替换算法)将被删除。内存池的大小按照缓存页面数的比例进行设置,一个页面(文件)的元数据大小按照操作系统来定,如FreeBSD/i386下为64字节,FreeBSD/amd64下为128字节。

proxy_cache
语法:proxy_cache zone_name;
默认值:None
使用字段:http, server, location
设置一个缓存区域的名称,一个相同的区域可以在不同的地方使用。
在0.7.48后,缓存遵循后端的”Expires”, “Cache-Control: no-cache”, “Cache-Control: max-age=XXX”头部字段,0.7.66版本以后,”Cache-Control:“private”和”no-store”头同样被遵循。nginx在缓存过程中不会处理”Vary”头,为了确保一些私有数据不被所有的用户看到,后端必须设置 “no-cache”或者”max-age=0”头,或者proxy_cache_key包含用户指定的数据如$cookie_xxx,使用cookie的值作为proxy_cache_key的一部分可以防止缓存私有数据,所以可以在不同的location中分别指定proxy_cache_key的值以便分开私有数据和公有数据。
缓存指令依赖代理缓冲区(buffers),如果proxy_buffers设置为off,缓存不会生效。

proxy_cache_valid
语法:proxy_cache_valid reply_code [reply_code …] time;
默认值:None
使用字段:http, server, location
为不同的应答设置不同的缓存时间,例如:
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
为应答代码为200和302的设置缓存时间为10分钟,404代码缓存1分钟。
如果只定义时间:
proxy_cache_valid 5m;
那么只对代码为200, 301和302的应答进行缓存。
同样可以使用any参数任何应答。
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;

3.新建缓存目录
[root@nginx ~]# mkdir /usr/local/nginx/cache
4.重新加载一下配置文件

5.测试

附录

实验:搭建个人博客
一. 安装nginx https://blog.csdn.net/qq_43377292/article/details/86289460
二. 安装mysql https://blog.csdn.net/qq_43377292/article/details/86494103
三.安装php

    # tar xf php-5.6.30.tar.gz 
    # cd php-5.6.30
    # ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql5535 --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm
    # make && make install
    # cp php.ini-development /usr/local/php5/php.ini
    # cd /usr/local/php5/etc/
    # cp php-fpm.conf.default  php-fpm.conf

四. 配置nginx支持php
# vim /usr/local/nginx/conf/nginx.conf

    server {
        listen       80;
        server_name  localhost;
        
        location / {
            root   html;
            index  index.html index.htm index.php;  \\加上index.php
        }
        
        location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
        include        fastcgi_params;
        }
        }

五. 创建数据库

        > create database wp;
        > grant all on wp.* to wpadmin@'%' identified by '123';
        > flush privileges;

六. 配置PHP

  # vim /usr/local/php5/etc/php-fpm.conf
       user = nginx
       group = nginx
       pm.max_children = 50
       pm.start_servers = 20
       pm.min_spare_servers = 5
       pm.max_spare_servers = 35

七. 部署WEB应用

     # cp wordpress-4.5.3-zh_CN.tar.gz  /usr/local/nginx/html/
     # cd /usr/local/nginx/html/
     # tar xf wordpress-4.5.3-zh_CN.tar.gz 

八. 启动服务

    # /usr/local/nginx/sbin/nginx 
    # /usr/local/php5/sbin/php-fpm

九. 进WEB页面安装

    打开浏览器进入http://192.168.10.21/wordpress
 # vim /usr/local/nginx/html/wordpress/wp-config.php 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值