Apache 自动关闭的问题:
以前遇到这问题…只会重启解决 , 而且Apache也没办法启动(除了重启机子). 发信询问Directadmin技术后 , 只需要清理ipcs信号即可
转自233wiki
官方原文:https://help.directadmin.com/item.php?id=572
只需要在 /etc/cron.hourly/ipcs_check 该文件(如果没有请创建) , 写入以下内容 (我稍微精简了一下 , 将发送邮件提醒部分去除了)
#!/bin/sh
MAX_SEMAPHORES=15
IPCS=/usr/bin/ipcs
IPCRM=/usr/bin/ipcrm
COUNT=`${IPCS} | grep apache | wc -l`
if [ "$COUNT" -le $MAX_SEMAPHORES ]; then
#all is well, there are no semaphore build-ups.
exit 0;
fi
#we have more than MAX_SEMAPHORES, so clear them out and restart Apache.
LIST=/root/sem.txt
${IPCS} | grep apache | awk '{print $2}' > ${LIST}
for i in `cat ${LIST}`; do
{
${IPCRM} -s $i;
};
done;
/etc/init.d/httpd restart
exit 1;
然后给该文件赋予执行权限 , 可执行以下命令赋予
chmod 755 /etc/cron.hourly/ipcs_check
并重启 , 如果问题依旧 . 请尝试更改内核参数 , 将一下两个参数追加到 /etc/systpl.conf 末尾即可
kernel.msgmni = 1024
kernel.sem = 250 256000 32 1024
Part II:
一. 升级到Custom Build 2.0
在SSH中执行以下命令即可升级到CB2.0 , CB2.0有大量新组件可用 (但是PHP5.2被废弃) . 升级耗时较长 , 请在screen里面执行 , 避免掉线中断
cd /usr/local/directadmin
mv custombuild custombuild_1.x
wget -O custombuild.tar.gz http://files.directadmin.com/services/custombuild/2.0/custombuild.tar.gz
tar xvzf custombuild.tar.gz
cd custombuild
./build
./build all d
./build rewrite_confs
二. 升级MySQL为MariaDB
升级过程中 , MySQL的数据将会被自动备份到 /usr/local/directadmin/custombuild/mysql_backups 中 , 升级失败会自动回滚
cd /usr/local/directadmin/custombuild
./build set mysql_inst mariadb
./build set mariadb 10.1
./build mysql
三. 将Apache替换成Apahce(后端)+Nginx(前端)
这样做好处非常多 而且没有坏处 , 可以直接使用.htaccess重写规则 . nginx的高并发能力 , 执行以下命令进行升级
cd /usr/local/directadmin/custombuild
./build set webserver nginx_apache
./build nginx_apache
./build rewrite_confs
四. 将php运行模式更改成php-fpm
php-fpm隔离性强 性能佳 跑php的不二选择, 执行以下命令进行更改
cd /usr/local/directadmin/custombuild
./build set php1_mode php-fpm
./build set php2_mode php-fpm
./build php
./build rewrite_confs