nginx 日志切割

作者:站长 发布于:2020-8-29 18:35 Saturday 分类:linux

1.工具:logrotate   centos系统自带的一款工具,还是蛮方便的。

2.安装logrotate 【yum -y install logrotate crontabs】

3.工具目录:

/etc/logrotate.conf  # 主配置文件

/etc/logrotate.d   # 配置目录

4.创建任务实例:

实例参考:

--------------------------

#【需要切割的log存放目录】

/home/wwwlogs/*.log {  

#【按照天进行切割操作】

daily   

#【旧的日志保留周期数量】

rotate 181  

【工具在运行期间,忽略所有错误】

missingok  

#【dateext  切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,没有这个配置项会附加一个小数点加一个数字序号.dateformat 配合dateext使用可以为切割后的日志加上YYYYMMDD格式的日期,如dateformat -%Y%m%d】

dateext 

#【通过指定的权限,创建新的日志文件】

create 666 www www

#【旧日志的存放位置,必须和当前日志文件在同一个文件系统

olddir /home/wwwlogs/log_backup 

#【对旧文件对进行压缩】

compress 

#【运行postrotate脚本,作用是在所有日志都轮转后统一执行一次脚本。如果没有配置这个,那么每个日志轮转后都会执行一次脚本】

sharedscripts 

#【在logrotate转储之后需要执行的指令,例如重新启动 (kill -HUP) 某个服务!必须独立成行】

postrotate

    if [ -f /usr/local/nginx/logs/nginx.pid ];then

        kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

    fi

endscript

}

------------------------ 

启动命令:

logrotate  /etc/logrotate.conf  # 启动所有配置的日志管理

logrotate  /etc/logrotate.d/xxx    # 启动xxx服务的日志管理

 

logrotate  -f  /etc/logrotate.d/xxx # 强制生效,执行一次

logrotate  -vf  /etc/logrotate.d/xxx # 强制生效,执行一次,同时打印执行信息

nginx 禁止通过IP访问443端口

作者:站长 发布于:2020-6-29 14:40 Monday 分类:linux

只要在配置文件中,新建一个配置文件,名称自定义,然后配置如下:
server {
  listen 443 ssl default_server;
  server_name _;
  ssl_certificate      cert/xxx.crt; #允许被访问的域名对应的ssl证书文件
  ssl_certificate_key  cert/xxx.key; #允许被访问的域名对应的ssl证书密钥
  return 400; #非允许的域名,则抛出400的错误,这个错误可以自定义。
}

一台主,多台负载均衡,批处理更新配置

作者:站长 发布于:2020-6-28 11:36 Sunday 分类:linux

最近遇到比较多,就是一台主节点服务器,多台节点服务器的情况下,一旦更新了一个配置,那么跟随者的节点服务器都是需要同步更新,如果一台一台更新的话,就会比较麻烦,但是自己目前不具备编写工具的能力,所以就先采用脚本自动执行,这个方式也相对比较简单方便,下面是配置文件,仅供参考:

#!/bin/bash
scp -r /usr/local/nginx/conf/vhost/* root@192.168.0.182:/usr/local/nginx/conf/vhost/
scp -r /usr/local/nginx/conf/vhost/* root@192.168.0.174:/usr/local/nginx/conf/vhost/
scp -r /usr/local/nginx/conf/ssl/* root@192.168.0.182:/usr/local/nginx/conf/ssl/
scp -r /usr/local/nginx/conf/ssl/* root@192.168.0.174:/usr/local/nginx/conf/ssl/
ssh root@192.168.0.182 "service nginx reload"
ssh root@192.168.0.174 "service nginx reload"

上面的配置要放在主节点服务器下,同时主节点服务器跟负载节点服务器,进行无密码scp登陆,即采用key的方式登陆。

Powered by emlog 本站由耐思智慧提供计算服务