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 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
文章来源:http://www.vpsmm.com
Nginx的反向代理配置文件在哪儿
Failed to load resource: the server responded with a status of 413 (Request Entity Too Large)这源于请求的实体大小超过了服务器配置的缓存限制和最大客户端请求大小。排查与确认:首先,检查服务器是否使用了Nginx作为反向代理。接下来,我们将深入探讨解决策略。解决方案:Nginx配置调整1. 打开Nginx...
如何手动配置nginx以实现反向代理功能?
第5章<\/: 模块配置<\/ 研究rewrite模块,了解正则表达式和条件结构。探讨ssi模块、ssl与安全模块,以及第三方模块的使用。第6章<\/: Nginx与PHP、Python<\/ 了解fastcgi入门,配置Nginx与PHP-FPM,以及与Python和Django的集成。第7章<\/: Nginx与Apache<\/ 学习Nginx作为反向代理的功能,配置Apache与Nginx以...
nginx的反向代理和负载均衡的区别是什么
负载均衡是通过反向代理来实现 反向代理的后端服务器可以是1台,也可以是多台 而如果要做负载均衡,后端服务器至少有2台,这样才可以对请求进行合理的分配 负载均衡是通过反向代理的方式,让nginx通过指定的方式将请求代理到不同的后端服务器上,以使得各个机器的负载得到均衡 ...
Nginx反向代理的使用及原理
这种方式有点类似于目前的“三只松鼠”等网络直销平台的逻辑,顾客发送芒果干的请求给三只松鼠,三只松鼠从全国进行供货商的选择,拿到货品后再打上三只松鼠的logo转交给顾客,实现反向的代理,代理的是供货商,顾客不知道具体的供应商是谁(所以才会要求包装上需要印上供应商的名称和地址,要不然出问题都...
谁能解释一下nginx反向代理是什么意思?
nginx反向代理的意思:就是代理内部服务器对外进行服务的 nginx 代理服务。nginx反向代理的反向性在于:Nginx作为负载均衡服务时Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。反向代理的方向与正向代理相反,代表外部网络用户向内部服务器发出请求,即...
nginx反向代理三种模式
1、基于IP代理 2、基于域名代理 3、基于端口代理 Nginx是一款轻量级的Web 服务器\/反向代理服务器及电子邮件(IMAP\/POP3)代理服务器,其特点是占用内存少,并发能力强,是我们在Web开发中最常用的工具之一。Nginx反向代理的主要作用 Nginx配置反向代理时,是安装在目的主机端,主要用于转发客户机请求,后台有...
如何使用nginx设置反向代理
反向代理(ReverseProxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。修改部署目录下conf子目录的nginx.conf文件(如nginx-13\\conf\\nginx.conf)内容,可调整...
haproxy和nginx的区别
Nginx由于其易于配置和强大的静态文件处理能力,更适用于静态内容较多的网站场景,如图片站、视频站等。此外,它也可以作为后端应用的反向代理服务器和负载均衡器使用。其高效处理HTTP请求的能力使其成为现代Web架构中的关键组件之一。总结来说,HAProxy和Nginx各有优势,选择哪种服务器取决于具体的应用场景和...
正向代理、反向代理、负载均衡(转载)
具体的拓扑图如下:截了一张图来说明正向代理和反向代理二者之间的区别,如下图:我们已经明确了所谓代理服务器的概念,那么接下来,Nginx 扮演了反向代理服务器的角色,它是依据什么样的规则进行请求分发的呢?不用的项目应用场景,分发的规则是否可以控制呢?这里提到的客户端发送的、Nginx 反向代理服务器...
如何使用nginx设定反向代理
#禁用快取 proxy_buffering off; #设定反向代理的地址 proxy_pass :192.168.1.1; } 代理地址根据实际情况修改。如何使用Nginx反向代理使用SSL配置Jenkins 根据ssl.key和ssl.crt部署nginx 首先nginx需要支援ssl_module,然后修改nginx.conf如下 server { listen 443;server_name localhost;ssl...
茌绍维柳: 一般来说公网延迟高,客户端与nginx之间的请求连接走公网,nginx先把这些请求缓存住,等这些请求数据全部完成之后nginx再向内网服务器请求,降低公网网络延迟成本,同时也降低一个连接占用服务端程序的时间.原因:因为tcp不一定一次就能把全部数据传输完毕,所以一个连接可能需要等待很久才能把所有需要的数据都传输完毕,而这样的空闲连接如果都直接连 接到服务器上的话,会加重服务器负担,而nginx在这方面做了很大的优化,可以承载更多的连接,空闲连接也不会占据太多内存,所以nginx作为反向代 理能降低上游服务器的负载.
右江区18764343231: 谁能解释一下nginx反向代理是什么意思? - ?
茌绍维柳: nginx反向代理的意思:就是代理内部服务器对外进行服务的 nginx 代理服务. nginx反向代理的反向性在于:Nginx作为负载均衡服务时Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务...
右江区18764343231: web缓存有哪几种方式 - ?
茌绍维柳: 1 应用程序实现的动态页面缓存 应用程序把动态文件生成的html文件缓存到文件服务器,以后用户请求动态文件,直接从文件服务器加载对应的静态缓存的html文件返回给用户,这里面主要节省了动态语言的执行时间和数据库访问时间.但是会...
右江区18764343231: Nginx 反向代理为什么可以提高网站性能 - ?
茌绍维柳: nginx对高并发表现较好,nginx反向代理可以用于实现负载均衡 相当于把nginx做为入口服务器,后面均衡多台网站或业务服务器,把用户访问压力分散到多台服务器上 即使其中一台服务器宕机、不会影响网站正常运行 可以参考下实例:http://www.tocus.com.cn/?send=article_show&id=160&class=1 nginx还是挺牛b的
右江区18764343231: nginx会不会影响web服务器自身缓存性能 - ?
茌绍维柳: Nginx从0.7.48版本开始,支持了类似Squid的缓存功能.这个缓存是把URL及相关组合当作Key,用md5编码哈希后保存在硬盘上,所以它可以支持任意URL链接,同时也支持404/301/302这样的非200状态码.虽然目前官方的Nginx Web缓存服...
右江区18764343231: nginx能实现soket反向代理吗 - ?
茌绍维柳: nginx能实现soket反向代理 通过这个模块,代理后端其它协议应用,如mysql, nosql之类的 比如用Node.JS写了一些TCP服务,那么Nginx就可以给这些Node.JS做TCP代理,比如开启多个Node.JS监听不同的端口,经过Nginx TCP代理到...
右江区18764343231: nginx的反向代理和负载均衡的区别是什么 - ?
茌绍维柳: 负载均衡需要通过反向代理来实现 反向代理就是指nginx作为前端服务器,将请求转发到后端,再将后端服务器的结果,返回给客户端 它在中间做了一个代理服务器的角色 负载均衡对反向代理增加了一些策略,因为后端是多台服务器,nginx会根据设定的策略将请求转发给一个相对空闲的服务器,对负载进行分流,减轻服务器压力
右江区18764343231: 请教问题nginx反向代理proxy - ?
茌绍维柳: 下面是Nginx反向代理缓存Proxy Cache配置文件范例,仅供参考,源站点在美国,用日本的vps做Nginx代理缓存测试,实际测试效果不错. 要注意proxy_temp_path和proxy_cache_path目录本身和上级目...
右江区18764343231: nginx 反代里缓存怎么清理?
茌绍维柳: /etc/init.d/nginx restart 一、最简单的反代脚本(无缓存): server { listen 80; server_name mjj.jybb.me; #你要绑定的域名 location / { proxy_pass http://www.baidu.com/; #你要反代的域名 proxy_redirect off; proxy_set_header X-Real-IP $remote_...
右江区18764343231: 路由怎么设置nginx反向代理 - ?
茌绍维柳: 如已经安装好了nginx相关的环境,现仅展示相关的反向代理的配置.默认nginx.confi的配置,可能与下面的图会有不同,重要的是后面的配置. 已经安装好了nginx相关的环境,现仅展示相关的反向代理的配置.默认nginx.confi的配置,可能与...