Warning: Redis::connect(): connect() failed: Connection refused in /var/www/admclub.com/wp-content/object-cache.php on line 418
Linux | _站长俱乐部站长俱乐部

分类存档: Linux

优化linux内核,提高并发数

1、修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务 …

继续阅读 »

hadoop分布式云服务器安装

/etc/sysconfig/i18n en_US.UTF-8 以下是原始笔记, …

继续阅读 »

解决安装redis时出现undefined reference to `__sync_add_and_fetch_4′的错误

今天下了最新版的redis来安装,但发现在make时出错,信息为:

undefined reference to `__sync_add_and_fetch_4′云云

原因是因为CPU信息判断失误引起的。

我的是32位CPU,这个如何确定?使用uname -m 得到i686。那么我的CPU应该是i686的。

[root@localhost redis-2.6.13]# uname -m
i686

然后把CPU信息设置到环境变量中,清除旧文件,重新编译就可以了:

export CFLAGS=-march=i686
make distclean
make
make install

继续阅读 »

解决安装imagick时Cannot locate header file MagickWand.h的错误

今天在新服上安装php imagick,

环境如下:
php 5.3.20
ImageMagick-6.8.3-8
imagick-3.1.0RC2
可是出错了一个问题.就是死说找不到MagickWand.h:

checking for MagickWand.h header file… configure: error: Cannot locate header file MagickWand.h

可是我明明正确安装了ImageMagick的呀.GOOGLE了半天,也解决不了这个问题.后面对照另一个服务器上的ImageMagick才发现,原来ImageMagick 6.8这个版后的目录结构变了,旧版本头文件是放在/usr/local/include/ImageMagick目录的,而ImageMagick 6.8则是放在/usr/local/include/ImageMagick-6

添加软连接

命令如下:

ln -s /usr/local/include/ImageMagick-6 /usr/local/include/ImageMagick

后来发现imagick-3.1.0RC2编译不通过,于是降低版本,使用imagick-3.01

make && make && install

搞掂!

更新:

最终解决方法:

yum install pkgconfig

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

rm -rf Makefile config.status config.h

./configure

make

make install

继续阅读 »

重启inotify的办法

登录主文件服务器:
ps ax|grep inotifywait
然后kill掉当然的进程。
重新同步文件,并马上启动监听!
/root/inotify_init.sh
/root/inotify_monitor.sh > /dev/null 2>1&

继续阅读 »

记录修复因为停电而引起的mysql不同步问题

原来防火墙可能没有保存,停电重启也把防火墙重置了,需要重新添加,这次记得保存!

iptables -A INPUT -s 同步的IP -p tcp –dport 3306 -j ACCEPT
vi /etc/sysconfig/iptables
在倒数第二行之前添加
-A RH-Firewall-1-INPUT -s 同步的IP -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
保存退出。

service iptables save
service iptables restart
=============================================

启动mysql,show slave status发现以下错误信息:

fatal error 1236 from master when reading data from binary log: ‘Client requested master to start replication from impossible position’

是因为从服务器要求同步一个在主服务器上不存在的同步位置而引起的。解决方法就是把这个位置向前或向后移动。一般是向前移,因为这样可以尽可能地减少数据丢失。要这样做,必需在从服务器my.cnf中添加slave-skip-errors=all !

mysql>slave stop;
mysql>change master to master_host=’xxxxx’, master_user=’xxx’, master_password=’xxx’,master_log_file=’xxx-bin.000017′, master_log_pos=616000000;
mysql>slave start;
mysql>show slave status;

说明:
因为停电非法重启,主服务器上有数据丢失,原来pos为616726244,这个POS显然已经不存在了,所以我把POS提前到一个肯定存在的位置。

继续阅读 »

inotify-tools+rsync实时同步文件安装和配置

接上文.服务器A:论坛的主服务器,运行DZ X2论坛程序;服务器B:论坛从服务器,需要把X2的图片附件和MySQL数据实时从A主服务器实时同步到B服务器.MySQL同步设置会在下一编中说到.以下是用于实时同步两台服务器的图片.

因为一般的RSYNC需要CRON来定期运行SH脚本来实现同步,这样会带来一些问题.比如用户从主服务器上传上一个图片,需要最少一分钟才能从从服务器显示出来.自从Linux 2.6内核后,支持了inotify机制,当某些文件或文件夹有改变时,发出相应的事件,这样,第三方程序只要订阅这些事件,就可以处理相应的操作了.这时,只要有文件被修改,就执行一次RSNYN,把修改的文件主动地上传到另一台服务器上就可以了.

我使用的是google的inotify-tools,比较简单.国内有功能很强大的类似的程序,但是好复杂.另外需要注意的是:如果使用inotify-tools来实现实时同步,我们的主服务器–源文件服务器(也就是服务器A)实现是RSYNC的从服务器,我们的从服务器–目标同步的服务器(服务器B)才是RSYNC的主服务器.不要搞混了哦.

好了,开始吧!

继续阅读 »

Linux下如何查看系统版本

买过VPS的朋友都会需要知道自己的VPS到底是哪个版本,只要这么一行代码就可以了:

lsb_release -a
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.5 (Final)
Release: 5.5
Codename: Final

Description: CentOS release 5.5 (Final)

如上可见,这个系统是CentOS 5.5位发行版,

core-3.1-amd64 说明这个是64系统。

这个命令只对Readhat系列的系统有效,如CentOS

继续阅读 »

Linux+Nginx+PHP+MySQL+MemCached+eaccelerator安装优化记录

近日,某论坛因发展需要,增加了一台服务器,他们装好系统,叫我帮安装服务器环境,数据同步处理并希望做到负载均衡等。以下为过程记录。中间可能会有些过程被跳过,本来想写成教程的,但是年关已近,实在是太多事情需要处理。现只能先把记录发上来,以后看有没有时间重新整理成教程。

需要安装的软件:

Web服务器软件:Nginx 1.0.11
FCGI:PHP 5.2.17
数据库:MySQL 5.1.x(服务器A),MySQL 5.5(服务器B)
服务器优化:MemCached,eaccelerator,google-perftools
实时同步软件:rsync,inotify-tools

以下是两服务器可以相同的操作记录:

继续阅读 »

快速关闭selinux

快速关闭selinux只需要一行命令:

setenforce 0

继续阅读 »

第 1 页,共 2 页12