GMT-CMSP系统维护步骤整理
一、关闭前端各服务
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系统维护步骤整理的更多相关文章
- 机器学习 —— 基础整理(七)前馈神经网络的BP反向传播算法步骤整理
这里把按 [1] 推导的BP算法(Backpropagation)步骤整理一下.突然想整理这个的原因是知乎上看到了一个帅呆了的求矩阵微分的方法(也就是 [2]),不得不感叹作者的功力.[1] 中直接使 ...
- AnguarJS测试的实施步骤整理
最近开发用到了AngularJS,据说目前大型系统都用这个作为前端.最近参与的一个项目,web部分重度使用了AngularJS,整个前端架构有组织有纪律.所谓的有纪律就是说,有比较完善的测试用例,用上 ...
- SSH框架搭建详细步骤整理
学习Java面前有两座山,一座山叫SSM,一座山叫SSH,跨越了这两座山之后才能感受到这个语言的魅力所在,SSM框架的搭建详细在之前博客已经涉及了,今天来整理SSH框架详细步骤: 生有涯 而 学无涯 ...
- 机器学习 —— 基础整理(八)循环神经网络的BPTT算法步骤整理;梯度消失与梯度爆炸
网上有很多Simple RNN的BPTT(Backpropagation through time,随时间反向传播)算法推导.下面用自己的记号整理一下. 我之前有个习惯是用下标表示样本序号,这里不能再 ...
- Java死锁排查和Java CPU 100% 排查的步骤整理
================================================= 人工智能教程.零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助! 点击查看高清无码教程 == ...
- Linux(CentOS)下.NET,mono环境的安装步骤整理
本文Linux使用的是CentOS 7 1.软件下载 CentOS:https://www.centos.org/download/ mono-4.2.1.36.tar.bz2 http://down ...
- 基于微软hyper-v虚拟化服务器搭建方法和步骤整理
基于Microsoft基础设施私有云计算搭建 摘要:私有云是指组织机构建设的专供自己使用的云平台,它所提供的服务不是供他人使用,而是供自己的内部人员或分支机构使用,不同于公有云,私有云部署在企业内部网 ...
- Vue-路由配置和使用步骤整理
介绍 路由:控制组件之间的跳转,不会实现请求.不用页面刷新,直接跳转-切换组件>>> 安装 本地环境安装路由插件vue-router: cnpm install vue-rou ...
- ssh整合步骤整理
PackageUtil.createPackages(PackageUtil.changePath(System.getProperty("user.dir")));
随机推荐
- swift中的如果在构造方法中使用KVC, 调用了super.init(), 报错, 基本数据类型属性找不到
swift要求, 属性必须有初始化值, 如果不对其赋值, 可以加一个?系统会默认给其包装一个可选值(直说就是nil) 如果定义一个基本类型, 建议直接赋值, 不建议使用? 下面说下标题中的问题 有时候 ...
- ==和equals()方法的区别
==和equals()方法的区别 这是一道经典的面试题,但是很多人对其一直很困惑,最近刚好复习了他们两者的区别,现总结如下: 一.==:两端可以存放不同的数据 1.放基本数据类型:根据基本数据 ...
- linux sftp and unix ftp
sftp 1.功能作用 sftp 是一个交互式文件传输程式.它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性. 2.位置 /usr/bin/sftp 3.格式用法 sftp [-1246C ...
- apache加入chkconfig
#First Step: cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd #Second Step: vim /etc/init.d/htt ...
- Leetcode 之Same Tree(48)
用递归比较简单,这里用迭代的方式实现.注意什么时候返回true,什么时候返回false. bool isSameTree(TreeNode *p, TreeNode *q) { stack<Tr ...
- java中的数组与集合相互转换
1.数组转换成集合 数组转换为集合,用Arrays.asList方法. public static void main(String[] args) { String[] arr = {"a ...
- maven设置打jar包并引入依赖包
--------------------------------------------------------方法一:将jar包和项目打在一起---------------------------- ...
- HDU-2819
Swap Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 机器学习方法:回归(二):稀疏与正则约束ridge regression,Lasso
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. "机器学习方法"系列,我本着开放与共享(open and share)的精神撰写,目的是 ...
- ibatis的动态Mapped Statement 标签
动态Mapped Statement 直接使用JDBC 一个非常普遍的问题是动态SQL.使用参数值.参数本身和数据列都是动态的SQL,通常非常困难.典型的解决方法是,使用一系列if-else 条件语句 ...