坚信科学,分享技术

2018全新版本,未来在blog.54chen.com更新博客!

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Category Archives: linux

linux qq的问题,ubuntu的问题,linux常用命令的问题,都在这个分类里能找到解答.

企业github之高仿选择-gitlab使用实录

自从上周使用git-svn以来(http://www.54chen.com/_linux_/git-svn.html),一发不可收拾,于是在偶然的机会发现了gitlab这个不错的选择(可以想象成是github的公司自己搭建的内部版本),还有什么理由继续使用svn+redmine+wiki! @有个梨UGlee 一个人,20年,单枪匹马的干翻了整个计算工业。如果你是程序员,还没有在他写的操作系统上工作,或者还没有开始使用他缔造的版本管理系统,那么你还是趁早改行吧,你干这行是没希望的。 安装 用ubuntu,让生活更加轻松。 root@ubuntu-chenzhen:/home/gitlab/gitlab# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04 LTS Release: 12.04 Codename: precise 请打开以下地址并收藏:https://github.com/gitlabhq/gitlabhq/blob/stable/doc/install/installation.md 所有的安装只需要一步一步按照说明做就可以完成。以下记录一些中国特色的安装过程。 中国特色 1.安装ruby1.9.3p0 不要下了,打不开的(原因你懂的)。 直接 apt-get install ruby1.9.3 2.补充安装bundler 装完ruby就有gem了,然后把源改在淘宝: gem source -r http://rubygem

Continue reading

Posted in linux | Tagged | 1 Comment

git svn使用手记

以下是一个淡疼的记录,因为从linkedin归来的宝秋叔大力推荐git,而我们现在的代码大多在svn中,所以就有了这一段故事。 一、同步回来svn $git svn clone https://miliaocode/repos/project -T trunk -b branches -t tags 然后进入漫长的等待。 -T trunk -b branches -t tags 告诉 Git 该 Subversion 仓库遵循了基本的分支和标签命名法则。如果你的目录下没有三个标准目录的话还是不要加了。 二、完成同步之后 localhost:xxx chenzhen$ git branch -a * master remotes/git-svn localhost:xxx chenzhen$ git show-ref ecf28daf78732c0538a99e206bd9e6e32cbd1ff3 refs/heads/master ecf28daf78732c0538a99e206bd9e6e32cbd1ff3 …

Continue reading

Posted in linux | Tagged , | Leave a comment

redis 测试办法tclsh入门手记

一 什么是tclsh tool command language terminal control language 看上去两个都是。tcl和c语言有着天然的亲缘关系,相近的数据类型与控制结构,通过规范的 api,可以比较方便的用c进行tcl的扩展开发,当然不在本文的讨论范围。 二 变量 任何字符串均可作变量名。甚至空格也可以作为变量名。 三 变量赋值 set Name xxxxx set Name "xxxxxxx" 四 数据类型 实际上只有一种数据类型:字符串 数值计算只能用在expr命令中: %expr abs(sin($x)) 输出时非常类似C语言:set x [format "hello %-8.2f!" $y] 五 特殊的字符 $ 异常变量的值 [] 展开一个命令的值 "" …

Continue reading

Posted in linux | Tagged , | 3 Comments

神器monit监控报警设置手记

系统监控工具monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于Unix平台。它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。 安装 centos: yum install monit ubuntu: apt-get install monit 使用 配置文件在/etc/monit.conf 配置发邮件的smtp服务器 set mailserver 111.111.111.111 USERNAME "xxx@xiaomi.com" PASSWORD "54chen54chen" 配置服务检测的周期 set daemon 30 30秒检查一次 配置报警邮件格式 set mail-format { from: ALERT subject: $SERVICE $EVENT at $DATE message: Monit $ACTION $SERVICE …

Continue reading

Posted in linux | 2 Comments

用supervisord管理杂乱的服务

Supervisord是用Python实现的一款非常实用的进程管理工具,在批量服务化管理时特别有效。 环境 centos python2.4 安装 wget http://pypi.python.org/packages/source/s/supervisor/supervisor-3.0a10.tar.gz#md5=99c6fbd45bade87301296b7a597fb68e tar zxvf supervisor-3.0a10.tar.gz cd supervisor-3.0a10 python setup.py install 如果上述遇到问题,请按如下操作。 依赖setuptools安装 wget http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg#md5=bd639f9b0eac4c42497034dec2ec0c2b sh setuptools-0.6c11-py2.4.egg 产生基础配置文件 echo_supervisord_conf > /etc/supervisord.conf 配置 [inet_http_server]前面的分号去掉; 定义port=192.168.1.1:8888 启动 supervisord -c /etc/supervisord.conf 查看 浏览器打开 http://192.168.1.1:8888 深入配置 [program:service] command=sh /opt/soft/service/run.sh

Continue reading

Posted in linux | Tagged | 1 Comment

巧用交换机,瞬间切流量

需求: 1号机服务移到2号机,然后要把1号机搬走。 原理: 交换机有ip对应mac地址的缓存,只需复制到ip和mac,可以在机房内的局域网里瞬间切换到另一个机器上。 操作: 1)在2号机准备好1号机的服务,并测试通过。记录1号机的mac和ip 2)以下操作要双开窗口,快速操作 3)在1号机执行:ifocnfig eth0 down 4)在2号机执行: ifconfig eth0:0 123.123.123.1 ifconfig eth0:0 hw ether 111111111111[1号机mac] ifconfig eth0:0 up 5)恭喜成功了! 6)搬走1号机,再也不要回来! 7)在2号机/etc/rc.local里添加: ifconfig eth0:0 123.123.123.1 ifconfig eth0:0 hw ether 111111111111[1号机mac] ifconfig eth0:0 up 终。

Continue reading

Posted in linux | Tagged , | 2 Comments

分布式日志系统scribe使用手记

scribe 是facebook 开源的分布式日志系统 。其使用了thrift传输log,由于使用thrift,所以不论是什么语言的项目都可以实现日志收集,可达到远程或者是本地同步远程的分布式日志收集效果,在其示例配置中,并发量可达到max_msg_per_second=2000000,对普通的应用来说,每秒上百万的访问量可能性很小,因此基本上即使最简单的配置,远程收集所有项目的log也是可靠的,如果压力大的话,可以采取主从的配置,将日志打到本地后由scribe的主从配置来自动同步。下面讲述如何安装和使用scribe。 下载boost、thrift、scribe boost_1_45_0.tar.gz thrift-0.5.0.tar.gz facebook-scribe-2ee14d3.zip 通过yum安装需要的依赖 yum install libevent libevent-devel python-devel yum install gcc-c++ yum install automake yum install byacc flex 安装boost tar -zxvf boost_1_45_0.tar.gz cd boost_1_45_0 ./bootstrap.sh ./bjam install --prefix=/opt/soft/bootstrap 安装thrift-0.5.0 tar zxvf thrift-0.5.0.tar.gz ./configure --with-php-config=/opt/soft/php/bin/php-config &hel

Continue reading

Posted in linux | Tagged , | 13 Comments

把手机当无线网卡-andriod usb0 ssh tunnle

小公司人员增长快,随着台式机日益加多,网速越来越慢,而wifi使用者却还不慢。于是就有了本文。 android手机通过usb共享网络很简单,只需要连上usb线后在手机设置里找到共享手机网络,打开即可。但是本文并非教如何连接usb线的。 图1 usb绑定设置pc共享android手机上网 ubuntu共享上网后,会发现连接不了线上的ssh,会等半天,报出no ruote。猜测是因为andriod手机的安全设置所致。其实本文重点讲如何ssh的。 先用android下载一个支持ssh的工具:connectbot。 打开软件,同时打开ubuntu,执行下面的语句安装sshd服务: apt-get install openSSL 然后启动sshd服务。 在connectbot中填写ubuntu机器ip,输入密码,ssh到ubuntu机器。 图2 用connectBot登录pc 这时按下菜单键,选择端口转发。选远端端口,填写2222,转发到192.168.1.1:22,确定以后,这个转发就建立了。 图3 connectBot端口转发 然后到ubuntu上执行ssh 127.0.0.1 -p2222 图4 我建立的端口转发 回车,输入192.168.1.1的密码,大功告成,成功利用端口转发打通了andriod手机共享usb0共享上网时的ssh。 关于ssh tunnel,详细见:http://www.54chen.com/_linux_/the-temporary-break-with-the-ssh-tunnel-restriction-cross-room.html

Continue reading

Posted in linux | Tagged , , , | 1 Comment

ubuntu下Empathy十月起无法登录msn的解决办法

作为ubuntu深度用户,我(54chen)在几个星期前就有网友来问过,msn登录常常会挂掉,甚至到现在已经无法再登录,受影响的范围很广,最新的10.10也是一样的,原因可能是msn单方面更新了接口,下面提供一种解决办法(以10.04lts Empathy 2.30.1.1 为例): #vim /usr/share/pyshared/papyon/service/description/SingleSignOn/RequestMultipleSecurityTokens.py 找到第24行注释掉: #CONTACTS = ("contacts.msn.com", "?fs=1&id=24000&kv=7&rn=93S9SWWw&tw=0&ver=2.1.6000.1") 修改为: CONTACTS = ("contacts.msn.com", "MBI") (请勿复制,引号有转义) 然后重启,恭喜你msn高昂登录。 附: ubuntu下empathy的msn群显示昵称 点击下载我修改过的文件: http://www.54chen.com/RequestMultipleSecurityTokens.py.gz gunzip RequestMultipleSecurityTokens.py.gz sudo cp RequestMultipleSecurityTokens.py /usr/share/pyshared/papyon/service/description/SingleSignOn/

Continue reading

Posted in linux | Tagged , , | 1 Comment

国内互联网公司数据库访问层调查

在WEB开发中,数据库的数据读写和传输一向是瓶颈,在此基础上的解决方案基本都是数据库连接层的设计,一个公司数据库连接层的牛B与否可以标识这个公司的全局规划的“工艺水平”到达一个什么样了。下面的内容来自明查暗访,决无BS之意,旨在提供给需要统一规划整体架构的架构师一个帮助。 54chen声明:本文所有内容本着技术分享的原则,收集资料皆来自网络,绝不透露不该透露的内容,绝不隐藏不该隐藏的内容(阿弥托佛,资本家万岁)。 1.人人网 参考:http://ugc.renren.com/2009/12/28/renren-ice-problem/ 关键词:ice中间层,统一配置数据源,开发者不关心分库分表 与很多大型的网站一样,人人网的系统全部是由开源软件构建的。使用Nginx做前端接入,resin做容器,Memcached做通用 cache,MySQL做数据库,使用Linux操作系统。 除了上述的部分外,人人网还有一个与众不同的中间层。中间层以服务的形式存在,位于MySQL和resin中间,提供高并发低成本的数据访问层。 2.百度 参考:http://wenku.baidu.com/view/9daa2b8102d276a200292e9c.html 关键词:dbproxy,服务器都是flash卡,DBA与开发者都不关心分裤分表(半自动) 百度的dbproxy利器,将mysql的管理半自动化,HA等功能一应俱全,再加上SSD等硬件支持,性能相当不一般。 3.盛大-技术保障中心 参考:网友 关键词:无中间件,每个系统一个数据库,开发者严重关心分库分表 4.新浪 参考:网友 关键词:无

Continue reading

Posted in linux, 架构研究 | Tagged , | 5 Comments
Page 2 of 101234510...Last »