欢迎来到日本小春精选,了解日本先从@日本生活基础课程开始!
欢迎 欢迎     登录 | 注册      消息
当前位置: 首页小组技术交流Nginx反向代理&前端全缓存相关配置教程_LNMP适用

[Linux]Nginx反向代理&前端全缓存相关配置教程_LNMP适用

最近一直在研究这方面的配置,只是脚本比较复杂。在网上用力找了几天,主要教程还是那些东西。并且有点乱七八糟,小夜进行了一些整理。告诉你最简单的方法,来实现这二个方面的内容:<ul><li><a href="http://www.vpsmm.com/tag/nginx" title="nginx" class="hightag" target="_blank">nginx</a>最简单的<a href="http://www.vpsmm.com/tag/proxy" title="反向代理" class="hightag" target="_blank">反向代理</a>脚本</li><li><a href="http://www.vpsmm.com/tag/nginx" title="nginx" class="hightag" target="_blank">nginx</a>最简单的<a href="http://www.vpsmm.com/tag/cache" title="前端缓存" class="hightag" target="_blank">前端缓存</a><a href="http://www.vpsmm.com/tag/proxy" title="反向代理" class="hightag" target="_blank">反向代理</a>脚本</li><li>只提供简单应用,自动更新等操作不讲解</li><li>最简单的脚本,容易学会到渣</li></ul><p>切记:配置完成后,需要刷新<a href="http://www.vpsmm.com/tag/nginx" title="nginx" class="hightag" target="_blank">nginx</a>配置,以下2条命令都可以:</p><pre>/root/lnmp reload
/etc/init.d/nginx reload</pre><p><strong>一、最简单的<a href="http://www.vpsmm.com/tag/proxy" title="反向代理" class="hightag" target="_blank">反向代理</a>脚本</strong>(只要修改2个网址,存成conf文件放置于vhost下):</p><pre class="mtr">server
{
listen          80;
server_name     www.vpsmm.com;
location / {
proxy_pass          http://cache.vpsmm.com/;
proxy_redirect      off;
proxy_set_header    X-Real-IP       $remote_addr;
proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
}
}</pre><p><strong>二、最简单的前端全缓存,<a href="http://www.vpsmm.com/tag/proxy" title="反向代理" class="hightag" target="_blank">反向代理</a>脚本</strong></p><pre>#新建2个目录,放置缓存文件:
mkdir /home/cache/path -p
mkdir /home/cache/temp -p</pre><p>修改 /usr/local/nginx/conf/<a href="http://www.vpsmm.com/tag/nginx" title="nginx" class="hightag" target="_blank">nginx</a>.conf 新增以下代码,主要是缓存相关设置,请放置于 http{ ##这里 } 中,一般加在 log_format 上面或下面均可:</p><pre class="mtr">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是缓存占具硬盘空间</pre><p>以下为虚拟主机配置文件,可另存成 .conf 放置于 vhost 下面:</p><pre class="mtr">server
{
listen          80;
server_name     www.vpsmm.com; #主机名
location / {
proxy_cache cache_one;
proxy_cache_valid  200 304 3d; #正常状态缓存时间3天
proxy_cache_key $host$uri$is_args$args;
proxy_pass          http://cache.vpsmm.com/; #反代的网站
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; #日志文件
}
}</pre><p>点击几下网站,df -sh 命令,查看 /home/cache 目录大小,即可测试是否缓存成功。此脚本为前端全缓存,后端动态更新后,前端不会自动修改。可手动清理cache目录下文件。这个方法,可以用纯静态的形式来防CC,如果你的动态博客,受到CC攻击,可以尝试一下。</p><p><strong>三、<a href="http://www.vpsmm.com/tag/LNMP" title="LNMP" class="hightag" target="_blank">LNMP</a>简单的一些防CC的办法</strong></p><p>观看生成的.log日志文件,判断来路,直接301百度:</p><pre class="mtr">if ($http_referer ~* mi5.gov ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}</pre><p>观看生成的.log日志文件,判断浏览器特征码,直接301百度:</p><pre class="mtr">if ($http_user_agent ~* firefox4.0 ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}</pre><p>根据特征码,直接查找.log文件,并iptables封死相应IP:</p><p class="ssh">cat com.log | grep 'Mozilla/5.0' | awk '{print &quot;iptables -I INPUT -p tcp --dport 80 -s &quot;, $1, &quot;-j DROP&quot;}'| sort -n | uniq | sh</p><br />
2012-11-05 17:20:01 来自:球球
用户评论(0)
正序阅读
你的回应
登录 | 注册