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