首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
Nginx日志推送到远程服务器
Nginx获取客户端真实IP、域名、协议、端口
负载均衡、限流、缓存、黑白名单和灰度发布
Nginx生成缩略图
Nginx封禁IP和IP段
按日期分割Nginx日志
配置Nginx日志
为已安装的Nginx动态添加模块
Nginx配置WebSocket
Nginx实现MySQL数据库负载均衡
Nginx解决跨域问题
Nginx搭建流媒体服务器
Nginx支持高并发配置
Nginx的高可用负载均衡
当前位置:
首页>>
技术小册>>
Nginx典型应用场景
小册名称:Nginx典型应用场景
Nginx作为最常用的反向代理和负载均衡服务器,被广泛的应用在众多互联网项目的前置服务中,很多互联网项目直接将Nginx服务器作为整个项目的流量入口。这就使得我们可以通过对Nginx服务器日志的分析,就可以分析出整个网站的访问总量、PV、UV、VV等信息。 实际上,企业的业务线众多,很难使用一台Nginx服务器来代理所有的线上服务,这就导致企业会在线上部署多台Nginx服务器。而我们如果想分析所有Nginx服务器的总流量信息时,如果分别对每个Nginx服务器进行分析,再汇总所有的信息,一方面增加了分析的复杂度,另一方面也不好维护这些日志信息。所以,大部分企业会将这些日志信息统一汇总到某个数据存储集群中,以方便的进行数据存储、维护与分析统计。 那么如何对Nginx的日志进行格式化并推送到远程的服务器呢? ###配置Nginx 格式化Nginx日志并推送到远程服务器,其实很简单,我们只需要在Nginx服务器的配置文件nginx.conf中进行简单的配置即可。例如,我们可以在nginx.conf文件中添加如下配置。 ``` log_format common "$remote_addr,$http_ip,$http_mac,$time_local,$status,$request_length,$bytes_sent,$body_bytes_sent,$http_user_agent,$http_referer,$request_method,$request_time,$request_uri,$server_protocol,$request_body,$http_token"; log_format main "$remote_addr,$http_ip,$http_mac,$time_local,$status,$request_length,$bytes_sent,$body_bytes_sent,$http_user_agent,$http_referer,$request_method,$request_time,$request_uri,$server_protocol,$request_body,$http_token"; access_log logs/access.log common; access_log syslog:server=192.168.1.100:9999,facility=local7,tag=nginx,severity=info main; map $http_upgrade $connection_upgrade { default upgrade; '' close; } ``` 上述配置是将Nginx的日志各项参数以逗号分隔的形式进行输出,同时将Nginx日志实时推送到192.168.1.100:9999上。 此时,我们只需要在192.168.1.100服务器上部署一个TCP或UDP服务,监听端口为9999,并在192.168.1.100服务器的防火墙开放9999端口。我们写的TCP或UDP服务就会实时接收到Nginx服务器发送过来的日志。 通过这种方式,我们就可以将Nginx日志实时收集到某个存储集群中,对Nginx日志进行统一存储、维护和分析。
下一篇:
Nginx获取客户端真实IP、域名、协议、端口
该分类下的相关小册推荐:
Nginx面试指南