精通Nginx系列
文章平均质量分 89
带你走进高性能Web服务器Nginx的世界,助你成为Nginx技术大佬
冰 河
这个作者很懒,什么都没留下…
展开
-
6.18前夜系统宕机了怎么办?(全程实战,建议收藏)
11台虚拟机,全部安装CentOS 6.8 64位操作系统,1台安装部署Nginx,其他10台作为客户端同时以压满CPU的线程向Nginx发送请求,对Nginx进行压测。没想到,出现问题了!!原创 2021-06-18 08:53:23 · 3974 阅读 · 24 评论 -
【Nginx】实现负载均衡、限流、缓存、黑白名单和灰度发布,这是最全的一篇了!(建议收藏)
冰河带你使用Nginx实现负载均衡、限流、缓存、黑白名单和灰度发布,建议收藏!!原创 2021-04-12 18:35:06 · 5863 阅读 · 15 评论 -
一文搞懂Nginx如何配置Http、Https、WS、WSS!
跟冰河一起学习Nginx配置呀!!原创 2021-03-05 20:21:25 · 4715 阅读 · 0 评论 -
记一次生产环境大面积404问题!
发布到线上的接口服务一直好端端的,今天突然运营反馈说很多功能无法正常使用。经过排查,发现前端调用后端接口时,部分接口出现404的现象。今天,我到公司比较晚,肯定是哪个小伙伴昨晚下班,走出办公室前没有祈祷服务器不要出问题。要把这个人揪出来,吊在服务器上——祭天!原创 2021-02-26 20:44:23 · 1789 阅读 · 0 评论 -
【Nginx】冰河又一本超硬核Nginx PDF教程免费开源!!
满满的干货原创 2020-09-18 23:24:52 · 1091 阅读 · 1 评论 -
【Nginx】面试官:给我讲讲Nginx如何实现四层负载均衡?
Nginx如何实现四层负载均衡,你想要的都在这儿了!原创 2020-09-06 10:58:31 · 967 阅读 · 0 评论 -
【Nginx】如何基于主从模式搭建Nginx+Keepalived双机热备环境?这是最全的一篇了!!
写在前面最近出版了《海量数据处理与大数据技术实战》,详情可以关注 冰河技术 微信公众号,查看《我的《海量数据处理与大数据技术实战》出版啦!》一文。也有不少小伙伴让我更新一篇基于主从模式搭建Nginx+Keepalived双机热备的环境,怎么办呢?那必须安排上啊!不多说了,我们直接进入正文。负载均衡技术负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行。由于业务扩展,网站的访问量不断加大,原创 2020-09-01 22:29:07 · 1207 阅读 · 2 评论 -
【Nginx】如何使用自签CA配置HTTPS加密反向代理访问?看了这篇我会了!!
写在前面随着互联网的发展,很多公司和个人越来越重视网络的安全性,越来越多的公司采用HTTPS协议来代替了HTTP协议。为何说HTTPS协议比HTTP协议安全呢?小伙伴们自行百度吧!我就不说了。今天,我们就一起来聊聊如何使用自签CA配置Nginx的HTTPS加密反向代理。咳咳,小伙伴们快上车。如果这篇文章对你有所帮助,请文末留言,点个赞,给个在看和转发,大家的支持是我持续创作的最大动力!Nginx实现HTTPS出于安全访问考虑,采用的CA是本机Openssl自签名生成的,因此无法通过互联网工信Ro原创 2020-08-21 20:38:09 · 854 阅读 · 3 评论 -
【高并发】如何设计一个支撑高并发大流量的系统?这次我将设计思路分享给大家!
写在前面最近不少小伙伴们都在问我:高并发专题我学了不少文章了,但是如何设计一个高并发的系统我还是一脸懵逼!这个问题怎么解决呢?其实,相信不只是问我的这些小伙伴有这个困惑,就连工作(入坑)了好几年的开发人员也都有这样的困惑:我学习了很多的高并发课程,也看了不少的高大上的文章,可就是不知道怎么去设计一个支撑高并发大流量的系统。针对小伙伴们的疑惑,这里,我就把一些设计高并发大流量的常规思路分享给大家,不一定完全正确,设计高并发大流量系统本来就是一个仁者见仁、智者见智的事情,只要是符合自身业务场景的架构思路,都原创 2020-07-26 20:45:28 · 1490 阅读 · 0 评论 -
【Nginx】如何实现Nginx的高可用负载均衡?看完我也会了!!(文末有福利)
写在前面不得不说,最近小伙伴们的学习热情是越来越高,不断向冰河提出新的想学习的技术。这不,又有小伙伴问我:冰河,你在【Nginx专题】写的文章基本上都是Nginx单机版的,能不能写一篇关于Nginx的高可用的文章呢?我:没问题,安排上!这不,就有了这篇文章!!Keepalived 简要介绍Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。Keepalived 以 VR原创 2020-07-25 21:18:42 · 1221 阅读 · 0 评论 -
【Nginx】如何使用Nginx搭建流媒体服务器实现直播?看完这篇我会了!!
写在前面最近几年,直播行业比较火,无论是传统行业的直播,还是购物、游戏、教育,都在涉及直播。作为在互联网行业奋斗了多年的小伙伴,你有没有想过如果使用Nginx搭建一套直播环境,那我们该如何搭建呢?别急,接下来,我们就一起使用Nginx来搭建一套直播环境。安装Nginx注意:这里以CentOS 6.8服务器为例,以root用户身份来安装Nginx。1.安装依赖环境yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl b原创 2020-07-23 22:42:45 · 1400 阅读 · 3 评论 -
【Nginx】图片显示过慢,文件下载不完全,竟然是Nginx的锅!!
写在前面最近,一名读者跟我说他通过浏览器访问自己的服务器时,图片显示的非常慢,以至于在浏览器中都无法完全加载出来,下载文件时,更是恼火,文件根本就无法完全下载下来。而且奇怪的是这位读者所在的网络是没啥问题的。于是,我便开始帮他排查各种问题。。。问题定位经过一系列的排查(中间过程我就省略了,直接写重点了!),最终定位到是Nginx的问题。当我打开这位读者的网站后台管理系统,发现图片显示非常慢,在Nginx前端代理上查出如下错误信息。[error] 28423#0: *5 connect() fai原创 2020-07-21 18:19:00 · 3167 阅读 · 1 评论 -
【Nginx】还不会使用Nginx解决跨域问题?肝这一篇就够了!!
当今互联网行业,大部分Web项目基本都是采用的前后端分离模式。前端为H5项目,后端为Java、PHP、Python等项目。而且大部分后端服务并不会只部署一套服务,而是会采用Nginx对后端服务进行负载均衡。那么,此时就会出现一个问题了:如果一个请求url的 协议、域名、端口 三者之间任意一个与当前页面url不同就会产生跨域的现象。那么如何使用Nginx解决跨域问题呢?接下来,我们就一起探讨下这个问题。原创 2020-07-21 00:00:00 · 1633 阅读 · 0 评论 -
【Nginx】如何使用Nginx实现MySQL数据库的负载均衡?看完我懂了!!
写在前面Nginx能够实现HTTP、HTTPS协议的负载均衡,也能够实现TCP协议的负载均衡。那么,问题来了,可不可以通过Nginx实现MySQL数据库的负载均衡呢?答案是:可以。接下来,就让我们一起探讨下如何使用Nginx实现MySQL的负载均衡。前提条件注意:使用Nginx实现MySQL数据库的负载均衡,前提是要搭建MySQL的主主复制环境,关于MySQL主主复制环境的搭建,后续会在MySQL专题为大家详细阐述。这里,我们假设已经搭建好MySQL的主主复制环境,MySQL服务器的IP和端口分别原创 2020-07-19 18:10:34 · 3979 阅读 · 3 评论 -
【Nginx】面试官问我Nginx如何配置WebSocket?我给他现场演示了一番!!
写在前面当今互联网领域,不管是APP还是H5,不管是微信端还是小程序,只要是一款像样点的产品,为了增加用户的交互感和用户粘度,多多少少都会涉及到聊天功能。而对于Web端与H5来说,实现聊天最简单的就是使用WebSocket了。而在实现WebSocket聊天的过程中,后台也往往会部署多个WebSocket服务,多个WebSocket服务之间,可以通过Nginx进行负载均衡。今天,我们就来一起说说Nginx是如何配置WebSocket的。Nginx配置WebSocketNginx配置WebSocket原创 2020-07-18 01:08:22 · 2122 阅读 · 0 评论 -
【Nginx】如何格式化日志并推送到远程服务器?看完原来很简单!!
写在前面Nginx作为最常用的反向代理和负载均衡服务器,被广泛的应用在众多互联网项目的前置服务中,很多互联网项目直接将Nginx服务器作为整个项目的流量入口。这就使得我们可以通过对Nginx服务器日志的分析,就可以分析出整个网站的访问总量、PV、UV、VV等信息。实际上,企业的业务线众多,很难使用一台Nginx服务器来代理所有的线上服务,这就导致企业会在线上部署多台Nginx服务器。而我们如果想分析所有Nginx服务器的总流量信息时,如果分别对每个Nginx服务器进行分析,再汇总所有的信息,一方面增加了原创 2020-07-16 13:55:56 · 1285 阅读 · 0 评论 -
【Nginx】如何为已安装的Nginx动态添加模块?看完我懂了!!
写在前面很多时候,我们根据当时的项目情况和业务需求安装完Nginx后,后续随着业务的发展,往往会给安装好的Nginx添加其他的功能模块。在为Nginx添加功能模块时,要求Nginx不停机。这就涉及到如何为已安装的Nginx动态添加模块的问题。本文,就和小伙伴们一起探讨如何为已安装的Nginx动态添加模块的问题。为Nginx动态添加模块这里以安装第三方ngx_http_google_filter_module模块为例。Nginx的模块是需要重新编译Nginx,而不是像Apache一样配置文件引用.原创 2020-07-15 09:17:17 · 1419 阅读 · 0 评论 -
【Nginx】如何配置Nginx日志?这是最全面的一篇了!!
写在前面日志对于统计排错来说非常有利的。本文总结了 Nginx 日志相关的配置如 access_log、 log_format、open_log_file_cache、 log_not_found、 log_subrequest、 rewrite_log、 error_log。配置Nginx日志Nginx 有一个非常灵活的日志记录模式。每个级别的配置可以有各自独立的访问日志。日志格式通过 log_format命令来定义。 ngx_http_log_module 是用来定义请求日志格式的。ac原创 2020-07-15 00:26:22 · 1721 阅读 · 0 评论 -
【Nginx】如何按日期分割Nginx日志?看这一篇就够了!!
写在前面Nginx是没有以日期格式作为文件名来存储的,也就是说,Nginx不像Tomcat,每天自动生成一个日志文件,所有的日志都是以一个名字来存储,时间久了日志文件会变得很大。这样非常不利于分析。虽然nginx没有这个功能但我们可以写一个小脚本配合计划任务来达到这样的效果。即让Nginx每天产生一个日志文件,方便我们进行后续的数据分析。分割Nginx日志首先,我们要创建一个脚本文件,用来分割Nginx日志,具体脚本如下:vim /usr/local/nginx-1.19.1/cutnginxl原创 2020-07-14 13:20:32 · 2558 阅读 · 0 评论 -
【Nginx】如何封禁IP和IP段?看完这篇我会了!!
写在前面Nginx不仅仅只是一款反向代理和负载均衡服务器,它还能提供很多强大的功能,例如:限流、缓存、黑白名单和灰度发布等等。在之前的文章中,我们已经介绍了Nginx提供的这些功能。小伙伴们可以到【Nginx专题】进行查阅。今天,我们来介绍Nginx另一个强大的功能:禁用IP和IP段。禁用IP和IP段Nginx的ngx_http_access_module 模块可以封配置内的ip或者ip段,语法如下:deny IP;deny subnet;allow IP;allow subnet;#原创 2020-07-13 14:25:19 · 6841 阅读 · 1 评论 -
【Nginx】面试官竟然问我Nginx如何生成缩略图,还好我看了这篇文章!!
写在前面今天想写一篇使用Nginx如何生成缩略图的文章,想了半天题目也没想好,这个题目还是一名读者帮我起的。起因就是这位读者最近出去面试,面试官正好问了一个Nginx如何生成缩略图的问题。还别说,就是这么巧呀!!就冲这标题,也要写一篇干货满满的技术好文!!关于Nginx的安装,小伙伴们可以参考《【Nginx】实现负载均衡、限流、缓存、黑白名单和灰度发布,这是最全的一篇了!》还有就是,小伙伴们如果对文章有什么好的建议和意见,或者在阅读文章时,有什么疑问,都可以在留言区进行留言!!生成缩略图方案原创 2020-07-12 15:31:17 · 1739 阅读 · 1 评论 -
【Nginx】如何获取客户端真实IP、域名、协议、端口?看这一篇就够了!
写在前面Nginx最为最受欢迎的反向代理和负载均衡服务器,被广泛的应用于互联网项目中。这不仅仅是因为Nginx本身比较轻量,更多的是得益于Nginx的高性能特性,以及支持插件化开发,为此,很多开发者或者公司基于Nginx开发出了众多的高性能插件。使用者可以根据自身的需求来为Nginx指定某款插件以增强Nginx在某种特定场景下的功能或者提升Nginx在某种特定场景下的性能。Nginx获取客户端信息注意:本文中的客户端信息指的是:客户端真实IP、域名、协议、端口。Nginx反向代理后,Servle原创 2020-07-10 14:54:37 · 9310 阅读 · 4 评论 -
Hadoop之——Flume采集Nginx日志到Hive的事务表
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/97975539注意:笔者这里使用的各软件版本为:Hadoop 3.2.0、Flume 1.9.0、Hive 2.3.5、Nginx 1.17.2。简单流程示意图如下:1.Nginx数据格式有关Nginx的安装和配置可以参见博文《Nginx+Tomcat+Memc...原创 2019-07-31 23:25:02 · 1341 阅读 · 0 评论 -
Nginx之——封ip,禁用IP段的设置说明
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/90371134nginx的ngx_http_access_module 模块可以封配置内的ip或者ip段,语法如下:deny IP;deny subnet;allow IP;allow subnet;# block all ipsdeny all;# a...原创 2019-05-20 11:16:10 · 43308 阅读 · 1 评论 -
Nginx之——日志切割脚本
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80087437按天切割日志,每天生成一个日志文件#!/bin/sh# Program:# Auto cut nginx log script. # nginx日志路径 LOGS_PATH=/usr/local/nginx-1.9.3/logsTODAY=$(da...原创 2018-04-25 23:07:28 · 831 阅读 · 0 评论 -
Nginx之——日志配置
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80087192日志对于统计排错来说非常有利的。本文总结了 nginx 日志相关的配置如 access_log、 log_format、open_log_file_cache、 log_not_found、 log_subrequest、 rewrite_log、 error_log...原创 2018-04-25 22:54:27 · 693 阅读 · 0 评论 -
Nginx之——为已安装nginx动态添加模块
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/78998859这里以安装第三方ngx_http_google_filter_module模块为例nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so1. 下载第三方扩展模块ngx_http_google_filter_module原创 2018-01-07 23:58:29 · 12771 阅读 · 1 评论 -
docker+fastdfs+nginx 实现分布式大文件存储系统以及视频缓存播放
废话不多说,直接开撸首先是一些准备工作:1.关闭防火墙service iptables stop--- fastdfs虽然在docker部署,但是使用的是主机网络,所以关闭防火墙。2 下载fastdfs镜像docker pull season/fastdfs3cd /varmkdir /fdfs所有的文件存放在/var/fdfs中 目录清晰3....转载 2020-04-19 14:42:24 · 1775 阅读 · 0 评论 -
Nginx之——格式化日志并将日志推送到远程服务器
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/100041022不废话,直接上配置吧,在Nginx需要新增的配置如下。log_format common "$remote_addr,$http_ip,$http_mac,$time_local,$status,$request_length,$bytes_sent,$b...原创 2019-08-23 16:15:59 · 1289 阅读 · 0 评论 -
Nginx之——获取客户端的真实IP
为了获取客户端的真实IP。该模块需要安装read_ip模块,运维应该默认有安装。没有的话也可自行安装: 配置方式相当简单,重新编译 Nginx 加上 --with-http_realip_module 参数,如:./configure --prefix=/opt/nginx --with-http_stub_status_module --with-pcre=../pcre-6.6 --w...转载 2019-06-14 17:47:31 · 1862 阅读 · 0 评论 -
Nginx之——限流配置说明和实战案例
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/91988761Nginx官方版本限制IP的连接和并发分别有两个模块:limit_req_zone 用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 "leaky bucket"。 limit_req_conn 用来限制同一时间连接数,即并发限制。limit_req...原创 2019-06-14 17:29:16 · 831 阅读 · 0 评论 -
Nginx之——lua连接redis集群
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/90605049连接redis集群需要用到llua-resty-redis-cluster模块github地址:https://github.com/cuiweixie/lua-resty-redis-cluster下载完成后,只需要用到包中2个文件rediscluste...原创 2019-05-27 16:00:00 · 4454 阅读 · 2 评论 -
Nginx之——负载均衡、限流、缓存、黑名单和灰度发布
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/90523813一、Nginx安装(基于CentOS 6.5)1.yum命令安装yum install nginx –y(若不能安装,执行命令yum install epel-release)2. 启动、停止和重启service nginx starts...原创 2019-05-24 22:23:36 · 1059 阅读 · 1 评论 -
Nginx之——配置转发代理接口
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/89961174Nginx可以配置多个服务器,一个Server就是一个服务器server { listen 80; server_name *.yourdomain.com; ....}代理转发实在server下面的loc...原创 2019-05-08 16:58:06 · 28376 阅读 · 3 评论 -
Nginx之——配置WebSocket
Nginx配置WebSocket反向代理问题描述目前项目中需要使用到WebSocket来进行通讯,所以就写了个Nginx反向代理WebSocket的配置文件.很简单,但是很有效,能够横向扩展WebSocket服务端先直接展示配置文件,如下(使用的话直接复制,然后改改ip和port即可)map $http_upgrade $connection_upgrade { defau...转载 2019-01-25 17:31:31 · 7539 阅读 · 2 评论 -
Nginx之——生成缩略图配置
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80114630为了手机端浏览到与手机分辨率相匹配的图片,提高 app 访问速度以及减少用户的手机流量,需要将图片生成缩略图,这边共有以下解决方案。A.发布新闻生成多重缩略图 – 无法匹配到各种尺寸图片B.当相应缩略图不存在,则使用 php 或者 java 等程序生成相应缩略图 – ...原创 2018-04-27 23:04:48 · 3287 阅读 · 1 评论 -
Nginx之——如何安装第三方模块
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80114319nginx 第三方模块安装方法:./configure --prefix=/你的安装目录 --add-module=/第三方模块目录以安装 pagespeed 模块实例在未安装 nginx 的情况下安装 nginx 第三方模块# ./configure --prefi...原创 2018-04-27 22:33:58 · 1781 阅读 · 1 评论 -
Nginx之——Nginx+keepalived双机热备(主从模式)
负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行。由于业务扩展,网站的访问量不断加大,负载越来越高。现需要在web前端放置nginx负载均衡,同时结合keepalived对前端nginx实现HA高可用。1)nginx进程基于Master+Slave(worker)多进程模型,自身具有非常稳定...转载 2018-04-26 19:30:57 · 12371 阅读 · 0 评论 -
Nginx之——正向代理
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80098048我们平时用的最多的最常见的是反向代理。反向代理想必都会配置的,有不会的可以到本博客里面搜索下,有相关文档。 那么 nginx 的正向代理是如何配置的呢?server { listen 8090; location / { resolver 218.85.157...原创 2018-04-26 18:51:09 · 1295 阅读 · 1 评论 -
Nginx之——tcp代理
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80098007nginx tcp 代理功能由 nginx_tcp_proxy_module 模块提供,同时监测后端主机状态。该模块包括的模块有:ngx_tcp_module, ngx_tcp_core_module, ngx_tcp_upstream_module, ngx_tcp...原创 2018-04-26 18:49:00 · 6358 阅读 · 0 评论