Nginx 최적화 - 로그 분할

로그 분할
1. 기업 서버 의 로그 파일 이 대회 에 지나 치면 다음 과 같은 문 제 를 가 져 옵 니 다. 1. 너무 큰 로그 파일 을 조회 하 는 것 은 개발 과 운영 에 매우 불편 합 니 다. 특히 야근 자 들 이 힘 든 상황 에서 더욱 설상가상 입 니 다.2. 아주 오래 전의 로그 파일 은 거의 가치 가 없 었 지만 손 으로 정리 하 는 것 은 너무 번 거 로 웠 습 니 다.이 럴 때 로그 분할 을 자동 으로 할 수 있 는 솔 루 션 이 필요 합 니 다. 분 단 된 로 그 는 '깨끗 하 다' 는 것 뿐만 아니 라 로 그 를 정기 적 으로 정리 할 수 있 습 니 다.
실험 하 다.
2. Nginx 서비스 1 을 컴 파일 하고 원 격 으로 Windows 의 소스 패 키 지 를 가 져 오 며 Linux 에 마 운 트 합 니 다.
[root@localhost ~]# smbclient -L //192.168.235.1
Enter SAMBA\root's password: 
Sharename       Type      Comment
---------       ----      -------
LNMP            Disk  

[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abc
Password for root@//192.168.235.1/LNMP:  
[root@localhost ~]# ls /abc
Discuz_X3.4_SC_UTF8.zip    nginx-1.12.0.tar.gz  php-7.1.10.tar.bz2
mysql-boost-5.7.20.tar.gz  nginx-1.12.2.tar.gz  php-7.1.20.tar.gz

2. 압축 해제 팩
[root@localhost ~]# cd /abc
[root@localhost abc]# tar zxvf nginx-1.12.0.tar.gz -C /opt
[root@localhost abc]# ls /opt
nginx-1.12.0  rh

3. 컴 파일 패키지 설치
[root@localhost abc]# cd /opt
[root@localhost opt]# yum install -y \
> gcc \             //C  
> gcc-c++ \         //c++  
> pcre-devel \      //pcre    
> zlib-devel        //     

4. 프로그램 사용 자 를 만 들 고 Nginx 서비스 관련 구성 요 소 를 설정 합 니 다.
[root@localhost opt]# useradd -M -s /sbin/nologin nginx
//      nginx,          
[root@localhost opt]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure \            
//  nginx
> --prefix=//usr/local/nginx \      
//                              
> --user=nginx \
//     
> --group=nginx \
//       
> --with-http_stub_status_module
//        

5. 컴 파일 및 설치
[root@localhost nginx-1.12.0]# make && make install

6. Nginx 서비스 시작 스 크 립 트 를 최적화 하고 명령 소프트 링크 만 들 기
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 
//  nginx            
[root@localhost nginx-1.12.0]# systemctl stop firewalld.service 
//     
[root@localhost nginx-1.12.0]# setenforce 0
//         
[root@localhost nginx-1.12.0]# nginx 
//  nginx     
[root@localhost nginx-1.12.0]# netstat -ntap | grep 80      //     80   ,     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7520/nginx: master  

7. systemctl 관리 nginx 스 크 립 트
[root@localhost ~]# vim /lib/systemd/system/nginx.service      ##      

[Unit]
Description=nginx                                            ##  
After=network.target                                        ##      
[Service]
Type=forking                                                    ##      
PIDFile=/usr/local/nginx/logs/nginx.pid            ##PID    
ExecStart=/usr/local/nginx/sbin/nginx              ##    
ExecReload=/usr/bin/kill -s HUP $MAINPID    ##  PID    
ExecStop=/usr/bin/kill -s QUIT $MAINPID       ##  PID    
PrivateTmp=true
[Install]
WantedBy=multi-user.target

[root@localhost ~]# chmod 754 /lib/systemd/system/nginx.service     ##      
[root@localhost ~]# systemctl stop nginx.service       ##  nginx 
[root@localhost ~]# systemctl start nginx.service       ##  

8. 로그 분할 스 크 립 트 작성
[root@localhost nginx-1.12.0]# vim fenge.sh

#!/bin/bash
#Filename:fengge.sh                  ##    

d=$(date -d "-1 day" "+%Y%m%d" )           ##          ,          , "2019.11.11"
logs_path="/var/log/nginx"                          ##          
pid_path="/usr/local/nginx/logs/nginx.pid"       ##Nginx      
[ -d $logs_path ] || mkdir -p $logs_path         ##              ,          
mv      /usr/local/nginx/logs/access.log     ${logs_path}/test.com-access.log-$d
##                     ,              
kill   -USR1   $(cat $pid_path)                       ##        ,         
find  $logs_path  -mtime  +30  |  xargs  rm  -rf      ##     30   (   30 )      ,xargs                         
[root@localhost nginx-1.12.0]# chmod  +x  fenge.sh              ##        
[root@localhost nginx-1.12.0]# ./ fenge.sh
[root@localhost nginx-1.12.0]#  ls  /var/log/nginx
test.com-access.log-20191112                    ##                 
[root@localhost nginx-1.12.0]# ls  /usr/local/nginx/logs
access.log  error.log  nginx.pid             ##  Nginx    ,          access.log  

이 방법 은 기업 서버 로그 관리 업 무 를 크게 강화 하여 효율 을 높 였 습 니 다!!

좋은 웹페이지 즐겨찾기