存档

‘linux相关’ 分类的存档

Plesk for Linux 安装Zend Optimizer

2009年3月18日 没有评论

今天在给一台linux 的plesk安装Zend Optimizer,全部默认安装,结果restart apache后php文件没法访问。查看apache的出错日志里面提示PHP Fatal error: [ionCube Loader] The Loader must appear as the first entry in the php.ini file in Unknown on line 0
后来仔细看了看plesk的php,发现用的是centos自带的php,就找到目录里面看发现是和plesk使用的Ioncube冲突。只要解决下先后加载顺序就行把php.ini里面的:

1
2
3
4
5
6
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.0
zend_optimizer.version=3.3.0
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

剪切然后修改etc/php.d/ioncube-loader.ini 添加到

1
zend_extension=/usr/lib/php/modules//php_ioncube_loader_lin_5.1.so

后面就ok了

linux ulimit参数介绍

2009年3月12日 1 条评论

在*NIX将TCP/IP也作为文件来访问,而一般系统默认的访问文件数是1024。如果是在运营级别服务器上面就需要调整系统的最大访问文件数来提高网络并发性能。
调整方法就是ulimit命令,比如ulimit -SHn 65535

ulimit 参数介绍:
-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes

一般可以设置 ulimit -SHn 65535
请注意,该命令只在当前shell环境下有效,而且只能由root权限来设置,一般可以放在需要启动服务的命令脚本里,另外,如果你是用root登录来启动服务的话,防止忘记这条命令,一般可以设置在~/.root 下的 .bash_profile 文件或者/etc/rc.local文件中,不建议在/etc/profile 中设置,因为该命令只有root用户有权限将数字增加到超过系统默认的上限(比如 -n 打开文件数 1024 )。

分类: linux相关 标签: ,

使用iptables防止ssh暴力猜解

2009年3月7日 没有评论

基于端口,使用iptables的connlimit模块

iptables -I INPUT -p tcp –syn –dport 22 -m connlimit –connlimit-above 2 -j REJECT

一条指令即可以搞掂, –connlimit-above 2表示只允许一个客户开启二个会话,与sshd_config 设置的区别,sshd_config只能设定一个用户最多尝试几次密码

同样也可以设定web服务访问设限

iptables -I INPUT -p tcp –syn –dport 80 -m connlimit –connlimit-above 30 -j REJECT
这样即可

分类: linux相关 标签:

CENTOS 5下双网卡实现网络的高性能HP和高可用HA

2009年3月7日 没有评论

高性能HP和高可用HA网络介面设定都是一样的
cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.10.104
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

区别设定文件/etc/modprobe.conf中的mode的值
mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。需根据交换机可提供的工作模式选择。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。
1.实现网络高性能HP则在/etc/modprobe.conf加入以下二行
alias bond0 bonding
options bond0 miimon=100 mode=0
2.实现网络高可用HA则在/etc/modprobe.conf加入以下二行
alias bond0 bonding
options bond0 miimon=100 mode=1

设好配置文件后,执行如下二条指令即可,无需重启系统
ldconfig
/etc/init.d/network restart

查看 ifconfig -a
bond0 Link encap:Ethernet HWaddr 00:E0:4C:B1:0F:5A
inet addr:192.168.10.104 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:4805 errors:0 dropped:0 overruns:0 frame:0
TX packets:2030 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:414775 (405.0 KiB) TX bytes:420723 (410.8 KiB)

eth0 Link encap:Ethernet HWaddr 00:E0:4C:B1:0F:5A
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:2105 errors:0 dropped:0 overruns:0 frame:0
TX packets:1194 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:182497 (178.2 KiB) TX bytes:240559 (234.9 KiB)
Interrupt:5 Base address:0×8000

eth1 Link encap:Ethernet HWaddr 00:E0:4C:B1:0F:5A
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:2706 errors:0 dropped:0 overruns:0 frame:0
TX packets:848 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:232638 (227.1 KiB) TX bytes:182028 (177.7 KiB)
Interrupt:9 Base address:0×6000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1078 errors:0 dropped:0 overruns:0 frame:0
TX packets:1078 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1487408 (1.4 MiB) TX bytes:1487408 (1.4 MiB)

分类: linux相关 标签: ,

linux下面启动network,startup eth0假死[没解决]

2009年3月5日 没有评论

昨天帮忙去给看了一台无法启动的linux主机,电话里说是启动网卡的时候显示eth0 什么错误之类的。
到哪里一看,是台联想万全的服务器,发现是启动到startup eth0提示ifcfg-eth0第x行:wq语法错误,然后就不动了,只能重启用逐个启动跳过了network进系统一看原来在ifcfg-eth0编辑退出的时候把:wq给写在里面了,汗。。。一直没重启所以没出问题。
改完重启,仍然发现在启动到startup eth0卡死,然后继续跳过network进系统手工启动发现eth0启动后显示出一堆类似网卡工作参数的内容后就没反应了。这时候切换到tty2测试网络没问题。说明网络已经工作正常了,只是启动的脚本假死。ps了一下发现最后有个awk的进程,感觉应该和网卡启动脚本有关,于是kill几次后tty1里面启动脚本显示ok了。在restart一下没问题,但是在尝试重启的时候还是这样,后来时间也晚了,也没地方查资料,感觉好像是awk的问题,所以把network改成了手动启动,放到了rc.local最后面,这样启动卡死至少所有服务和网络都正常了,能够远程ssh连上去操作和重启。

这问题蛮奇怪的,因为说之前是正常的,我看看网卡似乎也是用的内核自带的驱动,莫非问题出在awk上面?

分类: linux相关 标签: , ,

php动态方式加载gd编译方法

2009年2月18日 没有评论

首先安装好gd
假设gd是安装在/usr/local/gd2,php是安装在/usr/local/php-cgi的话

cd /usr/local/src/php-5.2.8/ext/gd/
/usr/local/php-cgi/bin/phpize
./configure –with-gd=/usr/local/gd2 –with-php-config=/usr/local/php-cgi/bin/php-config
make && make install

然后再修改php.ini文件
  手工修改:查找/usr/local/php-cgi/etc/php.ini中的extension_dir = “./”
  修改为extension_dir = “/usr/local/php-cgi/lib/php/extensions/no-debug-non-zts-20060613/”
  并在此行后增加以下几行,然后保存:
  extension = “gd2.so”

分类: linux相关, php相关 标签: , ,

x64位系统下php iconv函数输出空白问题

2009年2月18日 没有评论

接着昨天那个iconv问题继续研究,发现iconv函数数据输出为空。经过分析基本判断为gd库和iconv的冲突问题只要php编译中加入gd库支持就会导致这一情况,但是在x86系统里面缺完全没有这个问题,看来只是x64的问题。解决方法是把gd或者iconv作为作为动态模块加载,总之避免gd和iconv同时使用静态方式编译就行。ps:后来我发现我有一台x64的机器都是静态编译的但是就偏偏没有这个问题真是奇怪了。看来这问题还是有一定前提的

分类: linux相关, php相关 标签: ,

64位系统安装mysql提示libstdc++.so.5: cannot open shared object file问题

2009年1月7日 没有评论

今天在把博客的系统换成64位装mysql时提示:
error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
之前装32位习惯了yum -y install compat-libstdc++-33 后发现还是这样,才想起来是64位
重新yum -y install compat-libstdc++-33.x86_64 在安装就ok了
所以安装64位系统这些lib库可留心下把64位的也装了。

分类: linux相关, mysql相关 标签: ,

终于搞定了64位centos的nginx+php+mysql编译问题

2009年1月6日 没有评论

以前也是一时起兴,顺手试了试结果php configure的时候出错,就放在那一直也没空弄。
最近打算把部分虚拟机扩到8G内存测试下压力所以又把64的系统装起来再次尝试。
吃好晚饭忽然觉得有点头晕恶心,什么事情都干不了,就在那里翻config的log,结果发现原来是krb5没装,yum install krb5 krb5-devel后重新configure搞定。忽然发现头也不疼了哈哈。

虚拟机部署ifup提示RTNETLINK answers: File exists

2008年12月26日 没有评论

vmware vi3 部署centos虚拟机模板启动、ifup eth0的时候提示
RTNETLINK answers: File exists

经过检查原来是ifcfg-eth0中已经写了网关,但是用自定义规则部署虚拟机模板的自动又生成了一个route-eth0来指定网关,删除route-eth0后问题解决

分类: linux相关 标签: , , ,