Nginx反向代理和前端全缓存相关配置教程

  • 格式:doc
  • 大小:34.00 KB
  • 文档页数:4

网络资源下载站 / c6j编辑

Nginx反向代理和前端全缓存相关配置教程

最近一直在研究这方面的配置,只是脚本比较复杂。在网上用力找了几天,主要教程还是那些东西。并且有点乱七八糟,笔者进行了一些整理。告诉你最简单的方法,来实现这二个方面的内容:

1.nginx最简单的反向代理脚本

2.nginx最简单的前端缓存反向代理脚本

3.只提供简单应用,自动更新等操作不讲解

4.最简单的脚本,容易学会到渣

切记:配置完成后,需要刷新nginx配置,以下2条命令都可以:

/root/lnmp reload

/etc/init.d/nginx reload

一、最简单的反向代理脚本(只要修改2个网址,存成conf文件放置于vhost下):

server

{

listen 80;

server_name ;

location / {

proxy_pass /;

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

二、最简单的前端全缓存,反向代理脚本

#新建2个目录,放置缓存文件:

mkdir /home/cache/path -p

mkdir /home/cache/temp -p

修改 /usr/local/nginx/conf/nginx.conf 新增以下代码,主要是缓存相关设置,请放置于 http{ ##这里 } 中,一般加在 log_format 上面或下面均可:

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 /home/cache/temp;

proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache_one:500m

inactive=7d max_size=30g;

#500m是内存占用,7d是7天无访问删除,30g是缓存占具硬盘空间

以下为虚拟主机配置文件,可另存成 .conf 放置于 vhost 下面: 网络资源下载站 / c6j编辑

server

{

listen 80;

server_name ; #主机名

location / {

proxy_cache cache_one;

proxy_cache_valid 200 304 3d; #正常状态缓存时间3天

proxy_cache_key $host$uri$is_args$args;

proxy_pass /; #反代的网站

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

expires 10d; #默认10天缓存

access_log /home/wwwlogs/vpsmm.log access; #日志文件

}

}

点击几下网站,df -sh 命令,查看 /home/cache 目录大小,即可测试是否缓存成功。此脚本为前端全缓存,后端动态更新后,前端不会自动修改。可手动清理cache目录下文件。这个方法,可以用纯静态的形式来防CC,如果你的动态博客,受到CC攻击,可以尝试一下。

三、LNMP简单的一些防CC的办法

观看生成的.log日志文件,判断来路,直接301百度:

if rint "iptables -I INPUT -p tcp --dport 80 -s ", $1, "-j

DROP"}’| sort -n | uniq | sh

文章来源:

以下内容为繁体版 最近一直在研究這方面的配置,隻是腳本比較復雜。在網上用力找瞭幾天,主要教程還是那些東西。並且有點亂七八糟,筆者進行瞭一些整理。告訴你最簡單的方法,來實現這二個方面的內容:

1.nginx最簡單的反向代理腳本

2.nginx最簡單的前端緩存反向代理腳本

3.隻提供簡單應用,自動更新等操作不講解

4.最簡單的腳本,容易學會到渣

切記:配置完成後,需要刷新nginx配置,以下2條命令都可以:

/root/lnmp reload

/etc/init.d/nginx reload

一、最簡單的反向代理腳本(隻要修改2個網址,存成conf文件放置於vhost下):

server

{

listen 80;

server_name ;

location / {

proxy_pass /; 网络资源下载站 / c6j编辑

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

二、最簡單的前端全緩存,反向代理腳本

#新建2個目錄,放置緩存文件:

mkdir /home/cache/path -p

mkdir /home/cache/temp -p

修改 /usr/local/nginx/conf/nginx.conf 新增以下代碼,主要是緩存相關設置,請放置於 http{ ##這裡 } 中,一般加在 log_format 上面或下面均可:

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 /home/cache/temp;

proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache_one:500m

inactive=7d max_size=30g;

#500m是內存占用,7d是7天無訪問刪除,30g是緩存占具硬盤空間

以下為虛擬主機配置文件,可另存成 .conf 放置於 vhost 下面:

server

{

listen 80;

server_name ; #主機名

location / {

proxy_cache cache_one;

proxy_cache_valid 200 304 3d; #正常狀態緩存時間3天

proxy_cache_key $host$uri$is_args$args;

proxy_pass /; #反代的網站

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

expires 10d; #默認10天緩存

access_log /home/wwwlogs/vpsmm.log access; #日志文件

}

}

點擊幾下網站,df -sh 命令,查看 /home/cache 目錄大小,即可測試是否緩存成功。此腳本為前端全緩存,後端動態更新後,前端不會自動修改。可手動清理cache目錄下文件。這個方法,可以用純靜態的形式來防CC,如果你的動態博客,受到CC攻擊,可以嘗試一下。 网络资源下载站 / c6j编辑

三、LNMP簡單的一些防CC的辦法

觀看生成的.log日志文件,判斷來路,直接301百度:

if rint "iptables -I INPUT -p tcp --dport 80 -s ", $1, "-j

DROP"}’| sort -n | uniq | sh

文章來源: