ELK 环境搭建 (二)
1.编译环境准备(root用户)
- 安装包:
# yum -y install gcc openssl-devel pcre-devel - 创建nginx用户和组:
# groupadd -r nginx
# useradd -r -M -g nginx -s /bin/nologin nginx
2.安装LuaJIT和相关Lua库
- LuaJIT安装操作:
- 解压软件包:
tar -xzvf LuaJIT-2.0.4.tar.gz - 在解压后的目录下执行:
make
make install - LuaJIT安装验证:
lua -v
luajit -v
- 解压软件包:
- lua-cjson安装操作:
- 解压软件包:
tar -xzvf lua-cjson-2.1.0.tar.gz - 解压后的目录下执行:
修改 Makefile 文件中的变量 LUA_INCLUDE_DIR值为:LUA_INCLUDE_DIR = $(PREFIX)/include/luajit-2.0
make
cp cjson.so /usr/local/lib/lua/5.1
- 解压软件包:
3.编译安装nginx
- 配置环境变量:
LUAJIT_LIB=/usr/local/lib
LUAJIT_INC=/usr/local/include/luajit-2.0 - 解压软件包:
tar -xzvf nginx-1.11.10.tar.gz
tar -xzvf lua-nginx-module-0.10.7.tar.gz
tar -xzvf ngx_devel_kit-0.3.0.tar.gz - 在nginx解压目录下执行
- nginx编译:
./configure --prefix=[nginx安装目录] \
--error-log-path=[nginx安装目录]/log/error.log \
--http-log-path=[nginx安装目录]/log/access.log \
--pid-path=[nginx安装目录]/nginx.pid \
--lock-path=[nginx安装目录]/nginx.lock \
--user=nginx --group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=[nginx安装目录]/client \
--http-proxy-temp-path=[nginx安装目录]/proxy \
--http-fastcgi-temp-path=[nginx安装目录]/fcgi \
--http-uwsgi-temp-path=[nginx安装目录]/uwsgi \
--http-scgi-temp-path=[nginx安装目录]/scgi \
--with-pcre \
--with-ld-opt="-Wl,-rpath,/usr/local/lib" \
--add-dynamic-module=[ngx_devel_kit-0.3.0解压目录] \
--add-dynamic-module=[lua-nginx-module-0.10.7解压目录]
- 构建与安装:
make -j2
make install - nginx安装验证:
[nginx安装目录]/sbin/nginx -v
- nginx编译:
4.修改配置文件
用以下代码覆盖nginx配置文件nginx.conf配置的内容:
user nginx;
worker_processes auto;load_module modules/ndk_http_module.so;
load_module modules/ngx_http_lua_module.so;error_log log/error.log;events { use epoll;worker_connections 1024;
}http { include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';log_format my_format '$remote_addr^A$msec^A$http_host^A$request_uri^A$request_body';access_log log/access.log main;client_header_buffer_size 1m;large_client_header_buffers 2 1m;sendfile on; keepalive_timeout 5;init_by_lua 'cjson = require "cjson"';server { listen 80;server_name WEB1;add_header X-upS WEB1-$server_addr:$server_port;location = /i {lua_need_request_body on; content_by_lua_block {ngx.say(cjson.encode({result = "Success"}))}access_log log/access_ub.log my_format;default_type application/json;gzip on;gzip_types application/json;add_header 'Access-Control-Allow-Origin' '*';}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
五、验证服务正常启动
- 启动nginx:[nginx安装目录]/sbin/nginx
- root下执行lsof -i:80 可以看见nginx进程
六、设置日志滚动
1、在 /etc/logrotate.d/ 下创建文件 touch nginx.conf
2、编辑文件内容:vi nginx.conf
/usr/local/zhangkun/nginx/log/access_ub.log{daily # 日志轮询周期,weekly,monthly,yearlyrotate 4 #保留四个文件copytruncate #用于还在打开中的日志文件,把当前日志备份并截断size 200M #文件超过200K才会被切割dateext # 使用当前日期作为命名格式dateformat -%Y-%m-%d.%s #文件名格式compress #切割后压缩missingok #没有日志文件也不报错notifempty #日志为空则不切割create 777 nginx nginxsharedscriptspostrotate[ -f /usr/local/zhangkun/nginx/nginx.pid ] || kill -USR1 `cat /usr/local/zhangkun/nginx/nginx.pid`endscript
}
3、添加一条计划任务,每天凌晨12点轮转
# crontab -e
0 0 * * * /usr/sbin/logrotate /etc/logrotate.d/nginx.conf
4、测试执行是否生效
access_ub.log 大于200M时执行
sudo logrotate -f /etc/logrotate.d/nginx
目录下会出现一个压缩文件,并且切割完之后access_ub.log 为0KB
ELK 环境搭建 (二)相关推荐
- Hi3519V101开发环境搭建(二)
目录 目录 前言 编译U-boot 编译Linux-318y的内核 链接地址 前言 前面已经搭建好了Ubuntu下的海思开发环境,现在对编译Uboot和Kernel的过程做一个简单的记录.参考文档&l ...
- ELK环境搭建+入门使用
文章目录 ELK环境搭建+入门使用 前言 使用的数据格式定义 安装.启动 启动ES 启动Kibana 启动Logstash 配置first-pipeline.conf 前台启动Logstash 在Lo ...
- 开源游戏服务器框架NoahGameFrame(NF)服务器端环境搭建(二)
一.下载NoahGameFrame 1.进入到开源游戏服务器框架NoahGameFrame在GitHub的官方界面NoahGameFrame 2.复制要Checkout的资源目录URL 3.在任意一个 ...
- Hadoop环境搭建(二)CentOS7的下载与安装
Hadoop环境搭建(一) VMware Workstation安装 与 网络配置 1. CentOS7的下载 https://wiki.centos.org/Download 2. CentOS7安 ...
- eclipse中SSH三大框架环境搭建二
通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...
- hadoop分布式环境搭建二(集群搭建)
安装准备 1.在/opt目录下创建software及modules文件夹,并修改到为mac用户下 sudo mkdir /opt/software [sudo] password for mac: [ ...
- 虚拟驾驶环境搭建(二)
龙云尧个人博客,转载请注明出处. CSDN地址:http://blog.csdn.net/michael753951/article/details/75073580 个人blog地址:http:// ...
- Yolov5进阶之七目标追踪最新环境搭建(二)
前面已经介绍了deepsort最新环境搭建的过程,本节在使用github另外的源码建立目标追踪环境,本节提供了从Google Drive 下载的crowd_human.pt来作为识别的权重文件,同时实 ...
- ELK 环境搭建1-Elasticsearch
一.安装前准备 1.节点 192.168.30.41 192.168.30.42 192.168.30.43 2.操作系统: Centos7.5 3.安装包 a.java8: jdk-8u181-li ...
最新文章
- 深度学习核心技术精讲100篇(十一)-Google利器超强特征提取网络(Transformer)
- 利用最小二乘法,用直线拟合点时,为什么计算竖直距离而非垂直距离?为什么在线性回归分析中,求的是距离平方和最小,而不是距离之和最小?
- spring cloud feign 加载流程
- 轻松解决Android gradle太慢问题
- 终于有人把监督学习讲明白了
- python日志分割(转)
- TensorFlow游乐场及神经网络简介
- Linux文件系统管理
- WebGrid CRM 功能模块描述
- 【OpenCV4 官方文档】机器学习概述
- matlab:pause命令
- 详解!适合女生做的互联网项目
- tp无线路由器设置打印服务器,TP-Link TL-WDR4320 无线路由器打印服务器设置指南
- win10显示rpc服务器不可用,win10系统RPC服务器不可用如何处理?
- FME cad中地块图形与图形标注信息的连接(空间关系连接)
- 中国地区三级联动下拉菜单
- c语言c51单片机点亮8个灯,单片机课程设计-8个LED灯来回点亮
- 坐标系统概念(转载)
- 【不忘初心】 Windows11_22H2_22621.105_X64_可更新[纯净精简版][2.28G](2022.6.16)
- 文言文编程火了,可我完全学不懂
热门文章
- 最*新政*策:镇長、村長要完蛋了,8月1号正式实*施!
- 幽默的经济学原理~其实经济学可以这样学
- 嵌入android模拟器,编译运行Android模拟器
- 英特尔陈小波: 克服瓶颈,加速你的混合云
- 管理专业学生必懂的部分知识
- 小白自学笔记——JAVA基础 2.8分支结构
- Maya2013 XX错误:Access violation at 0x****(tried to write to 0x00000000) program terminated解决方法
- maya2013的vs2010插件配置
- 【荐读】《我的前半生》:无论哪个阶层,这8条职场潜规则都终身受用
- 深圳的格局 自我的方向