默认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;
}
如果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
两台服务器之间拷贝文件
采用linux命令scp可以在两台电脑之间复制文件,如有两台服务器192.168.1.100/101,现在需要拷贝100 /etc/passwd文件到101服务器的/etc目录下,登陆100服务器,知道101的用户root的密码为123456
scp /etc/passwd root@192.168.1.101:/etc/
第一次会提示授权操作,输入yes后再输入root用户的密码,拷贝完成。
服务器之间免密码登陆
现在每次拷贝文件的时候都需要输入密码非常麻烦,现在介绍一种采用公钥/私钥认证的方式去掉密码登陆
在100服务器上进入.ssh目录,
cd ~/.ssh
ssh-keygen -t rsa
scp id_rsa.pub root@192.168.1.101:~/.ssh
进入101服务器,将公钥导入到~/.ssh/authorized_keys,
cd ~/.ssh
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
~/.ssh权限设置为700
~/.ssh/authorized_keys的权限设置为600
这是Linux的安全要求,如果权限不对,自动登录将不会生效
完毕之后,退出服务器的登录,再使用ssh登录,你就会发现服务器不会再向你询问密码了.
1、 php.ini(/your/php.ini)的配置中这两项
cgi.fix_pathinfo=1
doc_root=
2、nginx配置文件/etc/nginx/sites-available/default中注意以下部分
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /youpath$fastcgi_script_name;
include fastcgi_params;
}
路径需要根据你主机主目录的实际情况填写
配置完以上部分,重启一下service nginx restart,应该没问题了