高性能Web服务器Nginx使用指南(10)

user nobody nobody;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
 
events {
    use epoll;
    worker_connections 1024;
}
 
http {
    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  /var/log/nginx/access.log  main;
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay        on;
    keepalive_timeout  65;
    types_hash_max_size 2048;
    include            /etc/nginx/mime.types;
    default_type        application/octet-stream;
   
    server {
        listen      80;
        server_name  web2.linux.com;
        root        /data/web;
 
        location / {
            index index.html;
        }
    }

然后在节点2的web根目录下创建index.html文件。

[root@CentOS7 ~]# echo "this is web2" > index.html

这样负载均衡服务器和后端服务器已经搭建完成,现在在浏览器中输入负载均衡服务器的ip,不停地刷新,结果会交替返回节点1和节点2的web页面。

高性能Web服务器Nginx使用指南

高性能Web服务器Nginx使用指南

8.Nginx的缓存服务器应用

这里使用的是Nginx自带的缓存模块,通过proxy_cache指令来实现。用于反向代理时对后端web服务器进行缓存。这里的实验以前一小节搭建负载均衡服务器为前提。在负载均衡服务器上设置缓存。nginx.conf文件中增加的内容如下:

http {
    ...
    proxy_cache_path    /data/cache levels=1:2 keys_zone=cache_one:1m inactive=1h max_size=1g;
    proxy_temp_path    /data/temp_cache;
    server {
        ...
        location / {
        proxy_cache cache_one;
        proxy_cache_valid  200 304 302 12h;
        proxy_cache_key $host$uri$is_args$args;
        proxy_set_header Host $host;
        proxy_set_header X-Forward-For $remote_addr;
        proxy_pass ;
        expires 1d;
      }
    }
}

proxy_cache_path   

    /data/cache        定义缓存文件的目录

    levels=1:2           定义目录深度,并且第一层目录为1个字符,第二层目录为2个字符。

        缓存文件是以proxy_cache_key指令定义的key值进行hash得到的结果,例如生成的缓存文件为f9e228c5ead32aa97fe65df97a5b8196,从文件名的最右边开始,第一层目录的目录名为6,第二层目录的目录名为19。

    keys_zone           cache_one为自定义的缓存区的名称,1m表示内存缓存空间大小为1M

    inactive               定义自动清除没有第二次访问的缓存文件的时间

max_size              当内存缓冲空间不足时,需要将缓存文件放到硬盘中,这里的max_size为存放缓存文件的硬盘空间最大值

proxy_temp_path    定义临时缓存文件路径

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/609fc2f5a92e09977537b71632533576.html