centos要安装imagick 首先安装ImageMagick

yum install -y ImageMagick ImageMagick-devel

然后安装imagick

wget http://pecl.php.net/get/imagick-3.4.3.tgz
tar zxvf imagick-3.4.3.tgz
cd imagick-3.4.3
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make
make install

安装成功后写入php.ini并重启

/usr/local/php/etc/php.ini
extension=imagick.so

/etc/init.d/php-fpm reload

php-imagick的安装

centos 系统安装Goaccess

1. 需要安装 GeoIP, ncurses, glib2

#yum -y install glib2 glib2-devel ncurses ncurses-devel GeoIP GeoIP-devel

2.下载 GoAccess 解压编译安装

$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz
$ tar -xzvf goaccess-1.2.tar.gz
$ cd goaccess-1.2/
$ ./configure –enable-utf8 –enable-geoip=legacy
$ make
# make install

3.使用

goaccess -d -f access.log -a > test.html

Read More →

默认memcache会监听11221端口,如果想清空服务器上memecache的缓存,大家一般使用的是:
telnet localhost 11211
flush_all
同样也可以使用:
echo “flush_all” | nc localhost 11211
使用flush_all 后并不是删除memcache上的key,而是置为过期

出现502 bad gateway错误的原因

1.php-fpm进程数不够用
2.Linux内核打开文件数量小
3.脚本执行时间超时
4.缓存设置比较小

网站间歇性出现502,第一反应不是程序的问题,而是nginx服务器的问题,因为这是代理服务器出现的问题,代理服务器并没有安装php 排除第一中情况。

于此想到的是可能是超时,所以我把超时修改了一些
一下是服务器原配置(重点配置)

http部分

server_names_hash_bucket_size 64;
client_header_buffer_size 128k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;

keepalive_timeout 60;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 60;
fastcgi_read_timeout 600;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 128k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;

gzip_buffers 4 128k;

server部分

upstream myweb {
server 10.10.10.1:80 max_fails=3 fail_timeout=30s;
server 10.10.10.2:80 max_fails=3 fail_timeout=30s;
ip_hash;
}

location / {
proxy_pass http://myweb;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
}

Read More →

如果nginx当掉了,我们想用shell自动拉起,可以用定时任务和ps监控实现

新建hup.sh

#!/bin/sh
ps -fe | grep “nginx” |grep -v grep

if [ $? -ne 0 ]
then
echo “starting…..”
/etc/init.d/nginx restart
else
echo “runing…..”
fi

然后在crontab中创建

*/1 * * * * /yourpath/hup.sh

保持后重启crond