一、mysql master slave的配置
master下的my.cnf模板
[mysqld]
server_id=1
log-bin=/usr/data/hengxindev102
binlog-do-db=cmac
#binlog-do-db=outrs
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set = utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set = utf8
slave上的my.cnf模板
[mysqld]
server-id=2
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
master-host=192.168.90.102
master-user=slaver
master-password=slaver
master-port=3306
#master_log_file=hengxindev102.000002
#master_log_pos=166
replicate-do-db=cmac
#replicate-do-db=outrs
装好后,初始化好mysql的用户,创建database,指定要同步的database;这时就可以启动同步配置了,也可以先各自导入数据后再做同步,另外最好为同步专门建一个同步使用的用户,slave库上屏蔽其他用户对同步database的写入权限。
分别启动master、slave后,可以进入查看slave同步是否正常,进入mysql的状态下
mysql>show slave status\G;
如有异常,到master上查看
mysql>show master status,可以查看到当前日志及同步的到的position
根据这些参数,重启slave
mysql>slave stop
mysql>change master to MASTER_HOST='x.x.x.x', MASTER_USER='slaver',
MASTER_PASSWORD='slaver', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=106;
mysql>slave start;
mysql>show slave status\G;查看是否正常同步。
二、mongodb replSet 略
三、samba服务
与之前相比,6.3下的samba的smb服务启动时,不会自动启动nmb服务,需要各自启动
service smb start
service nmb start
centos默认samba不能访问任何文件夹,需要通过改变文件夹安全属性获得访问权限,否则无法访问
chcon -R -t file /file //file是要共享的目录
当然还要在smb.conf加上配置代码。
四、防火墙
默认的/etc/sysconfig/iptables模板,安全性要求较高,开放一个端口,就要手动加入指定的端口配置,由于有些应用端口没有显示的说明,或是动态的新增端口会导致应用无法使用,可以拷贝低版本的iptables,重起防火墙服务,不用再每次配置新增端口。
五、jenkins及其插件安装
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins
rpm -qa jenkins
显示安装了jenkins-1.503-1.1.noarch
还需安装
ssh plugin
git plugin
在此之前还需在系统上安装git与maven
六、rsync安装与配置
1、配置/etc/rsyncd.conf
一个简单配置模板
#see rsync(1) and rsyncd.conf(5) man pages for help
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
lock file = /var/run/rsyncd.lock
motd file = /etc/rsyncd.motd
uid=root
gid=root
hosts allow=*
#192.169.90.22 192.168.90.23 192.168.90.24
[cmac]
path=/var/lib/jenkins/workspace/cmac/target/cmac
list= yes
auth users = root
secrets file =/etc/rsyncd.secrets
read only = no
设置rsyncd.secrets文件里,这里的用户名密码与专用与rsyncd与操作系统用户无关
/etc/rsyncd.secrets
完成后,可以把这个密码文件拷贝到各rsync客户端
以xinetd方式启动rsyncd
vi /etc/xinetd.d/rsync
disable = yes改成no
service xinetd restart
在客户端上测试一下
rsync -avzu [email protected]::capt /usr/local/webapp/capt --password-file /etc/rsyncdrootpwd
从服务端上同步文件,可实现增量同步。用途是可以在jenkins里实现增量发布。
七、升级到tomcat7引起的问题
1、总是提示icu4j.2.6.1.jar版本过低,而实际上项目并没有直接使用到这个jar包,删除也不起作用,再次发布又会生成,在pom.xml里引入高版本的话,发布时就生成两个版本的jar,还是报同样的错。花了大量时间
找问题,查看该文http://blog.csdn.net/eclipser1987/article/details/5737688,了解到mvn dependency:tree可以查看到详细的依赖关系信息,看到icu4j.2.6.1.jar是jaxen的一个依赖包,在jaxen描述里加上exlusion icu4j相关描述,maven发布里,不在加入icu4j.2.6.1.jar,困扰大半天的问题得到解决。
2、如果之前是tomcat6升级而来,一些优化参数项需要重新做一些调整,请参考tomcat ,否则在启动的时候会警告某些参数设置无效。详细配置参考tomcat7配置说明:http://tomcat.apache.org/tomcat-7.0-doc/config/
3、升级maven到3.0.5出现一堆version警告,使用
mvn versions:display-plugin-updates 根据信息更新pom.xml的version信息
八、centos6.3的网络配置
1、ifcfg-eth0参数NM_CONTROLLED="yes",不能置成no,否则重启后,不认外网,不认hostname,但低版本的centos本人一直配置成no,没有问题。
2、一个网卡对应多个ip的配置,不能eth3 eth3:0 eth3:1多个配置文件方式来配置,而是在eth3里直接这样配置
IPADDR
IPADDR2
NETMASK
NETMASK2
IPADDR3
NETMASK3。
九、时间服务中心
我们的需求是有一台时间服务器与国家授时中心同步,其他机器与我们自己的时间服务器同步,但在未搬迁之前,利用ntpd服务,其他机器与时间服务器之间的同步都正常,但时间服务器与国家授时中心却无法同步,导致一段时间后,整体时间都不准确。花了大半天查找此问题,最后才发现网管大人把ntpd的协议给屏蔽了,并得知本地机房有一台时间服务器。不过搬迁后,还得按原来的ntpd配置,需要一台ntpd做时间服务器,其他机器与时间服务器同步。
时间服务器(假定ip:192.168.0.1)配置模板/etc/ntp.conf:
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 210.72.145.44 #国家授时中心
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
ntp客户端模板
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.0.1
server 192.168.0.1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
也可以使用ntpdate 210.72.145.44(时间服务器地址)来同步时间,但在执行命令时必须停掉ntpd服务
如果觉的ntpd麻烦,那就在crontab里加入ntpdate来实现类似的时间同步服务。
十、centos6.3字体问题
由于服务端需要在后台打开firefox并且精确的抓取ff页面上的内容,但令人伤心的是centos6.3上的ff默认的页面字体不准确,与低版本的centos相比,两者提供的字体库相差很大,而且6.3不再提供chkfontpath,也不需要xfs服务。centos6.3的ff总是把楷体变成黑体,反反复复的试验,删除掉/usr/share/fonts/下的所有字库,把低版本的拷贝进来,字体有发生变化,但还是不准确,又到/etc/X11/fontpath.d下删除掉所有软链接,加入与老版本字体库一样的字库链接,由于低版本的centos通过xfs服务的方式,因此没办法做到一样的实现方式。反复的试了一整天,还是没得到想要的结果,虽然按着低版本,有改进了页面的效果,但跟实际的页面效果还是不一致。
在洗把脸准备上床睡觉之前,/usr/share/fonts下建了一个目录myfonts,决定把c:/windows/fonts都拷上去,竞然可以了。因为这个方法一早就试了一把,可能是操作没成功,竞就错过了正解的方法,白白浪费一天时间。做个记号。