1.编译环境准备(root用户)

  1. 安装包:
    # yum -y install gcc openssl-devel pcre-devel
  2. 创建nginx用户和组:
    # groupadd -r nginx
    # useradd -r -M -g nginx -s /bin/nologin nginx

2.安装LuaJIT和相关Lua库

  1. LuaJIT安装操作:

    1. 解压软件包:
      tar -xzvf LuaJIT-2.0.4.tar.gz
    2. 在解压后的目录下执行:
      make
      make install
    3. LuaJIT安装验证:
      lua -v
      luajit -v
  2. lua-cjson安装操作:
    1. 解压软件包:
      tar -xzvf lua-cjson-2.1.0.tar.gz
    2. 解压后的目录下执行:
      修改 Makefile 文件中的变量 LUA_INCLUDE_DIR值为:LUA_INCLUDE_DIR = $(PREFIX)/include/luajit-2.0
      make
      cp cjson.so /usr/local/lib/lua/5.1

3.编译安装nginx

  1. 配置环境变量:
    LUAJIT_LIB=/usr/local/lib
    LUAJIT_INC=/usr/local/include/luajit-2.0
  2. 解压软件包:
    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
  3. 在nginx解压目录下执行
    1. 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解压目录]

    2. 构建与安装:
      make -j2
      make install
    3. nginx安装验证:
      [nginx安装目录]/sbin/nginx -v

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;}}
}

五、验证服务正常启动

  1. 启动nginx:[nginx安装目录]/sbin/nginx
  2. 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 环境搭建 (二)相关推荐

  1. Hi3519V101开发环境搭建(二)

    目录 目录 前言 编译U-boot 编译Linux-318y的内核 链接地址 前言 前面已经搭建好了Ubuntu下的海思开发环境,现在对编译Uboot和Kernel的过程做一个简单的记录.参考文档&l ...

  2. ELK环境搭建+入门使用

    文章目录 ELK环境搭建+入门使用 前言 使用的数据格式定义 安装.启动 启动ES 启动Kibana 启动Logstash 配置first-pipeline.conf 前台启动Logstash 在Lo ...

  3. 开源游戏服务器框架NoahGameFrame(NF)服务器端环境搭建(二)

    一.下载NoahGameFrame 1.进入到开源游戏服务器框架NoahGameFrame在GitHub的官方界面NoahGameFrame 2.复制要Checkout的资源目录URL 3.在任意一个 ...

  4. Hadoop环境搭建(二)CentOS7的下载与安装

    Hadoop环境搭建(一) VMware Workstation安装 与 网络配置 1. CentOS7的下载 https://wiki.centos.org/Download 2. CentOS7安 ...

  5. eclipse中SSH三大框架环境搭建二

    通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...

  6. hadoop分布式环境搭建二(集群搭建)

    安装准备 1.在/opt目录下创建software及modules文件夹,并修改到为mac用户下 sudo mkdir /opt/software [sudo] password for mac: [ ...

  7. 虚拟驾驶环境搭建(二)

    龙云尧个人博客,转载请注明出处. CSDN地址:http://blog.csdn.net/michael753951/article/details/75073580 个人blog地址:http:// ...

  8. Yolov5进阶之七目标追踪最新环境搭建(二)

    前面已经介绍了deepsort最新环境搭建的过程,本节在使用github另外的源码建立目标追踪环境,本节提供了从Google Drive 下载的crowd_human.pt来作为识别的权重文件,同时实 ...

  9. 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 ...

最新文章

  1. 深度学习核心技术精讲100篇(十一)-Google利器超强特征提取网络(Transformer)
  2. 利用最小二乘法,用直线拟合点时,为什么计算竖直距离而非垂直距离?为什么在线性回归分析中,求的是距离平方和最小,而不是距离之和最小?
  3. spring cloud feign 加载流程
  4. 轻松解决Android gradle太慢问题
  5. 终于有人把监督学习讲明白了
  6. python日志分割(转)
  7. TensorFlow游乐场及神经网络简介
  8. Linux文件系统管理
  9. WebGrid CRM 功能模块描述
  10. 【OpenCV4 官方文档】机器学习概述
  11. matlab:pause命令
  12. 详解!适合女生做的互联网项目
  13. tp无线路由器设置打印服务器,TP-Link TL-WDR4320 无线路由器打印服务器设置指南
  14. win10显示rpc服务器不可用,win10系统RPC服务器不可用如何处理?
  15. FME cad中地块图形与图形标注信息的连接(空间关系连接)
  16. 中国地区三级联动下拉菜单
  17. c语言c51单片机点亮8个灯,单片机课程设计-8个LED灯来回点亮
  18. 坐标系统概念(转载)
  19. 【不忘初心】 Windows11_22H2_22621.105_X64_可更新[纯净精简版][2.28G](2022.6.16)
  20. 文言文编程火了,可我完全学不懂

热门文章

  1. 最*新政*策:镇長、村長要完蛋了,8月1号正式实*施!
  2. 幽默的经济学原理~其实经济学可以这样学
  3. 嵌入android模拟器,编译运行Android模拟器
  4. 英特尔陈小波: 克服瓶颈,加速你的混合云
  5. 管理专业学生必懂的部分知识
  6. 小白自学笔记——JAVA基础 2.8分支结构
  7. Maya2013 XX错误:Access violation at 0x****(tried to write to 0x00000000) program terminated解决方法
  8. maya2013的vs2010插件配置
  9. 【荐读】《我的前半生》:无论哪个阶层,这8条职场潜规则都终身受用
  10. 深圳的格局 自我的方向