一、关闭前端各服务
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

GMT-CMSP系统维护步骤整理的更多相关文章

  1. 机器学习 —— 基础整理(七)前馈神经网络的BP反向传播算法步骤整理

    这里把按 [1] 推导的BP算法(Backpropagation)步骤整理一下.突然想整理这个的原因是知乎上看到了一个帅呆了的求矩阵微分的方法(也就是 [2]),不得不感叹作者的功力.[1] 中直接使 ...

  2. AnguarJS测试的实施步骤整理

    最近开发用到了AngularJS,据说目前大型系统都用这个作为前端.最近参与的一个项目,web部分重度使用了AngularJS,整个前端架构有组织有纪律.所谓的有纪律就是说,有比较完善的测试用例,用上 ...

  3. SSH框架搭建详细步骤整理

    学习Java面前有两座山,一座山叫SSM,一座山叫SSH,跨越了这两座山之后才能感受到这个语言的魅力所在,SSM框架的搭建详细在之前博客已经涉及了,今天来整理SSH框架详细步骤: 生有涯 而 学无涯 ...

  4. 机器学习 —— 基础整理(八)循环神经网络的BPTT算法步骤整理;梯度消失与梯度爆炸

    网上有很多Simple RNN的BPTT(Backpropagation through time,随时间反向传播)算法推导.下面用自己的记号整理一下. 我之前有个习惯是用下标表示样本序号,这里不能再 ...

  5. Java死锁排查和Java CPU 100% 排查的步骤整理

    ================================================= 人工智能教程.零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助! 点击查看高清无码教程 == ...

  6. Linux(CentOS)下.NET,mono环境的安装步骤整理

    本文Linux使用的是CentOS 7 1.软件下载 CentOS:https://www.centos.org/download/ mono-4.2.1.36.tar.bz2 http://down ...

  7. 基于微软hyper-v虚拟化服务器搭建方法和步骤整理

    基于Microsoft基础设施私有云计算搭建 摘要:私有云是指组织机构建设的专供自己使用的云平台,它所提供的服务不是供他人使用,而是供自己的内部人员或分支机构使用,不同于公有云,私有云部署在企业内部网 ...

  8. Vue-路由配置和使用步骤整理

    介绍 路由:控制组件之间的跳转,不会实现请求.不用页面刷新,直接跳转-切换组件>>> 安装 本地环境安装路由插件vue-router:    cnpm install vue-rou ...

  9. ssh整合步骤整理

    PackageUtil.createPackages(PackageUtil.changePath(System.getProperty("user.dir")));

随机推荐

  1. 【Educational Codeforces Round 22】

    又打了一场EDU,感觉这场比23难多了啊…… 艹还是我太弱了. A. 随便贪心一下. #include<bits/stdc++.h> using namespace std; ,ans=- ...

  2. [New learn] 设计模式

    本文翻译自:http://www.raywenderlich.com/46988/ios-design-patterns iOS设计模式 - 你可能听到过这个术语,但是你知道是什么意思吗?虽然大多数的 ...

  3. idea+spring+springmvc+mybatis+mybatis+maven

    使用SSM(Spring,SpringMVC和Mybatis) 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johns ...

  4. FineReport——权限分配以及自定义首页

    权限分配可以有两种方法,第一种方法是根据部门职位分配权限,第二种是根据角色分配权限: FR自带有三个JQ对象,用以保存用户名参数/角色参数/部门参数——$fr_username/$fr_authori ...

  5. leetcode 之Reverse Linked List II(15)

    这题用需要非常细心,用头插法移动需要考虑先移动哪个,只需三个指针即可. ListNode *reverseList(ListNode *head, int m, int n) { ListNode d ...

  6. Python使用with结构打开多个文件

    同时打开三个文件,文件行数一样,要求实现每个文件依次读取一行,然后输出,我们先来看比较容易想到的写法: with open(filename1, 'rb') as f1: with open(file ...

  7. Highcharts创建一个简单的柱状图

    新建一个html文件,将highcharts引入到你的页面后,通过两个步骤我们就可以创建一个简单的图表了. 1.创建div容器 在页面的 body部分创建一个div,并指定div 的 id,高度和宽度 ...

  8. 【JBPM4】任务form表单

    主要是在任务节点处保存一个链接地址(表单),方便在执行到此时取值,访问. 好处是XML可随时修改,部署. JPDL <?xml version="1.0" encoding= ...

  9. Java容器类解析

    1:集合 Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,默认长度是十 查询快,增删慢 add()时判断是否数组越界,数组扩容为原来的1.5倍 线程 ...

  10. bzoj 1485 卡特兰数 + 分解因子

    思路:打表可以看出是卡特兰数,但是模数不一定是素数,所以需要分解一下因数. #include<bits/stdc++.h> #define LL long long #define fi ...