用SSH恢复备份时候出现的Corrupted MAC on input
因为把一台机器重装了Debian之后要恢复,在备份机上运行
tar czf – mysql| ssh root@重装机IP tar xzf – -C /data
结果出现
Received disconnect from 重装机IP: 2: Corrupted MAC on input.
从字面意思就能开出来是网卡中断,Google了一下,找到了解决方案(未必是最佳的).
apt-get install ethtool
ethtool -k eth0
可以看到过载保护的内容
Offload parameters for eth0:
Cannot get device flags: Operation not supported
Cannot get device GRO settings: Operation not supported
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: off
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off
ntuple-filters: off
receive-hashing: off
关闭RX的过载保护
ethtool -K eth0 rx off
然后就没事了.弄完了记得改回来就可以.
Debian 6 VPS安装新版本php-fpm+MySQL+Nginx
一个小小的VPS,根本用不到企业级的CentOS,况且VPS本来资源就有限.centos+apache2真的太奢侈了.我现在的VPS标配都是php5,mysql 5和nginx 1.下面的方法恨简单,本着简单,高效原则,全部apt-get来安装,不用15分钟.如果超过30分钟,这个VPS就不能用:如果不是钻石硬盘那就是网络有问题.
拿到VPS,装debian 6 32位的.
嗯,先更新一下
apt-get update
apt-get upgrade
除去除去一些不需要的东西和apache2这样耗资源的.
apt-get -y purge apache2-* bind9-* xinetd samba-* portmap sendmail-* sasl2-bin
(如果不需要sendmail发邮件,还可以加上sendmail-*)
你硬盘小咋办?删除一些不必要的组件
apt-get -y purge lynx memtester python-* odbcinst-* sudo ttf-*
(也可以再加上unixodbc等)
可以打扫一下
apt-get autoremove
apt-get clean
接下来装php,mysql和nginx了.
debian官方源的软件版本太老了,太老太老了…那么换个非官方的吧.Dotdeb是个不错的源.
打开/etc/apt/sources.list,添加下面两行之后保存上传
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
然后增加新源的证书
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -
增加了新源当然要更新一下
apt-get update
apt-get upgrade
接着就可以装了,根据自己需要来安装相应的东西,比如gd等组件.比如我基本上用到这些:
apt-get install php5-cli php5-fpm php5-curl php5-mysql nginx mysql-server
大概110M左右东西,在安装过程中需要输入mysql的root密码.其他就是等待.
安装完毕就根据自己VPS的配置进行设置.配置文件都在/etc下.
建议配置:
/etc/nginx/nginx.conf
…
worker_processes 2;
…
别的基本不用改,但是我把gzip_开头的选项都打开.
/etc/php5/fpm/pool.d/www.conf (我用的完整版本www.conf)
[www]
listen = /tmp/php-www.sock
listen.mode = 0666
user = www-data
group = www-data
pm = static
pm.max_children = 8
pm.max_requests = 5000
rlimit_files = 512000
request_slowlog_timeout = 10s
request_terminate_timeout = 30s
slowlog = /var/log/php-fpm.slow.log
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f [email protected]
;php_flag[display_errors] = off
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = off
php_admin_value[memory_limit] = 24M
php_admin_value[open_basedir] = /var/www/:/tmp/:/var/tmp/
这是256M OpenVZ的标准配置,根据内存大小调整pm.max_children和php_admin_value[memory_limit]的值
mysql 5.5默认就用Innodb了,又不是浩大工程,根本用不到,还占那么多资源,增加下面两项即可
/etc/mysql/my.cnf
[mysqld]
default-storage-engine = MyISAM
…
skip-innodb
然后重启服务
/etc/init.d/nginx restart
/etc/init.d/php5-fpm restart
/etc/init.d/mysql restart
基本上这个很节约资源也够处理你的请求了.
题外话,别老觉得nginx会导致502, 好刀在好刀客手里才能发挥最大作用.根本不需要把nginx做后端,前面在加个apache.我们单台服务器用nginx+php跑日2000万动态PV不出问题.
小米手机
从老板那走后门拿了一台小米手机.
屏幕挺大,操作很流畅,不得不称赞这点及其硬件配置,比我的ME525流畅不止一个档次.
当然,重点还是在问题方面.
1.费电.要形容的话,晚上充满电,不开wifi和蓝牙,正常使用也就到第二天晚上需要充电.而ME525可以用2天.号称1900多mAh的电池比别的电池耐久30%,可能是从电池容量来比较的吧.
2.长按图标难以选中.长按图标要拖拽或者删除到垃圾桶,都分外艰难.这和ME525没法比,甚至根本比不上c6-01的操作便捷性.
3.没有默认程序更改选项.用过智能手机的都知道你安装了一些程序后,你在打开一个东西时候问你用什么程序打开,是否以后默认用这个打开.这小米倒好,你打开时候有默认选项,当你觉得你默认错了或者别的原因要修改的时候,你就失望了,居然没有可以更改的地方.看到miui论坛居然还有脑残说这个功能可有可无.
一句话吧
4.默认收取Gmail/其他邮件时候会有短信声,不可设置.或许这是Android的问题,这真的很影响晚上休息.
一句话概括,革命尚未成功,小米仍需努力.
小内存VPS使用MySQL 5.5占用内存大的原因
昨晚购一个小内存VPS,256M保证内存,384M突发内存.VPS商的默认模版不太好,小内存不太适合用LAMP,所以卸载了apache和一些不必要的东西.然后装上LNMP(用dotdeb的源).一切和以前一样配置.结果MySQL一起动就占300都M内存,甚至导致不够内存使用任何命令.非常不解.
然后找一个正常的小内存VPS来比较,最后发现dotdeb的MySQL更新到5.5 Final了,而之前装的全是5.1的.再一查,5.5 开始默认使用InnoDB引擎,我光用了一句skip-innodb没效果.所以最后在[mysqld]里加了一句:default-storage-engine = MyISAM, 轻质默认使用MyISAM引擎来存储.这样的小内存VPS本来就不做大用处,不需要InnoDB.
[mysqld]
default-storage-engine = MyISAM
…
skip-innodb
然后重启mysql服务,mysql果然降到了只有50M,这下就可以了.
友情链接对应关系字段丢了?
今天交换友链才发现,首页只有Websites下一个链接了.
看了一下后台的All Links,都有啊.
看一下Link categories,日,只有websites下有一个网站.升级了一下WP,好了.不知道还会不会没有.
真不是哥没道义删你们链接的啊,真的是程序上问题…

PHP-APC引起Fatal error: Cannot redeclare class
之前启动了memcached之后,服务器没任何问题,昨晚装了PHP-APC之后早上一看所有php执行都有问题,类似:
Fatal error: Cannot redeclare class PMA_List in /data/www/pma/libraries/List.class.php on line 16
都是无法重声明程序的内部标准类.重启php之后可正常,再刷新就不行.
一搜,不少这样的问题,但都不明就里.
因为怀疑apc的问题,删除apc.ini重启,无效.
然后在php.ini里apc.enabled=0,重启,正常.
目前还没确定到底是什么原因引起的,apc的版本是3.1.9
求原因.
