`
jsczxy2
  • 浏览: 1275505 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

Nginx反向代理&前端全缓存相关配置教程【转】

阅读更多

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

 

 

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

 

/root/lnmp reload
/etc/init.d/nginx reload

 

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

 

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;
}
}

 

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

 

#新建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     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; #日志文件
}
}

 

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

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

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

 

if ($http_referer ~* mi5.gov ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}

 

观看生成的.log日志文件,判断浏览器特征码,直接301百度:

 

if ($http_user_agent ~* firefox4.0 ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}

 

根据特征码,直接查找.log文件,并iptables封死相应IP:

cat com.log | grep 'Mozilla/5.0' | awk '{print "iptables -I INPUT -p tcp --dport 80 -s ", $1, "-j DROP"}'| sort -n | uniq | sh

分享到:
评论

相关推荐

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

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

    Nginx 安装配置教程.md

    ### Nginx安装配置教程知识点概述 #### 一、Nginx简介 - **定义**:Nginx是一款开源的Web服务器与反向代理服务器,以其高性能、稳定性、丰富的功能集以及较低的内存消耗而闻名。 - **特性**:具备低资源消耗与高...

    nginx安装依赖及说明.zip

    Nginx的反向代理配置可以非常复杂,包括基于路径、URL、请求参数等多种条件的路由策略,以及缓存、SSL终止、健康检查等功能。因此,理解和熟练掌握Nginx的反向代理配置对于构建高效、可扩展的Web架构至关重要。 综...

    03-nginx虚拟主机配置.zip

    **四、Nginx反向代理** Nginx的反向代理功能允许它作为前端服务器,接收来自客户端的请求,然后转发给后端的应用服务器(如Node.js、PHP-FPM等)。这有助于隐藏后端架构,提高性能和安全性。 配置反向代理时,我们...

    开发程序实现nginx代理节点状态检查及WEB展示

    4. **缓存状态**:如果Nginx配置了缓存,需要查看缓存命中率和存储利用率。 5. **错误日志**:分析Nginx错误日志,可以发现潜在问题,如连接超时、重试、拒绝等。 实现这些检查通常需要编写特定的脚本或程序,可以...

    Nginx权威指南.pdf

    读者将学习到如何通过配置文件来定制Nginx的行为,如设置虚拟主机、处理静态文件、反向代理、负载均衡等。 在服务器块和location块的配置中,Nginx提供了丰富的功能。例如,通过反向代理可以将客户端请求转发到后端...

    Nginx学习丛书 Nginx应用与提高

    《Nginx学习丛书:Nginx应用与提高》是一套深入探讨Nginx服务器的教程,涵盖了Nginx在各种场景下的应用和优化。这套资料的目的是帮助读者全面理解和掌握Nginx的强大功能,提升其在实际工作中的效能。 1. **第3章 ...

    nginx核心教程

    Nginx作为前端缓存服务器,可以显著提升网站性能。基本配置如下: ``` location / { proxy_pass http://backend_server; proxy_cache cache; proxy_cache_key $scheme$host$request_uri; proxy_cache_valid 200 ...

    nginx-1.21.1.zip

    2. **配置文件**:编辑`conf/nginx.conf`,根据实际需求配置服务器块、反向代理、缓存等设置。 3. **启动服务**:执行`nginx.exe`启动Nginx服务。 4. **测试与监控**:使用`nginx -t`测试配置文件的正确性,通过`...

    Nginx与Tomcat配置实现负载均衡.zip

    本教程将详细介绍如何通过Nginx配置实现对Tomcat服务器集群的负载均衡,从而提高系统的稳定性和处理能力。 首先,我们需要理解Nginx和Tomcat各自的角色。Nginx是一款高性能的反向代理服务器和HTTP缓存,它以其高效...

    学习Nginx http server.zip

    - **反向代理**:Nginx可以作为前端服务器,将客户端请求转发到后端多个服务器,隐藏真实服务器集群。 - **负载均衡**:通过轮询、最少连接、IP哈希等策略,Nginx可以将请求分发到不同的服务器,实现负载均衡。 -...

    python基础教程第三版+精通nginx第二版

    Python可以用于开发后端逻辑,而Nginx则可以作为前端代理,负责处理静态内容和转发请求。这种组合在现代Web开发中非常常见,因为Python提供了强大的开发效率,而Nginx则保证了高并发情况下的稳定性和性能。 通过...

    NGINX-NGINX.rar

    - **反向代理**:NGINX可以作为前端服务器,将请求分发到后端多个服务器,提高系统负载均衡。 - **静态文件处理**:NGINX对静态文件的处理效率极高,是处理图片、CSS、JavaScript等资源的理想选择。 - **负载均衡**...

    Nginx中文资料

    Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件代理服务器,因其高效、稳定、低内存占用等特性,在互联网行业中广泛应用。本压缩包文件包含的“Nginx中文资料”是为帮助用户深入理解和操作Nginx而准备的...

    Nginx 应用服务器SSL部署证书视频操作

    Nginx作为一款高性能的HTTP和反向代理服务器,广泛应用于各种规模的企业和项目中。本教程将详细介绍如何在Nginx应用服务器上部署SSL证书,以实现HTTPS安全连接。 1. **理解SSL和TLS** SSL是早期的加密传输协议,而...

    nginx相关资源(参考可选:使用教程、安装部署配置及常见问题说明等).docx

    - **反向代理**:在这一模式下,Nginx 作为前端服务器接收来自客户端的请求,并将其转发给后端的一台或多台服务器。这样做的好处在于能够隐藏后端服务器的具体位置,同时提高系统的安全性和稳定性。 - **负载均衡**...

    nginx负载均衡教程

    - **Nginx简介**:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上很多著名的网站服务器都是Nginx。 - **负载均衡*...

    win7下nginx+tomcat负载均衡

    本教程将详细介绍如何在Win7系统上配置Nginx作为反向代理,实现对多个Tomcat实例的负载均衡。 1. **Nginx介绍** Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、稳定性和高并发处理能力而著名。在负载均衡...

Global site tag (gtag.js) - Google Analytics