CentOS 7安装nginx简单实现分布式日志集中化查看管理

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 原理:将在不同机子上的查询日志目录开放只读共享,然后统一挂载到一台系统上,通过nginx开放出来。1.搭建安装nginx1.1.安装相关库yum install gcc-c++ yum install pcre pcre-devel ...

原理:将在不同机子上的查询日志目录开放只读共享,然后统一挂载到一台系统上,
通过nginx开放出来。

1.搭建安装nginx

1.1.安装相关库

yum install gcc-c++  
yum install pcre pcre-devel  
yum install zlib zlib-devel  
yum install openssl openssl--devel

1.2.下载nginx

前往http://nginx.org/download/寻找自己想要安装的版本
使用wget 下载

wget http://nginx.org/download/nginx-1.11.13.tar.gz

或使用 curl下载

curl -O  http://nginx.org/download/nginx-1.11.13.tar.gz

下载完成后解压

tar -zxvf  nginx-1.11.13.tar.gz

你还可以同时下载fancy实现漂亮的索引目录
下载fancy:

wget https://codeload.github.com/aperezdc/ngx-fancyindex/zip/master

解压fancy:

unzip master

1.3.安装

默认安装使用以下命令(默认安装在/usr/local/nginx):

./configure
make
make install

当然你也可以使用 ./configure –prefix=自定义路径 实现自定义安装
如果你下载了fancy使用以下命令(--add-module=fancy解压后的路径):

./configure  --add-module=../ngx-fancyindex-master
make
make install

1.4.测试启动nginx

如果是默认安装可以使用以下命令运行:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

将默认端口加入到防火墙:

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

1.5.开启nginx目录查看功能

先删除html文件夹下的index.html:

rm -rf /usr/local/nginx/html/index.html

进入编辑nginx.conf配置文件:

cd /usr/local/nginx/conf/
vi nginx.conf

设置 HTML的字符编码为utf-8:

http {
    include       mime.types;
    default_type  application/octet-stream;
    charset  utf-8;#防止乱码
......

开启目录访问设置:

.....
      location / {
            root   html;
            index  index.html index.htm;
            autoindex on;#显示目录
            autoindex_exact_size off;#人性化方式显示文件大小否则以byte显示
            autoindex_localtime on;#按服务器时间显示,否则以gmt时间显示
            ##---以下部分是安装了fancy才有效,没安装fancy无需设置----
            fancyindex on;#开启fancy索引
            fancyindex_exact_size off;#不使用精确的大小,使用四舍五入,1.9M会显示为2M这样.如果开启的话,单位为字节
            fancyindex_header /.header.html;#头部模板
            fancyindex_footer /.footer.html;#底部模板
         }

.....

头尾模板参考:https://github.com/aperezdc/ngx-fancyindex/blob/master/template.html

img_f2337963dbe9f6eae66943a64d0d53a8.png
示例

1.6.重启nginx

测试nginx配置文件是否可用

/usr/local/nginx/sbin/nginx -t

热加载

/usr/local/nginx/sbin/nginx -s reload

停止nginx

/usr/local/nginx/sbin/nginx -s stop

直接运行nginx

/usr/local/nginx/sbin/nginx

打开nginx并设置打开的配置文件

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

1.7.最终效果

局域网访问CentOS IP


img_e39f45b4e7737704015850763963561d.jpe
效果

2.挂载共享目录

使用mount命令挂载Windows 上的共享文件夹

普通挂载(只读挂载):

mount //192.168.1.21/test_dir/ /usr/local/nginx/html/日志目录/

获取用户权限挂载:

mount  -o username="administrator",password="admin"  //192.168.1.20/test_dir/  /usr/local/nginx/html/日志目录/

挂载并指定挂载类型:

mount -t cifc "windows共享文件夹" "Linux目录路径"
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
NoSQL Java 应用服务中间件
大厂面试必备:如何轻松实现分布式Session管理?
这篇文章介绍三种分布式Session的实现方案:基于JWT的Token、基于Tomcat的Redis和基于Spring的Redis。JWT方案通过生成Token存储用户信息,实现无状态、可扩展的会话管理,但可能增加请求负载且数据安全性较低。Tomcat与Redis结合,通过配置Tomcat和Redis,实现Session集中管理和高性能存储,但配置相对复杂。Spring整合Redis适用于SpringBoot和SpringCloud项目,集成方便,扩展性强,但同样依赖外部Redis服务。每种方法有其优缺点,适用场景不同。作者小米是一个技术爱好者,欢迎关注其微信公众号“软件求生”获取更多技术内容
263 4
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
52 1
|
3月前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
277 1
|
4月前
|
消息中间件 JSON 自然语言处理
Python多进程日志以及分布式日志的实现方式
python日志模块logging支持多线程,但是在多进程下写入日志文件容易出现下面的问题: PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。 也就是日志文件被占用的情况,原因是多个进程的文件handler对日志文件进行操作产生的。
|
4月前
|
存储 监控 数据可视化
性能监控之JMeter分布式压测轻量日志解决方案
【8月更文挑战第11天】性能监控之JMeter分布式压测轻量日志解决方案
101 0
性能监控之JMeter分布式压测轻量日志解决方案
|
4月前
|
存储 消息中间件 缓存
Waltz 一种分布式预写日志系统
Waltz 一种分布式预写日志系统
48 1
|
5月前
|
负载均衡 监控 搜索推荐
面试题ES问题之Solr和Elasticsearch在分布式管理上如何解决
面试题ES问题之Solr和Elasticsearch在分布式管理上如何解决
41 1
|
5月前
|
存储 消息中间件 运维
使用Java实现分布式日志系统
使用Java实现分布式日志系统
|
5月前
|
消息中间件 JSON 自然语言处理
python多进程日志以及分布式日志的实现方式
python日志在多进程环境下的问题 python日志模块logging支持多线程,但是在多进程下写入日志文件容易出现下面的问题: PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。 也就是日志文件被占用的情况,原因是多个进程的文件handler对日志文件进行操作产生的。
|
6月前
|
存储 搜索推荐 Java
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
82 2