基于LINUX下的智能电源,通过PBOX可执行远程管理,WEB终端管理的电源.调用LINUX系统下的ACIP的进程执行管理
九月 19, 2010
九月 17, 2010
shell 监控进程自动重启
#!/bin/bash
cd /var/data/mtwu
while true
do
runck=`ps -fe |grep “java -cp” |grep -v “grep” |wc -l`
if [ $runck -eq 0 ]; then
echo “run status stopting” >>/var/log/run.log
./run1.sh >/dev/null &
else
echo “run status starting” >>/var/log/run.log
fi
sleep 120
done
九月 15, 2010
resultset_is_needed = true
resultset_is_needed
in proxy.queries:append() a 3rd parameter is a (optional) table with options specific to the this packet.
If we want to have access to the resultset in the read_query_result() hook, you have to set resultset_is_needed:
proxy.queries:append( 1, ..., { resultset_is_needed = true } )
slave复制错误
slave复制错误
Description:
Slave_IO_Running: Yes
Slave_SQL_Running: No
Last_Errno: 1008
Last_Error: Error ‘Can’t drop database ‘t2′; database doesn’t exist’ on query. Default database: ”. Query: ‘drop database t2′
…
Seconds_Behind_Master: NULL
Resolve Solution:
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
mysql> set global sql_slave_skip_counter=1;
Query OK, 0 rows affected (0.00 sec)
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.3.21
Master_User: slave
Master_Port: 3307
Connect_Retry: 60
Master_Log_File: mysql-bin.000006
Read_Master_Log_Pos: 98
Relay_Log_File: mysqld-relay-bin.000018
Relay_Log_Pos: 235
Relay_Master_Log_File: mysql-bin.000006
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 235
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.00 sec)
当show slave status\G出现类似database doesn’t exist’的error时,都优先考虑使用如下三个步骤来恢复:
stop slave;set global sql_slave_skip_counter=1;start slave
九月 13, 2010
监控mysql 自动重启shell脚本
#!/bin/bash
MUSER=”root”
MPASS=”123456″
MRESET=”/etc/rc.d/init.d/mysql restart”
TOMCATRSET=”/var/soft/tomcat.sh”
MADMIN=”/usr/local/mysql/bin/mysqladmin”
while true
do
$MADMIN -u$MUSER -p$MPASS ping 2>/dev/null 1>/dev/null
if [ $? -ne 0 ];then
msg=”server is not respinse waring:127.0.0.1″
echo $msf >>/var/log/mysql.log
$MRESET >/dev/null && $TOMCATRSET
else
echo “mysql operating normally” >>/var/log/mysql.log
fi
sleep 60
done
这个是MYSQL的
从起玩MYSQL 也需要重启下TOMCAT 我的TOMCAT是负载
vi /var/soft/tomcat.sh
#!/bin/bash
/usr/local/tomcat/bin/shutdown.sh 2>/dev/null 1>/dev/null && /usr/local/tomcat6/bin/shutdown.sh 2>/dev/null 1>/dev/null
/usr/local/tomcat/bin/startup.sh 2>/dev/null 1>/dev/null && /usr/local/tomcat6/bin/startup.sh 2>/dev/null 1>/dev/null
九月 11, 2010
apache+mysql 优化
多次接APACHE+MYSQL的优化 参数老记不住 老跑网上差 遇到很多问题
今天我先说下吧
先修改APACHE的默认连接数 在apache下的HTTPD-MPM.CONF配置里面
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 20000
MaxClients 20000
MaxRequestsPerChild 10000
</IfModule>
以上参数内存16GB以上
修改MYSQL参数
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 402649088M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 32M
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
max_connections=1000
thread_cache_size=64
wait_timeout=31536000
注意THREAD_CACHE的算法 建议各位去GOOGLE搜索下了
修改ULIMIT的值
基本上这样是可以的16G内存 还是可以抗住一定的访问量
九月 7, 2010
centos mysql 主从读写分离完整版
以下文档部分是转载
一、环境
主机:
master操作系统:centos 5.3
IP:192.168.1.222
MySQL版本:5.0.77
从机:
slave操作系统:centos 5.3
IP:192.168.1.220
MySQL版本:5.0.77
二、创建数据库
分别登录master机和slave机的mysql:mysql –u root –p
创建数据库:create database repl;
三、master机和slave机的相关配置
1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下
在[mysqld]配置段添加如下字段
server-id=1
log-bin=log
binlog-do-db=repl //需要同步的数据库,如果没有本行,即表示同步所有的数据库
binlog-ignore-db=mysql //被忽略的数据库
在master机上为slave机添加一同步帐号
grant replication slave on *.* to ‘repl’@’192.1681.220′ identified by ’123456′;
重启master机的mysql服务:service mysqld restart
用show master status 命令看日志情况
mysql>show master status;
+—————–+————+——————-+———————–+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+—————–+————+——————-+———————–+
| log.000003 | 98 | repl | mysql |
+—————–+————+——————-+———————–+
1 row in set (0.00 sec)
2、修改slave机中mysql配置文件
同样在[mysqld]字段下添加如下内容
server-id=2
master-host=192.168.1.222
master-user=repl
master-password=123456
master-port=3306
master-connect-retry=60
replicate-do-db=repl //同步的数据库,不写本行 表示 同步所有数据库
然后重启slave机的mysql
在slave机中进入mysql
mysql>start slave;
mysql>show slave status\G;
如果Slave_IO_Running、Slave_SQL_Running状态为Yes则表明设置成功。
四、出现的问题
当我在执行start slave这条命令时,系统提示
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO,
执行show slave status;又提示Empty set (0.00 sec),想不通问题在哪里
后来发现,原来slave已经默认开启,要先关闭再开启
执行 slave stop;
再执行
change master to master_host=’192.168.1.222′,master_user=’repl’,master_password=’123456′, master_log_file=’log.000003′ ,master_log_pos=98;
然后执行 slave start;
这时 再执行show slave status\G
显示如下:
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.222
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: log.000003
Read_Master_Log_Pos: 98
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 229
Relay_Master_Log_File: log.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 229
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.00 sec)
显示红色那两行,说明配置成功。
五、测试主从服务器是否能同步
在主服务器上面新建一个表,必须在repl数据下
mysql> use repl
Database changed
mysql> create table test(id int,name char(10));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test values(1,’zaq’);
Query OK, 1 row affected (0.00 sec)
mysql> insert into test values(1,’xsw’);
Query OK, 1 row affected (0.00 sec)
mysql> select * from test;
+——+——+
| id | name |
+——-+——+
| 1 | zaq |
| 1 | xsw |
+——-+——+
2 rows in set (0.00 sec)
在从服务器查看是否同步过来
mysql> use repl;
Database changed
mysql> select * from test;
+——+——+
| id | name |
+——+——+
| 1 | zaq |
| 1 | xsw |
+——+——+
2 rows in set (0.00 sec)
说明已经配置成功。
九月 1, 2010
Centos5+Apache2tomcat6+jdk1.6整合安装
先编译安装MYSQL
tar xzvf mysql-4.0.24.tar.gz
cd mysql-4.0.24
./configure –prefix=/usr/local/mysql –with-charset=gb2312 –with-xcharset=all –with-charset=gbk –with-extra-charsets=gbk 指定安装目录 这个可以改
如果您要重新做你的configure,那么你可以键入rm config.cache和make clean来清除记录
make
make install (卸掉包是makeuninstall 剛學的)
cp support-files/my-medium.cnf /etc/my.cnf 将编译好的文件复制到/etc/底下
配置用户和组
useradd -d /usr/local/mysql/lib/mysql mysql 手工添加帐号并指定目录
cd /usr/local/mysql
bin/mysql_install_db –user=mysql 初始化数据库
chown -R root .
chown -R mysql var .
chown -R mysql .
bin/safe_mysql –user=mysql &
bin/mysql -u root 以ROOT身份登陆
编译好后mysql是手动启动这样很麻烦的 可以改为自动启动
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql
chkconfig -add mysql
chkconfig –level 345 mysql on 好了编译完了 嘿嘿
安装步骤:
jdk-6u3-linux-i586.bin
#chmod u+x jdk-6u3-linux-i586.bin
#./jdk-6u3-linux-i586.
ln -s /usr/local/jdk1.6.0_03 /usr/local/jdk
ln -s /usr/local/jdk1.6.0_03 /jre /usr/local/jre
#vi /etc/profile
加入以下几行
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CATALINA_HOME=/usr/local/tomcat
保存退出。
#source /etc/profile
java –version 查看jdk是否安装成功
httpd-2.2.6.tar.gz
#cp httpd-2.2.6.tar.gz /usr/local
#cd /usr/local
#tar zxvf httpd-2.2.6.tar.gz
#cd httpd-2.2.6
#./configure –prefix=/usr/local/apache –enable-module=so
#make
#make install
启动Apache,并测试。
# cd /usr/local/apache/bin
# ./apachectl start
打开浏览器,并在地址栏中输入主机的IP地址
apache-tomcat-6.0.14.tar.gz
#tar zxvf apache-tomcat-6.0.14.tar.gz
#cp –r apache-tomcat-6.0.14 /usr/local/tomcat
#/usr/local/tomcat/bin/startup.sh
打开
http://localhost:8080
验证tomcat可以启动
整和apache和tomcat
tomcat-connectors-1.2.25-src.tar.gz
#tar zxvf tomcat-connectors-1.2.25-src.tar.gz
进行编译配置。大家一定要注意这几个参数中前三个是很重要的,必要时可以去相应的目录看看相关的文件是否存在。
#cd tomcat-connectors-1.2.25-src/native
# ./ buildconf.sh
#./configure –with-apxs=/usr/local/apache/bin/apxs –with-tomcat=/usr/local/tomcat –with-java-home=/usr/java/jdk –with-jni
# make
# make install
#ll /usr/local/apache/modules/mod_jk.so
-rwxr-xr-x 1 root root 487769 8月 14 20:40 /usr/local/apache/modules/mod_jk.so
mod_jk.so生成成功了。
编辑apache的配置文件:
#vi /usr/local/apache/conf/httpd.conf
在末尾添加以下几行
# Load mod_jk module
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile /usr/local/apache/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the timestamp log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] ”
# JkRequestLogFormat set the request format
JkRequestLogFormat “%w %V %T”
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# Send servlet for context /examples to worker named worker1
#JkMount /examples/*.jsp worker1
JkMount /servlet/* worker1
# Send JSPs for context /examples to worker named worker1
JkMount /*.jsp worker1
创建文件workers.proferties
#vi /usr/local/apache/conf/workers.porperties
添加如下内容:
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/jdk
ps=/
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.connection_pool_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.lbfactor=1
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
5) 配置apache和tomcat的虚拟主机
首先APACHE的虚拟主机设置如下:
修改 conf/httpd.conf找到
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
修改为
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
然后编辑
conf/extra/httpd-vhosts.conf
加入下面的代码
ServerAdmin oasis.yan@intermobiz.com
DocumentRoot /data/www/test1
ServerName test1.ydjxc.com
DirectoryIndex index.jsp
ErrorLog logs/web_error_log
CustomLog logs/web_access_log common
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
ServerAdmin oasis.yan@intermobiz.com
DocumentRoot /data/www/test2
ServerName test2.ydjxc.com
ServerAlias localhost
DirectoryIndex index.jsp
ErrorLog logs/wap_error_log
CustomLog logs/wap_access_log common
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
备注:test1/index.jsp的内容如下:
同理为test2/index.jsp
注意:丢掉下面这段代码会提示403错误
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
其次Tomcat设置虚拟主机
编辑tomcat的配置文件server.xml
在后面添加如下代码
备注:其中这是两段虚拟主机的代码,红色部分为虚拟目录的配置,这样就可以访问
http://test1.ydjxc.com:8080/test2
http://test2.ydjxc.com:8080/test1
特别注意的地方:
在配置文件中找到:
讲其改为:
如果不改的话,输入:
http://ip:8080
就可以直接进入tomcat的管理界面了。
最后重新启动tomcat和apache,我们的安装就完成了
#/usr/local/tomcat/bin/shutdown.sh //关闭tomcat
#/usr/local/tomcat/bin/startup.sh //启动tomcat
centos 5 内存
主要需要2个方面设置
1.bios:在bios里开启对大内存的设置
2.安装支持大内存的kernel
centos 5.0 默认安装 for i386的内核不支持 4g+的内存
需要安装上kernel-hugemem
yum install kernel-hugemem
结果发现 centos 下面 没有 kernel-hugemem这个rpm包了
已经改名为kernel-PAE
尝试用yum安装
yum install kernel-PAE
后来查看安装光盘,发现亦可用以下命令直接安装(注意,我的安装光盘已复制到/home目录下):
rpm -ivh /home/CentOS/kernel-PAE-2.6.18-8.el5.i686.rpm
安装好后
more /boot/grub/grub.conf
如果看到如下代码 代表PAE内核已经安装好了
# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/md2
# initrd /initrd-version.img
#boot=/dev/md0
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.1.18.el5PAE)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.18.el5PAE ro root=/dev/md2
initrd /initrd-2.6.18-92.1.18.el5PAE.img
title CentOS (2.6.18-8.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/md2
initrd /initrd-2.6.18-8.el5.img
修改设置为默认启动
default=0
init 6,重启服务器
再执行top/free内存已经是4.1g了
# free
total used free shared buffers cached
Mem: 4138228 440908 3697320 0 49716 262556
#top
top – 17:19:32 up 2:43, 3 users, load average: 0.04, 0.02, 0.00
Tasks: 98 total, 1 running, 97 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4138228k total, 440784k used, 3697444k free, 49732k buffers
Swap: 8385784k total, 0k used, 8385784k free, 262556k cached