月度归档:2013年01月

Nginx ngx_http_flv_module模块基本指令整理

原创文章,转载请指明出处并保留原文url地址

本文主要针对nginx的ngx_http_flv_module模块做简单介绍,本文具体包括如下指令:

Flv

ngx_http_flv_module模块针对flv文件提供一种server端的伪流支持。

这个模块处理来自用户的相关flv请求的特定查询字符串,通过发送请求中从偏移量开始的后面的相关数据给客户端, 并且在数据前面填写相关flv请求。

这个模块不是内建模块,听应该被通过--with-http_flv_module配置开关打开编译选项。

配置例子:

location ~ \.flv$ {

flv;

}

Nginx原文:

The module ngx_http_flv_module provides pseudo-streaming server-side support for Flash Video (FLV) files.

It handles requests with the start argument in the request URI’s query string specially, by sending back the contents of a file starting from the requested byte offset, and with the FLV header prepended.

This module is not built by default, it should be enabled with the --with-http_flv_module configuration parameter.

Example Configuration

location ~ \.flv$ {

flv;

}

1. flv

syntax:flv;
default:
context:location

在当前location里使用这个模块处理请求。

Nginx原文:

Turns on module processing in a surrounding location.

linux centos下配置mysql主从同步的步骤

来源:互联网

 

linux 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)
说明已经配置成功。

Nginx ngx_http_empty_gif_module模块指令整理

原创文章,转载请指明出处并保留原文url地址

本文主要针对nginx的ngx_http_empty_gif_module模块做简单介绍,本文具体包括如下指令:

empty_gif

ngx_http_empty_gif_module模块产生单像素透明的gif图片

配置例子如下

location = /_.gif {

empty_gif;

}

Nginx原文:

The module ngx_http_empty_gif_module emits single-pixel transparent GIF.

Example Configuration

location = /_.gif {

empty_gif;

}

1. empty_gif

syntax:empty_gif;
default:
context:location

在当前location里使用这个模块处理请求。

Nginx原文:

Turns on module processing in a surrounding location.

 

单像素透明的gif图片有什么作用?下面是一个作用:

单像素的GIF文件控控制文本位置

要想准确的控制HTML中的文本位置,可以做一个1*1的透明图(如Blank.gif)。然后在HTML中加入代码:
<img src="Blank.gif" hspace=100>
改变数字100,即可控制

这样才叫职业化

人都是要生存, 生存就要工作, 至少大多数人都是要工作的, 我们工作中有各种各样的情况, 有的很微妙, 职场中遇到的问题你都处理好了吗?下面的一个学习资料很好,主要就是关于这个方面的, 强烈推荐给大家。

这个资料是视频的, 建议大家去下载视频资料, 然后转换成手机可以观看的版本, 在上下班路上慢慢观看。

其实职场同学习都是一种经历,我们必须面对的, 我们要正确面对他, 你就经历了, 你收获了, 你快乐了,你成长了。。。

愿大家,天天都有进步, 每天进步一点点。。。

视频下载地址如下,  请下载后, 24小时内删除

http://pan.baidu.com/share/link?shareid=57735287&uk=2736979457

在线视频如下:

http://www.youku.com/playlist_show/id_5132575.html

http://www.56.com/redian/MTQwNjQ3Nw/NzQ2NDA4MzM.html

两个都可以

下面是网络上的相关介绍

wps_clip_image-12900[3][1]

职场,一片深不见底的江湖,危机暗藏,十面埋伏。人在江湖,咬着牙挡箭挨刀几乎可以说是你的本分,疼了就呻吟几声、抱怨几句,顶多卷起铺盖另投别的帮派门下。除此之外,又能如何?

也许大多数初入职场的人,甚至不少在职场颇混了些年头的人,都或多或少怀有类似的抑郁和无奈。

但是,一个爱看电影的资深职业人告诉我们:身在职场,其实还可以有更好的活法!这个人的名字,叫做“影得”。

电影,看不尽的俊男靓女,说不完的跌宕起伏,是不折不扣让人轻松愉快的东西。但除此之外,经典的电影中还蕴含着现实生活的发展规律,以及险恶江湖的游戏准则。找到了,悟透了,便可以成为你的能量和智慧,帮你走得更远、更潇洒、也更精彩。况且,和传说中的武功秘籍、神兵利器相比,电影简单得多,有趣得多,也成本低廉得多。

用电影来参悟职场规则,给身在职场的人们以切实有效的指引,这就是“影得”所做的事情,也是这本书要做的事情。

有人可能会抗议:“这么说也太玄了吧?”

好,那么咱们就换个更实在一点也更直观一点的说法。

本课程是帮助职场中遇到困惑的员工,换一个角度审视这片江湖——从组织视角,弄明白以下几个问题:

◎ 想不想到江湖闯荡?

——人生工作30年,不是想不想的问题,是不得不的问题!

◎ 江湖险不险恶?

——职场多风雨,组织不可靠。那是因为不了解组织的规则!

◎ 赢在江湖容不容易?不容易!

——笑傲江湖是个梦。是因为没有修炼出手中和心中的宝剑!

6小时轻松的“寓教于影”为你打开一扇奇妙的窗子,让你从另一个角度审视职场这片江湖,揭示种种让人崩溃的烦恼背后潜藏的症结,帮你找到在职场实现自我成就的不二法门。而你所要做的,只是敞开你的心,让课中的灵感和思想流淌到你的生活和工作之中。仅此而已。

编辑本段书摘目录

《这样才叫职业化--四张职业通行证》内容简介

◎掌握引导员工“正确归因”的方法——鼓励员工正视现实的“不爽”,引导其思考自身的缺失和可改进空间;

◎第一张通行证:明确要求 向员工明确组织4类要求的内含——指令性要求、职责性要求、期望性要求和职业道德要求;

◎第二张通行证:行为职业化 要达到职业化员工自身要做的6项修炼

◎第三张通行证:做一个有影响力的人 帮助员工分析影响力缺失的原因,并帮其寻找到4种力量

◎第四张通行证:勇挑重担 向员工明确不是所有人都会被组织器重,帮助员工解开被组织器重的密码。

第一讲 工作中的最佳状态(上)

第二讲 工作中的最佳状态(下)

第三讲 明确单位对我的要求(一)

第四讲 明确单位对我的要求(二)

第五讲 明确单位对我的要求(三)

第六讲 明确单位对我的要求(四)

第七讲 做职业化与有影响力的人(一)

第八讲 做职业化与有影响力的人(二)

第九讲 做职业化与有影响力的人(三)

第十讲 做职业化与有影响力的人(四)

第十一讲 挑起重担(上)

第十二讲 挑起重担(下)

MySQL主从同步加速 Transfer– FAQ

来源:互联网
Q: Transfer是什么

A: 是一个解决MySQL原生主从同步延迟的方案。 Transfer本身是一个在MySQL源码上打的patch,可以用于当Slave,也可以用于当第三方工具,将Master的数据同步发给Slave。 利用多线程实现主从无延迟。

Q: Transfer目前的发布形式?

A: Transfer会在今年内开源,目前的发布形式是可执行的mysqld文件。 有两个版本,分别是官方的5.1.48 和 Percona Server 5.5.18.

Transfer.MySQL.5.1.48

最后更新日期 2012.10.18 (不再更新,请使用5.5版本)

Transfer.Percona.5.5.18 下载地址  md5:  2adda06edbc731278f4a8eb265a20fc9

最后更新日期 2012.12.11

(下载后先对一下md5 ^_^)

Q: Transfer是否会改变主库上的binlog在从库上的执行顺序,导致数据不一致?

A:会改变执行顺序。但Transfer保证对于相同记录的操作都是按顺序的,因此不会导致数据不一致。

Q: 我使用了transfer模式,但是transfer的错误日志为什么一直在输出 "trans->inner_events 3",而从库上没有更新?

A: Transfer启动前需要保证Transfer里面要有与slave上相同的表和表结构,请先确认下,若无,则需要从slave把schema都dump 过去。

Q: 我用的是mysql5.1.48版本,我在transfer里面建表的时候会core dump

A: 若你用的是innodb_plugin版本,还需要替换ha_innodb_plugin.so.0.0.0 (lib/mysql/plugin 目录下) 下载地址

Q: 需要配置上做什么改变

A:请参考此文 http://dinglin.iteye.com/blog/1670656

Q: 对主从库有什么配置限制

A:有以下限制

1) 主库的binlog格式必须是row

2) 主库的表必须有primary key

3) 从库的 max_allowed_packet建议改为1G。主库的单个事务大小不能超过max_allowed_packet

Q: 我覆盖了mysqld后,Transfer整个实例起不来?

A:先确认一下mysqld是否有可执行权限, 若无,执行 chmod 755 mysqld.

Q: 我用slave模式,能够随时替换回原来的版本吗?

A: 如果要随时替换回原来的版本,可以把增加的参数都加上loose_前缀,这样替换mysqld,重启,start slave,就可以了。

Q: 什么情况下不适合用Transfer?

A: 其实一个简单的原则,如果你的原生从库不延迟,就不需要用(貌似是废话).

Q: 如何监控transfer是否延迟

A: 在Transfer里面检测是否同步请用 Master_Log_File=Relay_Master_Log_File 且 Read_Master_Log_Pos=Exec_Master_Log_Pos

Q: 我的测试场景下transfer的TPS比原生的还慢?感谢 @-周博

A:  若是从空表开始压力,并且你的BP开很大,io性能很好,更新语句简单,qps很高(这个case里是12w/s),此时单线程完全能够执行得飞快。Transfer模型中的生产+消费环节和多线程争用反而会导致性能下降(在这个case里面是6w/s)。

在实际线上场景中,更多的情况是io瓶颈,此时才能利用好多线程的效果,Transfer的效果才能体现出来。在我们一个线上场景的测试中是原生500/s,用Transfer后6000/s.

PS: 个人比较建议用源码安装,Percona Server的

我的cmake参数

CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
CXX=gcc
CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
export CFLAGS CXX CXXFLAGS
#cmake . -DCMAKE_INSTALL_PREFIX=/home/dingqi.lxb/mysql5 -DEXTRA_CHARSETS=all
cmake . \
-DCMAKE_BUILD_TYPE:STRING=Release             \
-DSYSCONFDIR:PATH=/home/mysql5            \
-DCMAKE_INSTALL_PREFIX:PATH=/home/mysql5  \
-DENABLED_PROFILING:BOOL=ON                   \
-DENABLE_DEBUG_SYNC:BOOL=OFF                  \
-DMYSQL_DATADIR:PATH=/home/dingqi.lxb/mysql5/data    \
-DMYSQL_MAINTAINER_MODE:BOOL=OFF              \
-DWITH_EXTRA_CHARSETS:STRING=all  \
-DWITH_BIG_TABLES:BOOL=ON \
-DWITH_FAST_MUTEXES:BOOL=ON \
-DENABLE-PROFILING:BOOL=ON \
-DWITH_SSL:STRING=bundled                     \
-DWITH_UNIT_TESTS:BOOL=OFF                    \
-DWITH_ZLIB:STRING=bundled                    \
-DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON       \
-DWITH_PLUGINS=heap,csv,partition,innodb_plugin,myisam \
-DDEFAULT_CHARSET=gbk -DDEFAULT_COLLATION=gbk_chinese_ci -DWITH_EXTRA_CHARSETS=ALL \
-DENABLED_ASSEMBLER:BOOL=ON                   \
-DENABLED_LOCAL_INFILE:BOOL=ON                \
-DENABLED_THREAD_SAFE_CLIENT:BOOL=ON          \
-DENABLED_EMBEDDED_SERVER:BOOL=OFF             \
-DWITH_CLIENT_LDFLAGS:STRING=all-static                 \
-DINSTALL_LAYOUT:STRING=STANDALONE            \
-DCOMMUNITY_BUILD:BOOL=ON;