博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GMT-CMSP系统维护步骤整理
阅读量:5009 次
发布时间:2019-06-12

本文共 4634 字,大约阅读时间需要 15 分钟。

一、关闭前端各服务

1、北京代理,韩国代理节点nginx
/etc/init.d/nginx stop
2、关闭WEB1,WEB2 NGINX和PHP
pkill nginx && pkill php-fpm
确认
ps xua|egrep 'nginx|php-fpm' |grep -v grep

二、nginx升级

1、配置nginx官方源
[root@web1 ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

2、web1升级nginx

原来的源码编译的nginx/0.8.38 太老,模块也没有,放弃
[root@web1 ~]# yum -y install nginx

3、配置文件复制进新的nginx配置文件目录

[root@web1 ~]# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf_bak
[root@web1 ~]# cp /etc/nginx/conf.d/default.conf /etc/nginx/default.conf_bak
[root@web1 ~]# cp /usr/local/nginx/conf/vhosts/* /etc/nginx/conf.d/
[root@web1 ~]# cp /usr/local/nginx/conf/nginx.conf /etc/nginx/nginx.conf
全局修改部分
[root@web1 ~]# vim /etc/nginx/nginx.conf
#include vhosts/*;
include conf.d/*;
4、打开nginx status
[root@web1 ~]# vim /etc/nginx/conf.d/default.conf
location /NginxStatus {
stub_status on;
access_log off;
allow 1.1.1.1;
allow 2.2.2.2;
deny all;
}
[root@web1 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

5、设置开机启动

rc.local删除
sed -i /nginx/d /etc/rc.local
[root@web1 ~]# chkconfig nginx on

6、需求变化

需求临时变化ticket站点不停
解决办法
include conf.d/*;
修改为include conf.d/*.conf;
要开发的ticket配置文件修改为.conf结尾
nginx.conf文件中只留需要的ticket站点配置,gm配置拿掉
kill掉老的nginx后立即开启新的nginx

三、mongodb同步
ssh 10.56.135.116
ssh 10.56.135.117
1、备份mongodb
mongodump -h 127.0.0.1:27017 -d ticketproxy -o /store/backup/mongo
注意mongodump后会引起php-fpm卡死,这也是做主从的原因。
物理备份
未做,因为ticket服务不能停
[root@db1 ~]# /etc/init.d/mongod stop
[root@db1 ~]#cp -a /var/lib/mongo/ /var/lib/mongo_bak/

2、主配置文件

[root@db1 ~]# cp /etc/mongod.conf ./
[root@db1 ~]# vim mongod.conf
master = true
[root@db1 ~]# /etc/init.d/mongod restart

3、从配置文件

[root@db2 ~]# /etc/init.d/mongod stop
[root@db2 ~]# rm -rf /var/lib/mongo/*
[root@db2 ~]# vim /etc/mongod.conf
slave = true
source = 10.56.135.117:27017
【使用插入的方式未成功】
db.sources.insert({ "host" : "127.0.0.1:27017"})

4、启动检查

[root@db2 ~]# /etc/init.d/mongod start
查看日志,看到是否同步
主从确认是否一样
> db.tickets.count()
91139

四、MYSQL准备工作

1、主mysql授权从服务器访问
GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO root@10.56.135.117 IDENTIFIED BY 'password';

2、关闭DB1 DB2

/etc/init.d/mysql stop
备份从服
mv /usr/local/server/data /usr/local/server/data_20130618_bak

3、从DB1拷贝全新数据到DB2

DB1的大小
[root@db1 ~]# du -sk /usr/local/server/data
7132856 /usr/local/server/data
[root@db1 ~]#scp -r /usr/local/server/data root@10.56.135.117:/usr/local/server/
防止 拷贝时候断开 这个放在后台执行
# jobs
[1]+ Running scp -r /usr/local/server/data root@10.56.135.117:/data/ &
DB2的大小
[root@db2 ~]# du -sk /usr/local/server/data
7132856 /usr/local/server/data
修改权限
chown -R mysql.mysql /usr/local/server/data

五、MYSQL同步

1、修改主服配置文件
注意:配置文件中不要出现与主机名相关的数据
mv /usr/local/server/my.cnf /etc/my.cnf
vim /etc/my.cnf
binlog-do-db=db1
binlog-do-db=db2
binlog-do-db=db3
binlog-do-db=db4
2、启动主mysql
3、启动从mysql
4、同步Position
查看主服务器Position
mysql> show master status;
+------------------+----------+-----------------------------------------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-----------------------------------------------------+------------------+
| mysql-bin.000005 | 2908 | db1,db2,db3,db3 | |
+------------------+----------+-----------------------------------------------------+------------------+
多看几次状态,确定Position没有变化,放置有一些后台程序在修改数据。
第一次就是因为crontab里任务没关闭,导致Position变化
从服务器设置主服务器信息,同步账号和Position
mysql> CHANGE MASTER TO MASTER_HOST='10.56.135.116', MASTER_USER='root',MASTER_PASSWORD='password',MASTER_LOG_FILE='mysql-bin.000006',MASTER_LOG_POS=2908;

5、启动slave功能

mysql> start slave;
mysql> show slave status\G;
查看是否正常

6、测试

在主服务器,选择一个库表,插入一条数据,看从服务器是否有,有则成功。

六、碰到的问题总结

1、需求临时变化,ticket站点不停
解决办法
include conf.d/*;
修改为include conf.d/*.conf;
要开放的ticket配置文件修改为.conf结尾
nginx.conf文件中只留需要的ticket站点配置,gm配置拿掉

2、mongdb同步

> use local
> db.sources.insert({ "host" : "10.56.135.116:27017"})
没有成功
原因未知:
后来在配置文件中配置成功

3、网站访问慢

打开网站页面很慢,chrome F12 NETWORK查看要10s
改变点
nginx 升级
mysql主从
mongodb主从
查询的站点涉及到数据库
首先排查nginx
nginx访问静态html页面很快
访问不查询mysql的数据库的php页面 phpinfo
访问速度也很快
问题是前端WEB1到后端DB1上面
mysql client 连接速度很慢
ssh 连接 建立起连接前也很慢
telnet 22/3306端口速度快
在维护前ssh也比较慢,应该不是网络问题
查看DB1 mysql错误日志
很多报错
could not be resolved: Temporary failure in name resolution
解决办法:节点添加下面两行
[mysqld]
skip-host-cache
skip-name-resolve

4、mysqld pid删除后脚本无法停止
获取mysqld的pid写入文件
echo $(ps xua|grep mysqld |grep -vE 'grep|mysqld_safe' |awk '{print $2}') >/usr/local/server/data/db2.pid
chown mysql.mysql /usr/local/server/data/db2.pid

转载于:https://www.cnblogs.com/diege/p/3144138.html

你可能感兴趣的文章
Spring Boot 系列教程5-热部署-devtools模块
查看>>
[原] 别人家老婆
查看>>
CentOS7忘记root密码
查看>>
C语言基础课第一次作业
查看>>
php字符串截取
查看>>
理解DP(持续更新)
查看>>
python 发送邮件
查看>>
yii2 phpexcel导出excel
查看>>
使用VC数据断点让你避免很多烦忧(转)
查看>>
后缀自动机
查看>>
ZZNU-OJ-2118 -(台球桌面碰来碰去,求总距离)——模拟到爆炸【超时】的不能AC的代码...
查看>>
Sunday串匹配算法 C语言实现
查看>>
学习方法
查看>>
Python成长笔记 - 基础篇 (二)python基本语法
查看>>
87JS原生:跑马灯效果
查看>>
6.方法_EJ
查看>>
html 字符串 生成 pdf 完美解决中文不显示
查看>>
记一次由于Java泛型类型擦除而导致的问题,及解决办法
查看>>
python列表逆序三种方法
查看>>
将笔记本变身WiFi热点
查看>>