PHP慢执行日志、定时自动切割日志+共享文件+expect远程同步

discus+dedecms站点配置php独立pool

以这里https://blog.51cto.com/8229148/2055141 配置的discuz+dedecms 站点为例

● vim /usr/local/php/etc/php-fpm.conf
##在[global]部分添加内容
include = etc/php-fpm.d/*.conf ##//设置检查etc/php-fpm.d/的*.conf 配置文件

● mkdir /usr/local/php/etc/php-fpm.d/ ##创建添加*.conf文件的目录
● cd /usr/local/php/etc/php-fpm.d/ ###创建
touch discus.conf
touch dedecms.conf
(zrlog是用tomcat解析,不用在php创建pool)
● 编辑创建 配置文件,添加慢执行日志
vim discus.conf
内容如下

[discuz]
listen = /tmp/discuz.sock 
#listen = 127.0.0.1:9000 
listen.mode = 666 
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout=2  //执行超过2秒就记录日志
slowlog =/usr/local/php-fpm/var/log/discuz-slow.log   //慢执行日志输出路径

vim dedecms.conf
内容如下

[dedecms]
listen = /tmp/dedecms.sock 
#listen = 127.0.0.1:9000 
listen.mode = 666 
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout=2  //执行超过2秒就记录日志
slowlog =/usr/local/php-fpm/var/log/dedecms-slow.log   //慢执行日志输出路径

● 必须同步到nginx虚拟主机的配置sock
vim /usr/local/nginx/vhost/discus.conf
将默认的 unix:/tmp/php-fpm.sock改为 unix:/tmp/discuz.sock

vim /usr/local/nginx/vhost/dedecms.conf
将默认的 unix:/tmp/php-fpm.sock改为 unix:/tmp/dedecms.sock

● 检测创建的配置是否正确,再重新加载生效
/usr/local/php-fpm/sbin/php –t
/usr/local/nginx/sbin/nginx -t
/usr/local/php-fpm/sbin/php -s reload
/usr/local/nginx/sbin/nginx -s reload

静态文件不记录日志
, /usr/local/nginx/conf/vhost/*.conf 子配置文件中加入如下参数

location ~ ..(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
}
location ~ .
.(js|css)$
{
expires 30d;
access_log off;
}

定时自动切割php日志脚本

日志切割
• vim /usr/local/sbin/php-fpm_logrotate.sh//写入如下内容

#! /bin/bash
#php-fpm的日志存放路径为/usr/local/php-fpm/var/log/
d=`date -d "-1 day" +%Y%m%d`
logdir="/usr/local/php-fpm/var/log/"
cd $logdir
for log in `ls www-slow.log`
do
mv $log $log-$d
done
##3 自动删除一个月以前的日志
find /usr/local/php-fpm/var/log/ -name www-slow.log-* -type f –mtime +30 |xargs rm

创建计划任务启动脚本
crontab –e
内容
0 0 * /bin/bash /usr/local/sbin/php-fpm_logrotate.sh

文件共享配置

思路:将网站目录所在服务器定义为服务端 去挂载到、/mnt
服务器:192.168.200.127
客户端:192.168.200.118~123
服务端下载: yum install -y nfs-utils rpcbind
客户端下载: yum install -y nfs-utils
服务器端:
vim /etc/exports
/data/wwwdiscuz/data/attachment
192.168.200.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

选项配置
#rw 读写
#ro 只读
#sync 同步模式,内存数据实时写入磁盘
#async 非同步模式
#no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
#root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
#all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
#anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

chmod 777 /data/wwwdiscuz/data/attachment
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
netstat -lntp (服务端客户端都查)
ps aux |grep rpc
ps aux |grep nfs

客户端挂载:
iptables -F (所有)
systemctl stop firewalld
setenforce 0
service rpcbind restart
service nfs restart
showmount -e 192.168.200.118
mount -t nfs 192.168.200.118:/data/wwwdiscuz/data/attachment /mnt/
df -h
客户端 cd /mnt/ ls

expect同步分发系统(主机117)

主机
● yum install –y expect #shell分发主机
yum install –y rsync
● 自动远程登录,并执行命令,创建expect脚本内容如下

vim updatefile.expect

#!/usr/bin/expect
set passwd "123456"
set host [lindex $argv 0]  //设置主机IP名称
set file [lindex $argv 1]  //设置要同步是文件,要绝对路径
spawn rsync -av $file root@$host::$file   #rsync增量同步本机的$file文件到 ip的$file文件
                                                                  #rsync同步的时候没有文件会自动创建
expect {
"yes/no" { send "yes\r"; exp_continue}
"passwd:" {send "$passwd\r"}
}
expect eof //要有这个默认等待,不然同步没有运行就退出expect远程

运行
updatefile.expect 目标主机的ip /home/wwwroot/discuz/xxxx(同步的文件)

#//同步本机的/home/wwwroot/discuz/xxxx文件 同步到 远程192.168.133.132 主机的/home/wwwroot/discuz/xxxx文件

转载于:https://blog.51cto.com/8229148/2055162

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值